45173a46d6377c8ce6f31621eb05fa132f760397
[gnulib.git] / ChangeLog
1 2012-06-24  Bruno Haible  <bruno@clisp.org>
2
3         ptsname test: Extend test.
4         * tests/test-ptsname.c: Include <errno.h>.
5         (main): Test behaviour with invalid file descriptor.
6
7 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
8
9         time: fix obsolete comment
10         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
11         reference to HAVE_STRUCT_TIMESPEC in comment.
12
13 2012-06-23  Bruno Haible  <bruno@clisp.org>
14
15         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
16         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
17         does not handle abbreviated long options with equivalent
18         disambiguations, set gl_replace_getopt to yes.
19         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
20
21 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22
23         time_r: fix typo that always overrode localtime_r decl
24         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
25         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
26         not in a standard include.
27
28 2012-06-22  Bruno Haible  <bruno@clisp.org>
29
30         Write "Mac OS X" instead of "MacOS X".
31         * README: Write "Mac OS X" instead of "MacOS X".
32         * build-aux/bootstrap: Likewise.
33         * build-aux/install-reloc: Likewise.
34         * lib/acl-internal.h: Likewise.
35         * lib/acl_entries.c: Likewise.
36         * lib/argp-ba.c: Likewise.
37         * lib/argp-pv.c: Likewise.
38         * lib/config.charset: Likewise.
39         * lib/copy-acl.c: Likewise.
40         * lib/csharpexec.c: Likewise.
41         * lib/euidaccess.c: Likewise.
42         * lib/fbufmode.c: Likewise.
43         * lib/fflush.c: Likewise.
44         * lib/file-has-acl.c: Likewise.
45         * lib/filemode.h: Likewise.
46         * lib/fpurge.c: Likewise.
47         * lib/freadable.c: Likewise.
48         * lib/freadahead.c: Likewise.
49         * lib/freading.c: Likewise.
50         * lib/freadptr.c: Likewise.
51         * lib/freadseek.c: Likewise.
52         * lib/fseeko.c: Likewise.
53         * lib/fseterr.c: Likewise.
54         * lib/fsusage.c: Likewise.
55         * lib/fwritable.c: Likewise.
56         * lib/fwriting.c: Likewise.
57         * lib/get-rusage-as.c: Likewise.
58         * lib/get-rusage-data.c: Likewise.
59         * lib/getdomainname.c: Likewise.
60         * lib/idpriv-drop.c: Likewise.
61         * lib/idpriv-droptemp.c: Likewise.
62         * lib/localcharset.c: Likewise.
63         * lib/locale.in.h: Likewise.
64         * lib/localename.c: Likewise.
65         * lib/mbsrtowcs-state.c: Likewise.
66         * lib/nproc.c: Likewise.
67         * lib/passfd.c: Likewise.
68         * lib/posix_openpt.c: Likewise.
69         * lib/printf-parse.c: Likewise.
70         * lib/progreloc.c: Likewise.
71         * lib/safe-read.h: Likewise.
72         * lib/safe-write.h: Likewise.
73         * lib/sched.in.h: Likewise.
74         * lib/set-mode-acl.c: Likewise.
75         * lib/signal.in.h: Likewise.
76         * lib/stdint.in.h: Likewise.
77         * lib/stdio-impl.h: Likewise.
78         * lib/stdlib.in.h: Likewise.
79         * lib/strtod.c: Likewise.
80         * lib/sys_select.in.h: Likewise.
81         * lib/tcgetsid.c: Likewise.
82         * lib/unistd.in.h: Likewise.
83         * lib/unlockpt.c: Likewise.
84         * lib/vasnprintf.c: Likewise.
85         * lib/vma-iter.c: Likewise.
86         * lib/wcsrtombs-state.c: Likewise.
87         * m4/acl.m4: Likewise.
88         * m4/acosl.m4: Likewise.
89         * m4/asinl.m4: Likewise.
90         * m4/atanl.m4: Likewise.
91         * m4/c-stack.m4: Likewise.
92         * m4/cosl.m4: Likewise.
93         * m4/expl.m4: Likewise.
94         * m4/extensions.m4: Likewise.
95         * m4/fdatasync.m4: Likewise.
96         * m4/fmal.m4: Likewise.
97         * m4/frexp.m4: Likewise.
98         * m4/frexpf.m4: Likewise.
99         * m4/frexpl.m4: Likewise.
100         * m4/fsusage.m4: Likewise.
101         * m4/getdomainname.m4: Likewise.
102         * m4/getloadavg.m4: Likewise.
103         * m4/getopt.m4: Likewise.
104         * m4/gettext.m4: Likewise.
105         * m4/gnulib-common.m4: Likewise.
106         * m4/intdiv0.m4: Likewise.
107         * m4/intlmacosx.m4: Likewise.
108         * m4/largefile.m4: Likewise.
109         * m4/ldexpl.m4: Likewise.
110         * m4/link-follow.m4: Likewise.
111         * m4/locale-ar.m4: Likewise.
112         * m4/locale-fr.m4: Likewise.
113         * m4/locale-ja.m4: Likewise.
114         * m4/locale-tr.m4: Likewise.
115         * m4/locale-zh.m4: Likewise.
116         * m4/locale_h.m4: Likewise.
117         * m4/lock.m4: Likewise.
118         * m4/logl.m4: Likewise.
119         * m4/mathfunc.m4: Likewise.
120         * m4/minus-zero.m4: Likewise.
121         * m4/mktime.m4: Likewise.
122         * m4/mmap-anon.m4: Likewise.
123         * m4/multiarch.m4: Likewise.
124         * m4/nanosleep.m4: Likewise.
125         * m4/nocrash.m4: Likewise.
126         * m4/poll.m4: Likewise.
127         * m4/printf-frexpl.m4: Likewise.
128         * m4/printf.m4: Likewise.
129         * m4/signbit.m4: Likewise.
130         * m4/sinl.m4: Likewise.
131         * m4/sqrtl.m4: Likewise.
132         * m4/strerror_r.m4: Likewise.
133         * m4/tanl.m4: Likewise.
134         * m4/threadlib.m4: Likewise.
135         * m4/ttyname_r.m4: Likewise.
136         * m4/unlink.m4: Likewise.
137         * m4/visibility.m4: Likewise.
138         * m4/wcwidth.m4: Likewise.
139         * tests/minus-zero.h: Likewise.
140         * tests/test-alloca-opt.c: Likewise.
141         * tests/test-copy-acl.sh: Likewise.
142         * tests/test-copy-file.sh: Likewise.
143         * tests/test-fdatasync.c: Likewise.
144         * tests/test-file-has-acl.sh: Likewise.
145         * tests/test-flock.c: Likewise.
146         * tests/test-fsync.c: Likewise.
147         * tests/test-localename.c: Likewise.
148         * tests/test-malloca.c: Likewise.
149         * tests/test-nonblocking-pipe.h: Likewise.
150         * tests/test-nonblocking-socket.h: Likewise.
151         * tests/test-openpty.c: Likewise.
152         * tests/test-posix_openpt.c: Likewise.
153         * tests/test-ptsname.c: Likewise.
154         * tests/test-ptsname_r.c: Likewise.
155         * tests/test-sameacls.c: Likewise.
156         * tests/test-select.h: Likewise.
157         * tests/test-set-mode-acl.sh: Likewise.
158         * tests/test-snprintf-posix.h: Likewise.
159         * tests/test-sprintf-posix.h: Likewise.
160         * tests/test-strtod.c: Likewise.
161         * tests/test-time.c: Likewise.
162         * tests/test-vasnprintf-posix.c: Likewise.
163         * tests/test-vasprintf-posix.c: Likewise.
164         * doc/acl-resources.txt: Likewise.
165         * doc/**/*.texi: Likewise.
166         Reported by Max Horn <max@quendi.de>.
167
168 2012-06-22  Bruno Haible  <bruno@clisp.org>
169
170         grantpt: Relax requirement regarding invalid file descriptors.
171         * lib/grantpt.c: Don't include <fcntl.h>.
172         (grantpt): Don't verify the validity of the file descriptor.
173         * modules/grantpt (Depends-on): Remove fcntl-h.
174         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
175         file descriptors.
176         * doc/posix-functions/grantpt.texi: Document more platforms on which
177         grantpt succeeds for invalid file descriptors.
178         Reported by Rich Felker <dalias@aerifal.cx>.
179
180 2012-06-22  Bruno Haible  <bruno@clisp.org>
181
182         fbufmode test: Don't test unportable behaviour.
183         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
184         (main): Invoke it three times.
185         Reported by Szabolcs Nagy <nsz@port70.net>
186         and Rich Felker <dalias@aerifal.cx>.
187
188 2012-06-21  Bruno Haible  <bruno@clisp.org>
189
190         gnulib-tool: Refactor inctests variable.
191         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
192         (func_modules_transitive_closure,
193         func_modules_transitive_closure_separately,
194         func_import, func_create_testdir): Update.
195
196         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
197         * gnulib-tool: Accept option --without-tests.
198         (func_usage): Document --without-tests option. Rearrange.
199         (inctests): Normalize according to the mode.
200         * NEWS: Mention the change.
201         Suggested by Simon Josefsson.
202
203 2012-06-21  Bruce Korb  <bkorb@gnu.org>
204
205         parse-duration test: Avoid spurious output.
206         * tests/test-parse-duration.sh: Reindent with leading tabs.
207
208 2012-06-21  Jim Meyering  <meyering@redhat.com>
209
210         maint: disable the strncpy prohibition
211         * cfg.mk: Do not prohibit strncpy here.
212
213 2012-06-21  Bruno Haible  <bruno@clisp.org>
214
215         nonblocking: Avoid compilation error on mingw64.
216         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
217         fscanf.
218         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
219         * modules/vfscanf (configure.ac): Likewise.
220         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
221         definition only if stdio.h has prepared it.
222         Reported by Daniel P. Berrange <berrange@redhat.com>.
223
224 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
225
226         gnulib-tool: Use readlink if it is available.
227         * gnulib-tool (func_readlink): Choose function more appropriately.
228
229 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
230
231         posixtm-tests: port to buggy compiler
232         Problem reported by Simon Josefsson in
233         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
234         * modules/posixtm-tests (Depends-on): Add stdint.
235         * tests/test-posixtm.c (struct posixtm_test.t_expected):
236         Now of type int_least64_t, not int64_t, both because that's
237         what INT64_C returns and because int_least64_t works even
238         on 72-bit hosts.
239         (T): Use INT64_C on constants outside the traditional int range,
240         to work around compiler bug noted by Simon.
241
242         mktime: fix integer overflow in 'configure'-time test
243         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
244         after integer overflow.  Problem reported by Rich Felker in
245         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
246         Also, don't look for further instances of a bug if we've already
247         found one instance; this helps 'configure' run faster.
248
249 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
250
251         tmpfile, clean-temp: Fix invocation of GetVersionEx.
252         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
253         GetVersionEx correctly.
254         * lib/clean-temp.c (supports_delete_on_close): Likewise.
255
256 2012-06-20  Bruno Haible  <bruno@clisp.org>
257
258         fdopen: Allow implementations that don't reject invalid fd arguments.
259         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
260         succeeds.
261         Reported by Rich Felker <dalias@aerifal.cx>.
262
263 2012-06-20  Simon Josefsson  <simon@josefsson.org>
264
265         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
266         bring in LIBINTL.
267
268 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
269
270         init.sh: do not rely on autoupated PWD
271         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
272         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
273         Although Nelson's bug was not necessarily fixed by this patch,
274         it seems wise to make the change for safety.
275         * tests/init.sh (path_prepend_): Do not rely on PWD updating
276         automagically after 'cd'; this is not reliable on older shells.
277         (setup_): Fail if we cannot cd to temporary directory.
278
279 2012-06-19  Bruno Haible  <bruno@clisp.org>
280
281         stat, fstat: Avoid warnings on mingw64.
282         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
283         redefining.
284         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
285         Reported by Daniel P. Berrange <berrange@redhat.com>.
286
287 2012-06-19  Bruno Haible  <bruno@clisp.org>
288
289         stdioext: Add support for musl libc.
290
291         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
292         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
293
294         * m4/fseterr.m4: New file.
295         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
296         function exists.
297         * modules/fseterr (Files): Add m4/fseterr.m4.
298         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
299         __fseterr does not exist.
300         (Makefile.am): Remove fseterr.c from lib_SOURCES.
301
302         * lib/freadable.h: Update comment.
303
304         * lib/fwritable.h: Update comment.
305
306         * lib/freading.h: Update comment.
307
308         * lib/fwriting.h: Update comment.
309
310         * m4/freadahead.m4: New file.
311         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
312         that function exists.
313         * modules/freadahead (Files): Add m4/freadahead.m4.
314         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
315         __freadahead does not exist.
316         (Makefile.am): Remove freadahead.c from lib_SOURCES.
317
318         * m4/freadptr.m4: New file.
319         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
320         function exists.
321         * modules/freadptr (Files): Add m4/freadptr.m4.
322         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
323         __freadptr does not exist.
324         (Makefile.am): Remove freadptr.c from lib_SOURCES.
325
326         * m4/freadseek.m4: New file.
327         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
328         exists.
329         * modules/freadseek (Files): Add m4/freadseek.m4.
330         (configure.ac): Invoke gl_FUNC_FREADSEEK.
331
332         * lib/fpurge.c (fpurge): Update comment.
333
334         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
335
336 2012-06-19  Bruno Haible  <bruno@clisp.org>
337
338         *printf-posix: Put more info into config.log.
339         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
340         exit code into config.log.
341
342 2012-06-19  Bruno Haible  <bruno@clisp.org>
343
344         getopt-gnu: Fix exit code overflow in autoconf test.
345         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
346         to keep them below < 128.
347
348 2012-06-17  Jim Meyering  <meyering@redhat.com>
349
350         maint.mk: fix typo in code to derive GPG key at release time
351         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
352
353 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
354
355         regex: avoid warning when pointers are not long
356         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
357         and uintptr_t, not long, for portability to hosts where pointers and
358         long have different sizes.  Issue noted by Daniel P. Berrange in
359         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
360         and fix suggested by Bruno Haible in
361         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
362
363 2012-06-17  Bruno Haible  <bruno@clisp.org>
364
365         dummy: Relicense into the public domain.
366         * modules/dummy (License): Set to "public domain".
367         Suggested by Reuben Thomas.
368
369 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
370
371         announce-gen: VPATH issues
372         * build-aux/announce-gen (--srcdir): New option, used to trim the
373         $srcdir part of the path from $builddir to NEWS.
374         * top/maint.mk (announcement): Adjust.
375
376 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
377
378         gnu-web-doc-update: VPATH builds
379         * build-aux/gnu-web-doc-update (--builddir): New option.
380         Revamp the handling of options.
381         Prefer $(...) to `...`.
382         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
383         the template, and it is GNU mktemp specific.
384         Prefer set -e to long series of &&.
385         Restore the initial git branch, not "master".
386         Properly initialize submodules (don't rely only on bootstrap).
387         Do not reconfigure blindly, use config.status.
388         * top/README-release: Update instructions for gnu-web-doc-update.
389
390 2012-06-11  Jim Meyering  <meyering@redhat.com>
391
392         maint.mk: revert most of the previous change re "all these"
393         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
394         For rationale, see the discussion at
395         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
396
397 2012-06-10  Karl Berry  <karl@gnu.org>
398
399         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
400
401         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
402
403 2012-06-10  Bruce Korb  <bkorb@gnu.org>
404
405         parse-duration: Relicense under LGPLv2+.
406         * modules/parse-duration (License): Change to LGPLv2+.
407
408 2012-06-10  Jim Meyering  <meyering@redhat.com>
409
410         maint.mk: prohibit common grammar error: "all these"
411         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
412         the list of prohibited word sequences.  It should be "all of these".
413         * lib/tempname.c (__gen_tempname): Fix one of them.
414
415 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
416
417         do-release-commit-and-tag: support VPATH builds
418         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
419         (noteworthy): Defined earlier to factor its value.
420         (noteworthy_stub): New.
421         Use it to factor.
422         (help_version): Split into...
423         (help, version): these.
424         Adjust the option processing part.
425         Support "--option=value" in addition to "--option value".
426         (builddir): New.
427         (--builddir): New option.
428         * top/README-release: Document this.
429         Reword slightly so that the reader cannot understand that he
430         has to do these steps before calling do-release-commit-and-tag.
431
432 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
433
434         readme-release: also require announce-gen and maintainer-makefile
435         * modules/readme-release (Depends-on): here.
436         * modules/announce-gen, modules/do-release-commit-and-tag,
437         modules/gnu-web-doc-update, modules/maintainer-makefile
438         (Description): Point to readme-release.
439
440 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
441
442         maint.mk: fix VPATH issues.
443         * top/maint.mk (news-check): GNU Make understand $< very well.
444         (release-prep): NEWS is in $(srcdir).
445
446 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
447
448         readme-release: require the promoted modules.
449         * modules/readme-release (Depends-on): Add
450         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
451         in this text.
452
453 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
454             Bruno Haible  <bruno@clisp.org>
455
456         error, strerror-override: Support mingw64 from Fedora 17.
457         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
458         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
459         EINPROGRESS.
460         * lib/strerror-override.h (strerror_override): Test it.
461         * lib/strerror-override.c (strerror_override): Likewise.
462         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
463
464 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
465             Bruno Haible  <bruno@clisp.org>
466
467         error, strerror-override: Support mingw64 from Fedora 17.
468         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
469         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
470         * lib/strerror-override.h (strerror_override): Test it.
471         * lib/strerror-override.c (strerror_override): Likewise.
472
473 2012-06-03  Bruno Haible  <bruno@clisp.org>
474
475         error, strerror-override: Support new errno values from POSIX:2008.
476         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
477         ENOTRECOVERABLE.
478         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
479         platforms.
480         * lib/strerror-override.c (strerror_override): Conditionalize the
481         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
482         * lib/strerror-override.h (strerror_override): Declare also if
483         GNULIB_defined_EOWNERDEAD is defined.
484         * tests/test-errno.c (e130, e131): New variables.
485         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
486         ENOTRECOVERABLE.
487         Reported by Paolo Bonzini.
488
489 2012-05-31  Jim Meyering  <meyering@redhat.com>
490
491         savewd: add missing dependency on sys_wait module
492         * modules/savewd (Depends-on): Add sys_wait, needed at least
493         for MSVC.  Report and suggested change by Michael Goffioul.
494
495 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
496
497         system-quote-tests: port to CentOS 5
498         Problem reported by Tom G. Christensen in
499         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
500         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
501
502 2012-05-29  Jim Meyering  <meyering@redhat.com>
503
504         maint: fix typos in comments and ChangeLog
505         Culprits identified and fixed mostly automatically using these commands:
506         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
507         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
508         using http://github.com/lyda/misspell-check
509         * ChangeLog: Fix typos.
510         * doc/solaris-versions: Likewise.
511         * lib/regexec.c (re_search_stub): Likewise.
512         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
513
514 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
515
516         manywarnings: remove duplicate -Wmultichar entry
517         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
518         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
519         so keep the entry marked as documented.
520
521 2012-05-27  Karl Berry  <karl@gnu.org>
522
523         * config/srclist.txt (mktime.c): remove last libc sync,
524         perhaps just temporarily.
525
526 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
527
528         regex: don't assume uint64_t or uint32_t
529         * lib/regcomp.c (init_word_char): Don't assume that the types
530         uint64_t and uint32_t exist.  The C standard doesn't guarantee
531         them, and on some 32-bit compilers there is no uint64_t.
532         Problem reported by Gianluigi Tiesi in
533         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
534
535 2012-05-25  Jim Meyering  <meyering@redhat.com>
536
537         maint.mk: add strncpy-prohibiting syntax-check rule
538         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
539
540 2012-05-24  Jim Meyering  <meyering@redhat.com>
541
542         maint.mk: compute $(gpg_key_ID) more portably
543         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
544         That use of sed is not portable to some fringe systems.
545         Reported by Paul Eggert in
546         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
547
548 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
549
550         mktime: sync from glibc
551         * config/srclist.txt: Uncomment mktime.c.
552         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
553         First, indent with tabs, since glibc uses tabs and doesn't want to
554         change and we'd rather be identical to glibc.  Also, two small
555         coding changes:
556         (isdst_differ): Use &&, not &, as && is the usual style.
557         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
558         for clarity.
559
560 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
561
562         announce-gen: du -h is more portable than du --human
563         * build-aux/announce-gen (sizes): Invoke du with -h instead
564         of --human.  Accept leading white space in its output.
565
566 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
567
568         announce-gen: Improve diagnostics.
569         * build-aux/announce-gen: When parsing command line options,
570         prefer "announce-gen: option --release-type requires an argument"
571         to "Option release-type requires an argument".
572
573 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
574
575         maint.mk: gpg_key_ID: use sed more portably
576         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
577         the closing brace.
578         (refresh-po): Fuse two sed invocations into one.
579
580 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
581
582         gitlog-to-changelog: support the log message format used in Bison.
583         * build-aux/gitlog-to-changelog: Support --strip-tab and
584         --strip-cherry-picked.
585
586 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
587
588         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
589         the rest of the current time slice to another thread in the current
590         process. So if the thread that feeds the file decscriptor we're
591         polling is not in the current process, we get busy-waiting.
592         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
593         Patch from Theodore Leblond.
594         * lib/select.c: Split polling out of the loop that sets the output
595         fd_sets.  Check for zero result and loop if the wait timeout is
596         infinite.
597
598 2012-05-21  Simon Josefsson  <simon@josefsson.org>
599
600         select: Fix build error on IRIX 6.5.
601         * lib/select.c: Include stddef.h for NULL.
602
603 2012-05-21  Simon Josefsson  <simon@josefsson.org>
604
605         gc: fix libgcrypt detection on older machines.
606         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
607         copyright years because the file has been distributed every year
608         since it was created.
609
610 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
611
612         crypto: fix bug in large buffer handling
613         Problem reported by Serge Belyshev for glibc in
614         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
615         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
616         * lib/md4.c (md4_process_block):
617         * lib/md5.c (md5_process_block):
618         * lib/sha1.c (sha1_process_block):
619         * lib/sha256.c (sha256_process_block):
620         Don't assume the buffer length is less than 2**32.
621         * lib/sha512.c (sha512_process_block): Likewise.
622         Here, the bug is present only in the rare case where the host does
623         not support uint64_t or where size_t is wider than 64 bits.
624         Use u64size to work around the problems.
625         * lib/u64.h (u64size): New macro.
626
627 2012-05-15  Pádraig Brady  <P@draigBrady.com>
628
629         fsusage: fix block size returned on older Linux 2.6
630
631         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
632         which is available since Linux 2.6.
633         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
634         when the member is available so it can be used as a fallback.
635         * doc/posix-functions/statvfs.texi: Mention the hang issue
636         on Linux < 2.6.36.
637
638 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
639
640         bootstrap: suppress stderr chatter
641         * build-aux/bootstrap (insert_sorted_if_absent, main program):
642         Omit unnecessary chatter to stderr.  The main program chatter
643         was there only inadvertantly.
644
645         bootstrap: .gitignore files created by autopoint, libtool
646         I ran into this problem when bootstrapping the latest diffutils.
647         After './bootstrap', 'git status' reported lots of untracked files
648         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
649         autopoint and do not need to be version-controlled.
650         * build-aux/bootstrap: Put into .gitignore the files that
651         autopoint and libtool create, by keeping track of files that exist
652         after but not before these programs are run.
653         (version_controlled_file): Move up.  2nd arg is now full file
654         name, not base name; this is more convenient.  Put CVS at the end,
655         as it's now somewhat deprecated.
656
657 2012-05-14  Jim Meyering  <meyering@redhat.com>
658
659         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
660         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
661         definition.  Reported by Bruno Haible.
662
663 2012-05-13  Bruno Haible  <bruno@clisp.org>
664             Paul Eggert  <eggert@cs.ucla.edu>
665
666         binary-io: Define set_binary_mode function.
667         * lib/binary-io.h (set_binary_mode): New function.
668         (SET_BINARY): Define in terms of set_binary_mode.
669         * modules/binary-io (configure.ac): Require AC_C_INLINE.
670         * tests/test-binary-io.c (main): Accept an argument, and test either
671         set_binary_mode or SET_BINARY depending on the argument.
672         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
673         argument. Clean up also t-bin-out0.tmp.
674
675 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
676
677         bootstrap: take advantage of POSIX shell features
678
679         The 'bootstrap' script offered by Gnulib script already uses POSIX
680         shell features (like $((...)) arithmetic expansions) that are not
681         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
682         means that bootstrap must already be run using a proper POSIX shell,
683         which will thus provide more features, like ${var#pattern} parameter
684         expansion or inversion of a command exit status with '!'.  We can
685         thus use these features to improve the clarity and the performances
686         of the bootstrap script.
687
688         Suggested by Eric Blake.
689
690         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
691         of sed/expr plus command substitutions, to save some forks.  While
692         we are at it, prefer the POSIX $(...) form of command substitution,
693         rather than the legacy form `...` (since the former is visually
694         clearer and interacts better with quoting), and prefer the idiom:
695           "if ! CMD; then ACTION ..."
696         over the idiom:
697           "if CMD; then :; else ACTION ..."
698         which was required by legacy Bourne shells not supporting '!'.
699
700 2012-05-12  Bruno Haible  <bruno@clisp.org>
701
702         system-quote: Add more comments.
703         * lib/system-quote.h: Add more comments about wilcards and limitations.
704         Suggested by Eli Zaretskii <eliz@gnu.org>.
705
706         sh-quote, system-quote: Add comments about wildcards.
707         * lib/sh-quote.h: Clarify what happens with wildcard characters.
708         * lib/system-quote.h: Likewise.
709         Reported by Eli Zaretskii <eliz@gnu.org>.
710
711 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
712
713         fsusage: check for GNU/Linux statvfs problem dynamically
714         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
715         Define STAT_STATFS2_BSIZE too, since in this case the code now
716         checks dynamically whether statvfs is reliable, falling back on
717         Linux-style statfs otherwise.
718         (statvfs_works): New function, for dynamically testing statvfs.
719         (get_fs_usage) [STAT_STATVFS]: Use it.
720         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
721         statvfs on GNU/Linux hosts, since it's now done dynamically.
722
723 2012-05-10  Bruno Haible  <bruno@clisp.org>
724
725         system-quote, execute, spawn-pipe: Escape '?' on Windows.
726         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
727         '?' character.
728         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
729         * tests/test-system-quote-main.c (check_all): Check also strings like
730         "??????????".
731         Reported by Eli Zaretskii <eliz@gnu.org>.
732
733 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
734
735         _Noreturn: port config.h to gcc -Wundef
736         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
737         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
738         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
739
740 2012-05-10  Bruno Haible  <bruno@clisp.org>
741
742         system-quote: Refactor.
743         * lib/system-quote.h (system_quote_copy): Fix comment.
744         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
745         New functions, extracted from system_quote_copy.
746         (system_quote_length, system_quote_copy): Use these functions.
747         Reported by Paul Eggert.
748
749 2012-05-08  Bruno Haible  <bruno@clisp.org>
750
751         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
752         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
753
754 2012-05-08  Bruno Haible  <bruno@clisp.org>
755
756         Tests for module 'system-quote'.
757         * modules/system-quote-tests: New file.
758         * tests/test-system-quote.sh: New file.
759         * tests/test-system-quote-main.c: New file.
760         * tests/test-system-quote-child.c: New file.
761
762         New module 'system-quote'.
763         * lib/system-quote.h: New file.
764         * lib/system-quote.c: New file.
765         * modules/system-quote: New file.
766
767 2012-05-08  Bruno Haible  <bruno@clisp.org>
768
769         sh-quote: Make C++ safe and allow multiple inclusion.
770         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
771         declarations in extern "C".
772
773 2012-05-08  Bruno Haible  <bruno@clisp.org>
774
775         sh-quote tests: Make tests stricter.
776         * tests/test-sh-quote.c (check_one): Check the return value of
777         shell_quote_copy.
778         (main): Check a string with a CR character. Check a string that
779         contains UCHAR_MAX.
780
781 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
782
783         warnings.m4: provide a means to specify the program to compile.
784         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
785         (gl_WARN_ADD): here.
786         Use gl_AS_VAR_APPEND.
787         Support an argument to specify the program to compile.
788         (gl_WARN_ADD): Accept an argument to specify the program to compile.
789         AC_SUBST the WARN_CFLAGS when they are used.
790         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
791         leave this to gl_WARN_ADD.
792
793 2012-05-08  Eric Blake  <eblake@redhat.com>
794
795         doc: recommendations on gettext version
796         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
797         choice between versions.
798         * DEPENDENCIES (gettext): Cover both approaches.
799
800 2012-05-08  Jim Meyering  <meyering@redhat.com>
801
802         init.sh: explain why EXEEXT support uses aliases rather than functions
803         * tests/init.sh: Add a comment.
804
805         init.sh: don't let bash aliases interfere with tests
806         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
807         is bash.  This avoids problems for those who alias standard commands to
808         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
809         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
810
811 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
812
813         stdint: be more consistent with glibc, SunOS libc
814         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
815         (gl_int_fast16_t, gl_uint_fast16_t)
816         (gl_int_fast32_t, gl_uint_fast32_t)
817         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
818         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
819         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
820         Be consistent with glibc by default, and with SunOS 5.10 and later
821         if __sun is defined.  This lessens the likelihood of clashes if
822         code compiled for older hosts is combined with code compiled for
823         newer ones.  Problem reported by Niels Möller in
824         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
825
826 2012-05-07  Eric Blake  <eblake@redhat.com>
827
828         isatty: relax license to LGPLv2+
829         * modules/isatty (License): Relax license.
830
831 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
832
833         stat-size: comment fix
834         * lib/stat-size.h: Remove obsolete comment about indenting.
835
836 2012-05-06  Bruno Haible  <bruno@clisp.org>
837
838         Tests for module 'sh-quote'.
839         * modules/sh-quote-tests: New file.
840         * tests/test-sh-quote.c: New file.
841
842 2012-05-06  Bruno Haible  <bruno@clisp.org>
843
844         sh-quote: Improve shell_quote_argv's signature.
845         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
846         * lib/sh-quote.c (shell_quote_argv): Likewise.
847
848 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
849
850         stdint: document issues with int_fast8_t etc.
851         * doc/posix-headers/stdint.texi (stdint.h): Say that other
852         stdint.h substitutes may define these types differently.  See
853         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
854
855 2012-05-05  Bruno Haible  <bruno@clisp.org>
856
857         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
858         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
859         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
860         or 'guessing no (mishandles large arguments)'.
861
862 2012-05-05  Bruno Haible  <bruno@clisp.org>
863
864         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
865         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
866         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
867         set gl_cv_func_link_follows_symlink to "guessing no".
868
869 2012-05-05  Bruno Haible  <bruno@clisp.org>
870
871         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
872         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
873         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
874         "guessing no".
875         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
876
877 2012-05-05  Bruno Haible  <bruno@clisp.org>
878
879         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
880         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
881         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
882         set gl_cv_struct_dirent_d_ino to "guessing yes".
883
884 2012-05-05  Bruno Haible  <bruno@clisp.org>
885
886         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
887         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
888         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
889         "guessing yes".
890
891 2012-05-05  Bruno Haible  <bruno@clisp.org>
892
893         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
894         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
895         compiling to a glibc system, set gl_cv_func_signbit and
896         gl_cv_func_signbit_gcc to "guessing yes".
897
898 2012-05-05  Bruno Haible  <bruno@clisp.org>
899
900         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
901         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
902         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
903         to "guessing yes".
904         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
905         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
906
907 2012-05-05  Bruno Haible  <bruno@clisp.org>
908
909         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
910         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
911         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
912         gl_cv_func_realpath_works to "guessing yes".
913
914 2012-05-05  Bruno Haible  <bruno@clisp.org>
915
916         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
917         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
918         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
919
920 2012-05-04  Bruno Haible  <bruno@clisp.org>
921
922         Tweak last commit.
923         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
924         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
925
926 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
927
928         unistd_h: make it easier to avoid sys_types_h
929         This is useful for Emacs, which has its own method of porting to
930         Windows, and which therefore does not need the sys_types_h module.
931         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
932         code moved here from gl_SYS_TYPES_H.
933         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
934         using the code directly.
935         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
936         gl_SYS_TYPES_H.
937         * modules/sys_types (Files):
938         * modules/unistd (Files): Add m4/off_t.m4.
939
940 2012-05-03  Bruno Haible  <bruno@clisp.org>
941
942         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
943         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
944         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
945         "guessing yes" or "guessing no".
946         (gl_FUNC_LSTAT): Update.
947         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
948         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
949         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
950
951 2012-05-03  Bruno Haible  <bruno@clisp.org>
952
953         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
954         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
955         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
956         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
957         cross-compiling, choose the first alternative on glibc systems.
958         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
959
960 2012-05-03  Bruno Haible  <bruno@clisp.org>
961
962         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
963         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
964         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
965
966 2012-05-03  Bruno Haible  <bruno@clisp.org>
967
968         chown: Avoid "guessing no" when cross-compiling to glibc systems.
969         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
970
971 2012-05-03  Bruno Haible  <bruno@clisp.org>
972
973         Avoid "guessing no" guesses when cross-compiling to glibc systems.
974         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
975         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
976         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
977         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
978         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
979         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
980         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
981         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
982         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
983         compiling to glibc systems, set gl_cv_func_chown_slash_works,
984         gl_cv_func_chown_ctime_works to "guessing yes".
985         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
986         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
987         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
988         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
989         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
990         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
991         compiling to glibc systems, set gl_cv_func_open_directory_works to
992         "guessing yes".
993         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
994         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
995         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
996         "guessing yes".
997         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
998         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
999         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1000         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1001         "guessing yes".
1002         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1003         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1004         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1005         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1006         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1007         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1008         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1009         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1010         "guessing yes".
1011         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1012         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1013         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1014         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1015         "guessing yes".
1016         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1017         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1018         "guessing yes".
1019         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1020         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1021         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1022         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1023         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1024         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1025         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1026         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1027         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1028         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1029         "guessing yes".
1030         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1031         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1032         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1033         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1034         "guessing yes".
1035         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1036         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1037         "guessing yes".
1038         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1039         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1040         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1041         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1042         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1043         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1044         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1045         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1046         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1047         "guessing yes".
1048         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1049         compiling to glibc systems, set gl_cv_func_mknod_works to
1050         "guessing yes".
1051         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1052         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1053         "guessing yes".
1054         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1055         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1056         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1057         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1058         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1059         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1060         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1061         compiling to glibc systems, set gl_cv_func_svid_putenv to
1062         "guessing yes".
1063         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1064         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1065         "guessing yes".
1066         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1067         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1068         "guessing yes".
1069         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1070         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1071         to "guessing yes".
1072         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1073         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1074         to "guessing yes".
1075         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1076         compiling to glibc systems, set gl_cv_func_rmdir_works to
1077         "guessing yes".
1078         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1079         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1080         gl_cv_func_unlink_parent_fails to "guessing yes".
1081         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1082         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1083         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1084         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1085         gl_cv_func_rename_dest_works to "guessing yes".
1086         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1087         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1088         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1089         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1090         "guessing yes".
1091         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1092         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1093         "guessing yes".
1094         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1095         compiling to glibc systems, set gl_cv_func_setenv_works to
1096         "guessing yes".
1097         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1098         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1099         "guessing yes".
1100         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1101         compiling to glibc systems, set gl_cv_func_sleep_works to
1102         "guessing yes".
1103         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1104         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1105         "guessing yes".
1106         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1107         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1108         "guessing yes".
1109         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1110         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1111         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1112         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1113         "guessing yes".
1114         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1115         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1116         "guessing yes".
1117         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1118         compiling to glibc systems, set gl_cv_func_usleep_works to
1119         "guessing yes".
1120         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1121         compiling to glibc systems, set gl_cv_func_futimesat_works to
1122         "guessing yes".
1123
1124 2012-05-03  Bruno Haible  <bruno@clisp.org>
1125
1126         Say "guessing yes" or "guessing no" when cross-compiling.
1127         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1128         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1129         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1130         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1131         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1132         am_cv_func_working_getline to "guessing yes" or "guessing no".
1133         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1134         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1135         (gl_FUNC_MEMMEM): When cross-compiling, set
1136         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1137         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1138         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1139         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1140         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1141         "guessing no".
1142         (gl_FUNC_STRCASESTR): When cross-compiling, set
1143         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1144         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1145         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1146         (gl_FUNC_STRSTR): When cross-compiling, set
1147         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1148         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1149         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1150         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1151         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1152
1153 2012-05-01  Bruno Haible  <bruno@clisp.org>
1154
1155         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1156         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1157         * build-aux/reloc-ldflags: Likewise.
1158         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1159
1160 2012-05-01  Bruno Haible  <bruno@clisp.org>
1161
1162         gnulib-tool: Remove transitional code.
1163         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1164         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1165
1166 2012-05-01  Bruno Haible  <bruno@clisp.org>
1167
1168         getcwd: Fix misindentation.
1169         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1170
1171 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
1172
1173         exclude: process exclude and include directives in order
1174         This restores the pre-2009 behavior, and is part of a fix of a
1175         grep bug reported by Quentin Arce in
1176         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
1177         * lib/exclude.c (struct exclude): Remove 'tail' member.
1178         (new_exclude_segment): Prepend the new segment instead of appending.
1179         Return void, since that's now more convenient.
1180         (file_pattern_matches): Renamed from excluded_file_pattern_p.
1181         (file_name_matches): Renamed from excluded_file_name_p.
1182         (file_pattern_matches, file_name_matches):
1183         Return true if the pattern matches, not if it excludes.
1184         All callers changed.
1185         (excluded_file_name): Process the list in reverse order;
1186         since the list is now reversed this restores the pre-2009 behavior.
1187         (add_exclude): Adjust to new reversed-order list.  Use local var
1188         rather than macro, for clarity.
1189         * tests/test-exclude7.sh: Adjust to corrected behavior.
1190
1191         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
1192         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
1193         it's not possible here.  Handle the case of \ at end of pattern
1194         without dumping core.
1195         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
1196
1197         _Noreturn: future-proof non-GNU and non-MSVC compilers
1198         * build-aux/snippet/_Noreturn.h (_Noreturn):
1199         * m4/gnulib-common.m4 (gl_COMMON_BODY):
1200         Do not define _Noreturn if __STDC_VERSION__ indicates this is
1201         C11 or later.  This is more likely to work with random future C
1202         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
1203         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
1204
1205         exclude: handle wildcards with FNM_EXTMATCH
1206         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
1207         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
1208         comment that "has wildcards" really means "has or may have
1209         wildcards".  Simplify by avoiding the need to call strcspn.
1210
1211 2012-04-29  Bruno Haible  <bruno@clisp.org>
1212
1213         gnulib-tool: Fix list of authors.
1214         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
1215
1216 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
1217
1218         bootstrap: support Automake-NG in $buildreq
1219         * bootstrap (check_versions): Handle automake and aclocal from
1220         Automake-NG specially.  They can be specified as respectively
1221         the "automake-ng" and "aclocal-ng" requirements.
1222
1223 2012-04-25  Eric Blake  <eblake@redhat.com>
1224
1225         bootstrap: only force latest Makefile.in.in for gettext module
1226         * build-aux/bootstrap (with_gettext): Only install latest
1227         Makefile.in.in for projects requesting bleeding edge gettext.
1228
1229 2012-04-22  Bruno Haible  <bruno@clisp.org>
1230
1231         doc: Mention reason for replacement on glibc/Linux systems.
1232         * doc/posix-functions/dprintf.texi: Mention the problem with special
1233         'long double' values.
1234         * doc/posix-functions/fprintf.texi: Likewise.
1235         * doc/posix-functions/printf.texi: Likewise.
1236         * doc/posix-functions/snprintf.texi: Likewise.
1237         * doc/posix-functions/sprintf.texi: Likewise.
1238         * doc/posix-functions/vdprintf.texi: Likewise.
1239         * doc/posix-functions/vfprintf.texi: Likewise.
1240         * doc/posix-functions/vprintf.texi: Likewise.
1241         * doc/posix-functions/vsnprintf.texi: Likewise.
1242         * doc/posix-functions/vsprintf.texi: Likewise.
1243         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
1244         platforms with F_DUPFD_CLOEXEC problems.
1245         * doc/posix-functions/glob.texi: Mention which platforms are affected
1246         by the problem with symbolic links.
1247         * doc/posix-functions/linkat.texi: Mention the problem with
1248         AT_SYMLINK_FOLLOW on Linux.
1249
1250 2012-04-22  Bruno Haible  <bruno@clisp.org>
1251
1252         pwrite: Don't replace on all platforms.
1253         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
1254
1255 2012-04-22  Bruno Haible  <bruno@clisp.org>
1256
1257         rint* tests: Avoid gcc warnings.
1258         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
1259         * tests/test-rintf.c (INFINITY, NAN): Likewise.
1260         * tests/test-rintl.c (INFINITY, NAN): Likewise.
1261
1262 2012-04-21  Bruno Haible  <bruno@clisp.org>
1263
1264         users.txt: Update.
1265         * users.txt: Add freedink, wdiff. Update URLs for projects that have
1266         switched from CVS to git, bzr, or svn.
1267
1268 2012-04-21  Bruno Haible  <bruno@clisp.org>
1269
1270         Large File Support for native Windows platforms.
1271
1272         * m4/largefile.m4 (gl_LARGEFILE): New macro.
1273         * modules/largefile (configure.ac): Require gl_LARGEFILE.
1274
1275         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
1276         type.
1277         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
1278         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
1279         * doc/posix-headers/sys_types.texi: Mention the effect of the
1280         'largefile' module.
1281
1282         * lib/fcntl.in.h: Add comments about off_t.
1283         * modules/fcntl-h (Depends-on): Add sys_types.
1284
1285         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
1286         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
1287         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
1288         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
1289         * modules/unistd (Depends-on): Add sys_types.
1290         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
1291
1292         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
1293         instead of lseek.
1294         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
1295         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
1296         * modules/lseek (Depends-on): Add sys_types.
1297
1298         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
1299         msvc-nothrow.h.
1300         (SetFileSize): New function.
1301         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
1302         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
1303         if Large File Support is requested.
1304         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
1305         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
1306
1307         * lib/stdio.in.h: Add comments about off_t.
1308         * modules/stdio (Depends-on): Add sys_types.
1309
1310         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
1311         instead of ftello.
1312         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
1313         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
1314         (gl_PREREQ_FTELLO): New macro.
1315         * modules/ftello (Depends-on): Add sys_types.
1316         (configure.ac): Incoke gl_PREREQ_FTELLO.
1317
1318         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
1319         instead of fseeko.
1320         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
1321         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
1322         (gl_PREREQ_FSEEKO): New macro.
1323         * modules/fseeko (Depends-on): Add sys_types.
1324         (configure.ac): Invoke gl_PREREQ_FSEEKO.
1325
1326         * lib/sys_stat.in.h: Add comments about off_t.
1327         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
1328         64-bit integer for st_size in 'struct stat'.
1329         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
1330         Define _GL_WINDOWS_64_BIT_ST_SIZE.
1331         * modules/sys_stat (Depends-on): Add sys_types.
1332         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
1333
1334         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
1335         instead of stat or _stat.
1336
1337         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
1338         'struct _stati64' instead of fstat and 'struct stat'.
1339         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
1340         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
1341
1342         Reported by Ray Satiro <raysatiro@yahoo.com>.
1343
1344 2012-04-19  Eric Blake  <eblake@redhat.com>
1345
1346         bootstrap: accommodate older libtool
1347         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
1348         Reported by Daniel P. Berrange.
1349
1350 2012-04-19  Jim Meyering  <meyering@redhat.com>
1351
1352         announce-gen: avoid failure due to lack of Digest::SHA1
1353         Even with the preferred Digest::SHA available, this script
1354         would fail when the backup module, Digest::SHA1, was not installed.
1355         * build-aux/announce-gen: Quote the conditional use of "use".
1356         Reported by Reuben Thomas in:
1357         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
1358
1359         bootstrap: don't let a user's CDPATH setting affect this script
1360         When CDPATH is set, cd will sometimes generate output.
1361         When "cd" is run in a subshell whose output matters, that
1362         surprising-to-some output can cause malfunction.
1363         Unsetting CDPATH turns off this shell "feature."
1364         * build-aux/bootstrap (CDPATH): Unset.
1365         Reported by Reuben Thomas in:
1366         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
1367         and inspired by his patch here:
1368         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
1369
1370 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
1371         and Jim Meyering  <meyering@redhat.com>
1372
1373         maint.mk: catch "see @xref{}" and similar
1374         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
1375         prohibit "See also @xref{", "Also see @pxref{", and similar.
1376
1377 2012-04-16  Jim Meyering  <meyering@redhat.com>
1378
1379         bootstrap: really use gnulib's po/Makefile.in.in
1380         * build-aux/bootstrap: Correct the source file name in previous change.
1381         Reported by Akim Demaille.
1382
1383         configmake: correct minor inconsistency in Makefile rule
1384         * modules/configmake (Makefile.am): All other rules like this one
1385         run the final "mv -f ..." in the same backslash-continued command
1386         as the one that does everything else.  This one put the mv -f ...
1387         command on a separate, non-backslash-continued line.
1388         Make it like the others.
1389
1390         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
1391         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
1392         the one from gettext.  Reported by Akim Demaille.
1393
1394 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
1395
1396         Fix recursion of install-* into po directories.
1397         Bison's install-pdf bug reported by Hans Aberg at
1398         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
1399         * build-aux/po/Makefile.in.in (install-dvi, install-html)
1400         (install-info, install-pdf, install-ps): New targets.
1401
1402 2012-04-16  Jim Meyering  <meyering@redhat.com>
1403
1404         maint: avoid spurious "make sc_maint" failure
1405         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
1406         exempt all *.class file names, for lib/javaversion.class.
1407
1408 2012-04-15  Bruno Haible  <bruno@clisp.org>
1409
1410         lseek: Make configure test independent of environment.
1411         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
1412         Windows, we know that lseek() on pipes is broken; skip the runtime
1413         test.
1414
1415 2012-04-14  Bruno Haible  <bruno@clisp.org>
1416
1417         stat: Bypass buggy override in mingw64.
1418         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
1419         * lib/stat.c (stat) [mingw64]: Define to _stat.
1420         * doc/posix-functions/stat.texi: Mention mingw64 bug.
1421
1422 2012-04-14  Bruno Haible  <bruno@clisp.org>
1423
1424         pathmax: Fix compilation error on MSVC 9.
1425         * modules/pathmax (Depends-on): Add unistd.
1426
1427 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
1428
1429         README: document pointer comparison assumption
1430         * README (Portability guidelines): Document assumption about
1431         pointer comparisons, in response to a recent bug-gnulib comment by
1432         Jeffrey Kegler.
1433
1434 2012-04-12  Bruno Haible  <bruno@clisp.org>
1435
1436         Tests for module 'getrusage'.
1437         * modules/getrusage-tests: New file.
1438         * tests/test-getrusage.c: New file.
1439
1440         New module 'getrusage'.
1441         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
1442         warn-on-use.h.
1443         (getrusage): New declaration.
1444         * lib/getrusage.c: New file.
1445         * m4/getrusage.m4: New file.
1446         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
1447         is declared.
1448         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
1449         HAVE_GETRUSAGE.
1450         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
1451         snippet/c++defs, snippet/warn-on-use.
1452         (Makefile.am): Update generation of sys/resource.h. Substitute
1453         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
1454         * modules/getrusage: New file.
1455         * doc/posix-functions/getrusage.texi: Mention the new module.
1456
1457 2012-04-12  Bruno Haible  <bruno@clisp.org>
1458
1459         Tests for module 'sys_resource'.
1460         * modules/sys_resource-tests: New file.
1461         * tests/test-sys_resource.c: New file.
1462
1463         New module 'sys_resource'.
1464         * lib/sys_resource.in.h: New file.
1465         * m4/sys_resource_h.m4: New file.
1466         * modules/sys_resource: New file.
1467         * doc/posix-headers/sys_resource.texi: Mention the new module.
1468
1469 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
1470
1471         ioctl: Fix compilation error on mingw.
1472         * lib/ioctl.c: Include <windows.h>.
1473         Also reported by Ray Satiro <raysatiro@yahoo.com>.
1474
1475 2012-04-04  Jim Meyering  <meyering@redhat.com>
1476
1477         regex: correct #pragma guard expression
1478         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
1479         not 4.3.  Correct its cpp guard expression.
1480
1481 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
1482
1483         regex: remove unnecessary type punning
1484         Problem reported by Vladimir Serbinenko in
1485         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
1486         * lib/regex.h (struct re_pattern_buffer): Change the type of
1487         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
1488         Fix comment to match code.
1489         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
1490         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
1491         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
1492         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
1493         (set_regs):
1494         Omit no-longer-necessary casts.
1495
1496 2012-04-03  Bruno Haible  <bruno@clisp.org>
1497
1498         Tests for module 'ilogbl'.
1499         * modules/ilogbl-tests: New file.
1500         * tests/test-ilogbl.c: New file.
1501
1502         New module 'ilogbl'.
1503         * lib/math.in.h (ilogbl): New declaration.
1504         * lib/ilogbl.c: New file.
1505         * m4/ilogbl.m4: New file.
1506         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
1507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
1508         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
1509         Split sed invocation, to avoid the limit of 100 substitutions of
1510         HP-UX 'sed'.
1511         * modules/ilogbl: New file.
1512         * tests/test-math-c++.cc: Check the declaration of ilogbl.
1513         * doc/posix-functions/ilogbl.texi: Mention the new module.
1514
1515 2012-04-03  Bruno Haible  <bruno@clisp.org>
1516
1517         Tests for module 'ilogbf'.
1518         * modules/ilogbf-tests: New file.
1519         * tests/test-ilogbf.c: New file.
1520
1521         New module 'ilogbf'.
1522         * lib/math.in.h (ilogbf): New declaration.
1523         * lib/ilogbf.c: New file.
1524         * m4/ilogbf.m4: New file.
1525         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
1526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
1527         REPLACE_ILOGBF.
1528         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
1529         REPLACE_ILOGBF.
1530         * modules/ilogbf: New file.
1531         * tests/test-math-c++.cc: Check the declaration of ilogbf.
1532         * doc/posix-functions/ilogbf.texi: Mention the new module.
1533
1534 2012-04-03  Bruno Haible  <bruno@clisp.org>
1535
1536         Tests for module 'ilogb'.
1537         * modules/ilogb-tests: New file.
1538         * tests/test-ilogb.c: New file.
1539         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
1540         tests/test-logb-ieee.h.
1541
1542         New module 'ilogb'.
1543         * lib/math.in.h (ilogb): New declaration.
1544         * lib/ilogb.c: New file.
1545         * m4/ilogb.m4: New file.
1546         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
1547         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
1548         REPLACE_ILOGB.
1549         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
1550         REPLACE_ILOGB.
1551         * modules/ilogb: New file.
1552         * tests/test-math-c++.cc: Check the declaration of ilogb.
1553         * doc/posix-functions/ilogb.texi: Mention the new module.
1554
1555 2012-04-03  Bruno Haible  <bruno@clisp.org>
1556
1557         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
1558         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
1559         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
1560         (main): Check their values.
1561         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
1562         problem.
1563
1564 2012-04-03  Bruno Haible  <bruno@clisp.org>
1565
1566         Tests for module 'logbl-ieee'.
1567         * modules/logbl-ieee-tests: New file.
1568         * tests/test-logbl-ieee.c: New file.
1569
1570         New module 'logbl-ieee'.
1571         * modules/logbl-ieee: New file.
1572
1573         Tests for module 'logb-ieee'.
1574         * modules/logb-ieee-tests: New file.
1575         * tests/test-logb-ieee.c: New file.
1576
1577         New module 'logb-ieee'.
1578         * modules/logb-ieee: New file.
1579
1580         Tests for module 'logbf-ieee'.
1581         * modules/logbf-ieee-tests: New file.
1582         * tests/test-logbf-ieee.c: New file.
1583         * tests/test-logb-ieee.h: New file.
1584
1585         New module 'logbf-ieee'.
1586         * modules/logbf-ieee: New file.
1587
1588 2012-04-03  Bruno Haible  <bruno@clisp.org>
1589
1590         Tests for module 'logbl'.
1591         * modules/logbl-tests: New file.
1592         * tests/test-logbl.c: New file.
1593
1594         New module 'logbl'.
1595         * lib/math.in.h (logbl): New declaration.
1596         * lib/logbl.c: New file.
1597         * m4/logbl.m4: New file.
1598         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
1599         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
1600         REPLACE_LOGBL.
1601         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
1602         REPLACE_LOGBL.
1603         * modules/logbl: New file.
1604         * tests/test-math-c++.cc: Check the declaration of logbl.
1605         * doc/posix-functions/logbl.texi: Mention the new module.
1606
1607 2012-04-02  Bruno Haible  <bruno@clisp.org>
1608
1609         Tests for module 'logbf'.
1610         * modules/logbf-tests: New file.
1611         * tests/test-logbf.c: New file.
1612
1613         New module 'logbf'.
1614         * lib/math.in.h (logbf): New declaration.
1615         * lib/logbf.c: New file.
1616         * m4/logbf.m4: New file.
1617         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
1618         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
1619         REPLACE_LOGBF.
1620         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
1621         REPLACE_LOGBF.
1622         * modules/logbf: New file.
1623         * tests/test-math-c++.cc: Check the declaration of logbf.
1624         * doc/posix-functions/logbf.texi: Mention the new module.
1625
1626 2012-04-02  Bruno Haible  <bruno@clisp.org>
1627
1628         logb tests: More tests.
1629         * tests/test-logb.h: New file, based on tests/test-logb.c and
1630         tests/test-frexp.h.
1631         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
1632         (main): Just invoke test_function.
1633         * modules/logb-tests (Files): Add tests/test-logb.h,
1634         tests/minus-zero.h, tests/randomd.c.
1635         (Makefile.am): Add randomd.c to test_logb_SOURCES.
1636
1637         logb: Provide replacement and workarounds.
1638         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
1639         is 1.
1640         * lib/logb.c: New file.
1641         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
1642         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
1643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
1644         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
1645         * modules/logb (Files): Add lib/logb.c.
1646         (Depends-on): Add isfinite, frexp, isnand.
1647         (configure.ac): Compile the replacement code logb.c if needed.
1648         * tests/test-math-c++.cc: Check the declaration of logb.
1649         * doc/posix-functions/logb.texi: Mention the replacement and the bug
1650         with subnormal numbers.
1651
1652 2012-04-02  Bruno Haible  <bruno@clisp.org>
1653
1654         log10* tests: Speed up.
1655         * tests/test-log10.h (test_function): Reduce amount of random numbers
1656         to test.
1657
1658 2012-04-01  Bruno Haible  <bruno@clisp.org>
1659
1660         logf-ieee: Fix test whether logf works.
1661         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
1662
1663 2012-04-01  Bruno Haible  <bruno@clisp.org>
1664
1665         log10l: Work around log10l-ieee test failure on IRIX 6.5.
1666         * lib/log10l.c: Include <float.h>
1667         (log10l): On IRIX, normalize the +Infinity value.
1668         * modules/log10l (Depends-on): Add 'float'.
1669         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
1670         +Infinity.
1671
1672         log10f-ieee: Work around test failure on NetBSD 5.1.
1673         * m4/log10f-ieee.m4: New file.
1674         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
1675         test whether log10f works with a negative argument. Replace it if not.
1676         * lib/log10f.c (log10f): For negative arguments, return NaN.
1677         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
1678         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
1679         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
1680
1681         log10f-ieee: Work around test failure on Solaris 9.
1682         * modules/log10f-ieee (Depends-on): Add log10-ieee.
1683         (configure.ac): Require gl_FUNC_LOG10F.
1684
1685         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
1686         * m4/log10-ieee.m4: New file.
1687         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
1688         whether log10 works with a negative argument. Replace it if not.
1689         * lib/log10.c (log10): For negative arguments, return NaN.
1690         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
1691         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
1692         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
1693
1694         Tests for module 'log10l-ieee'.
1695         * modules/log10l-ieee-tests: New file.
1696         * tests/test-log10l-ieee.c: New file.
1697
1698         New module 'log10l-ieee'.
1699         * modules/log10l-ieee: New file.
1700
1701         Tests for module 'log10-ieee'.
1702         * modules/log10-ieee-tests: New file.
1703         * tests/test-log10-ieee.c: New file.
1704
1705         New module 'log10-ieee'.
1706         * modules/log10-ieee: New file.
1707
1708         Tests for module 'log10f-ieee'.
1709         * modules/log10f-ieee-tests: New file.
1710         * tests/test-log10f-ieee.c: New file.
1711         * tests/test-log10-ieee.h: New file.
1712
1713         New module 'log10f-ieee'.
1714         * modules/log10f-ieee: New file.
1715
1716 2012-04-01  Bruno Haible  <bruno@clisp.org>
1717
1718         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
1719         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
1720         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
1721         workaround.
1722         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
1723         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
1724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
1725         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
1726         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
1727         (Depends-on): Update conditions.
1728         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
1729         IRIX 6.5, OSF/1 5.1 problems.
1730
1731 2012-04-01  Bruno Haible  <bruno@clisp.org>
1732
1733         log10f: Work around OSF/1 5.1 bug.
1734         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
1735         * lib/log10f.c (log10f): If logf exists, use it and provide just the
1736         workaround.
1737         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
1738         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
1739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
1740         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
1741         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
1742         (Depends-on): Update conditions.
1743         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
1744
1745 2012-04-01  Bruno Haible  <bruno@clisp.org>
1746
1747         log10: Work around OSF/1 5.1 bug.
1748         * lib/math.in.h (log10): New declaration.
1749         * lib/log10.c: New file.
1750         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
1751         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
1752         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
1753         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
1754         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
1755         * modules/log10 (Files): Add lib/log10.c.
1756         (Depends-on): Add math.
1757         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
1758         * tests/test-math-c++.cc: Check the declaration of log10.
1759         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
1760
1761 2012-03-31  Bruno Haible  <bruno@clisp.org>
1762
1763         log10l tests: More tests.
1764         * modules/log10l-tests (Files): Add tests/test-log10l.h,
1765         tests/minus-zero.h, tests/randoml.c.
1766         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
1767         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
1768         (main): Invoke test_function.
1769
1770         log10f tests: More tests.
1771         * modules/log10f-tests (Files): Add tests/test-log10.h,
1772         tests/minus-zero.h, tests/randomf.c.
1773         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
1774         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
1775         (main): Invoke test_function.
1776
1777         log10 tests: More tests.
1778         * tests/test-log10.h: New file.
1779         * modules/log10-tests (Files): Add tests/test-log10.h,
1780         tests/minus-zero.h, tests/randomd.c.
1781         (Makefile.am): Add randomd.c to test_log10_SOURCES.
1782         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
1783         (main): Invoke test_function.
1784
1785 2012-03-31  Simon Josefsson  <simon@josefsson.org>
1786
1787         fflush: Fix syntax error.
1788         * lib/fflush.c: Include unused-parameter.h, needed for
1789         _GL_UNUSED_PARAMETER.
1790         * modules/fflush (Depends-on): Add snippet/unused-parameter.
1791
1792 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
1793
1794         regex: pacify GCC when compiling GRUB
1795         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
1796         a diagnostic.  Reported by Vladimir Serbinenko in
1797         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
1798
1799 2012-03-29  Eric Blake  <eblake@redhat.com>
1800
1801         stdio: don't assume gets any more
1802         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
1803         support.
1804         * modules/stdio (Makefile.am): Likewise.
1805         * lib/stdio-read.c (gets): Likewise.
1806         * tests/test-stdio-c++.cc: Likewise.
1807         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
1808         * lib/stdio.in.h (gets): Make warning occur in more places.
1809         * doc/posix-functions/gets.texi (gets): Update documentation.
1810         Reported by Christer Solskogen.
1811
1812         maint.mk: fix syntax checks without exclusions
1813         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
1814         Reported by Daniel P. Berrange.
1815
1816         strerror_r: avoid compiler warning
1817         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
1818         level.
1819
1820         fflush: avoid compiler warning
1821         * lib/fflush.c (update_fpos_cache): Mark variables that are
1822         potentially unused.
1823
1824 2012-03-25  Bruno Haible  <bruno@clisp.org>
1825
1826         Tests for module 'localeconv'.
1827         * modules/localeconv-tests: New file.
1828         * tests/test-localeconv.c: New file.
1829
1830         New module 'localeconv'.
1831         * lib/locale.in.h (localeconv): New declaration.
1832         * lib/localeconv.c: New file.
1833         * m4/localeconv.m4: New file.
1834         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
1835         REPLACE_LOCALECONV.
1836         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
1837         REPLACE_LOCALECONV.
1838         * modules/localeconv: New file.
1839         * modules/nl_langinfo (Depends-on): Add localeconv.
1840         * modules/human (Depends-on): Likewise.
1841         * doc/posix-functions/localeconv.texi: Mention the new module.
1842
1843 2012-03-25  Bruno Haible  <bruno@clisp.org>
1844
1845         locale: Provide a complete 'struct lconv'.
1846         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1847         'struct lconv' does not contain int_p_cs_precedes.
1848         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1849         * doc/posix-headers/locale.texi: Update.
1850
1851         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
1852         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
1853         * doc/posix-headers/locale.texi: Update.
1854
1855         locale: Provide a working 'struct lconv'.
1856         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
1857         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
1858         'struct lconv' does not even contain decimal_point.
1859         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
1860         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
1861         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
1862         * doc/posix-headers/locale.texi: Mention the problems with
1863         'struct lconv'.
1864         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
1865
1866 2012-03-24  Bruno Haible  <bruno@clisp.org>
1867
1868         Enable common subexpression optimization in GCC.
1869         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
1870         macros.
1871         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
1872         GCC attribute 'const'.
1873         (uc_locale_language): Declare with GCC attribute 'pure'.
1874         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
1875         with GCC attribute 'const'.
1876         * lib/unictype.in.h (uc_is_general_category_withtable,
1877         uc_combining_class, uc_combining_class_name,
1878         uc_combining_class_long_name, uc_bidi_class_name,
1879         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
1880         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
1881         uc_decimal_value, uc_digit_value, uc_numeric_value,
1882         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
1883         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
1884         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
1885         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
1886         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
1887         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
1888         Declare with GCC attribute 'const'.
1889         (uc_general_category_name, uc_general_category_long_name,
1890         uc_general_category_byname, uc_general_category,
1891         uc_is_general_category, uc_combining_class_byname,
1892         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
1893         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
1894         Declare with GCC attribute 'pure'.
1895         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
1896         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
1897         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
1898         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
1899         with GCC attribute 'pure'.
1900         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
1901         'const'.
1902         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
1903         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
1904         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
1905         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
1906         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
1907         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
1908         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
1909         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
1910         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
1911         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
1912         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
1913         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
1914         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
1915         GCC attribute 'pure'.
1916         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
1917         'const'.
1918         * lib/uniwidth.in.h (uc_width): Simplify declaration.
1919         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
1920         u32_strwidth): Declare with GCC attribute 'pure'.
1921
1922         Enable common subexpression optimization in GCC.
1923         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1924         (alphasort): Declare with GCC attribute 'pure'.
1925         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1926         (atoll): Declare with GCC attribute 'pure'.
1927         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
1928         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
1929         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
1930         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
1931         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
1932         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
1933         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
1934
1935 2012-03-24  Bruno Haible  <bruno@clisp.org>
1936
1937         gnulib-tool: Avoid unintended error output from 'cmp'.
1938         * gnulib-tool (func_add_file, func_update_file, func_import): Use
1939         "cmp -s", not "cmp > /dev/null".
1940
1941 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
1942
1943         gnulib-tool: fix imprecise comments w.r.t. an automake bug
1944
1945         It's not just Automake versions < 1.9b that creates an empty
1946         pkgdatadir at installation time if pkgdata_DATA is specified
1947         to empty; modern automake versions do this as well, at least
1948         until automake 1.11.4 (not yet released at the moment of writing,
1949         but soon to appear).  That behaviour was generally considered a
1950         feature rather than a bug, at least until this discussion:
1951         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
1952
1953         See also automake bugs #10997 and #11030.
1954
1955         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
1956         reference to relevant automake bug numbers.
1957         (func_emit_tests_Makefile_am): Likewise.
1958
1959 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1960
1961         announce-gen: use Digest::SHA when possible
1962         * build-aux/announce-gen: Use Digest::SHA when possible, falling
1963         back to Digest::SHA1 if necessary.
1964
1965 2012-03-20  Jim Meyering  <meyering@redhat.com>
1966
1967         tests: avoid gcc warnings about argv vs. const initializers
1968         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
1969         warnings about discarding 'const' qualifier from pointer target type.
1970         * tests/test-posix_spawn2.c (main): Likewise.
1971
1972 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
1973
1974         README-release: simplify slightly
1975         * top/README-release: Run "git checkout master" only once.
1976
1977 2012-03-15  Mark Wielaard  <mark@klomp.org>
1978
1979         git-merge-changelog: add specific example on how to use with hg.
1980         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
1981
1982 2012-03-18  Mark Wielaard  <mark@klomp.org>
1983
1984         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
1985
1986 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
1987
1988         git-version-gen: don't let "prefix" envvar cause trouble
1989         * build-aux/git-version-gen (prefix): Initialize properly,
1990         so as not to use a value specified via the environment.
1991         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
1992
1993 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
1994
1995         regex: diagnose too-large repeat counts in EREs
1996         Previously, the code did not diagnose the too-large repeat count
1997         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
1998         as if it were 'b\{1000000000}', which is unexpected.
1999         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2000         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2001         is a reasonable one for this problem.  Another option would be to
2002         create a new REG_OVERFLOW error for repeat counts that are too large.
2003         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2004         count is too large, so that the caller can distinguish the two cases.
2005         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2006         "Too large" return code, and that repeat counts are one example of this.
2007
2008 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2009
2010         doc: some glibc x32 integer width issues
2011         * doc/posix-headers/sys_types.texi (sys/types.h):
2012         * doc/posix-headers/time.texi (time.h):
2013         Mention that glibc x32 does not conform to POSIX in a couple of
2014         areas related to integer widths.
2015
2016 2012-03-15  Bruno Haible  <bruno@clisp.org>
2017
2018         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2019         * lib/fma.c (VOLATILE): New macro.
2020         (FUNC): Use it to work around a GCC compiler bug.
2021
2022 2012-03-13  Bruno Haible  <bruno@clisp.org>
2023
2024         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2025         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2026         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2027         REPLACE_HYPOTL to 1.
2028         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2029
2030 2012-03-13  Bruno Haible  <bruno@clisp.org>
2031
2032         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2033         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2034         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2035         REPLACE_REMAINDERL to 1.
2036         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2037         bug.
2038
2039 2012-03-13  Bruno Haible  <bruno@clisp.org>
2040
2041         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2042         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2043         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2044         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2045         too big rounding errors.
2046         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2047         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2048         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2049         (Depends-on): Update conditions.
2050         * tests/test-sqrtl.c (my_ldexpl): New function.
2051         (main): Add test of a particular value.
2052         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2053
2054 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2055
2056         doc: Update timer_* platform portability notes.
2057         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2058         that always return ENOSYS.
2059         * doc/posix-functions/timer_delete.texi: Likewise.
2060         * doc/posix-functions/timer_gettime.texi: Likewise.
2061         * doc/posix-functions/timer_settime.texi: Likewise.
2062
2063 2012-03-13  Bruno Haible  <bruno@clisp.org>
2064
2065         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2066         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2067         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2068         REPLACE_CBRTL to 1.
2069         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2070
2071 2012-03-13  Bruno Haible  <bruno@clisp.org>
2072
2073         remainderl: Avoid compilation error on AIX >= 5.2.
2074         * lib/math.in.h (remainderl): Undefine macro from the system header.
2075
2076 2012-03-13  Bruno Haible  <bruno@clisp.org>
2077
2078         Avoid compilation errors with MSVC option -fp:strict.
2079         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2080         * lib/cbrtf.c: Likewise.
2081         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2082
2083 2012-03-12  Bruno Haible  <bruno@clisp.org>
2084
2085         uninorm: Don't crash in out-of-memory conditions.
2086         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2087         gracefully.
2088         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2089         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2090
2091 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2092
2093         quote: fix syntax-check
2094         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2095         also exports quote_quoting_options.
2096
2097 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2098
2099         Collapse list of copyright years to ranges.  See
2100         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2101         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2102         build-aux/csharpexec.sh.in, build-aux/gnupload,
2103         build-aux/install-reloc, build-aux/javacomp.sh.in,
2104         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2105         build-aux/move-if-change, build-aux/reloc-ldflags,
2106         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2107
2108 2012-03-11  Bruno Haible  <bruno@clisp.org>
2109
2110         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2111         * m4/log2f-ieee.m4: New file.
2112         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2113         whether log2f works with a minus zero argument. Replace it if not.
2114         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2115         (Depends-on): Add log2-ieee.
2116         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2117         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2118
2119         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2120         * m4/log2-ieee.m4: New file.
2121         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2122         whether log2 works with a minus zero argument. Replace it if not.
2123         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2124         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2125         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2126
2127         Tests for module 'log2l-ieee'.
2128         * modules/log2l-ieee-tests: New file.
2129         * tests/test-log2l-ieee.c: New file.
2130
2131         New module 'log2l-ieee'.
2132         * modules/log2l-ieee: New file.
2133
2134         Tests for module 'log2-ieee'.
2135         * modules/log2-ieee-tests: New file.
2136         * tests/test-log2-ieee.c: New file.
2137
2138         New module 'log2-ieee'.
2139         * modules/log2-ieee: New file.
2140
2141         Tests for module 'log2f-ieee'.
2142         * modules/log2f-ieee-tests: New file.
2143         * tests/test-log2f-ieee.c: New file.
2144         * tests/test-log2-ieee.h: New file.
2145
2146         New module 'log2f-ieee'.
2147         * modules/log2f-ieee: New file.
2148
2149 2012-03-11  Bruno Haible  <bruno@clisp.org>
2150
2151         Tests for module 'log2l'.
2152         * modules/log2l-tests: New file.
2153         * tests/test-log2l.c: New file.
2154
2155         New module 'log2l'.
2156         * lib/math.in.h (log2l): New declaration.
2157         * lib/log2l.c: New file.
2158         * m4/log2l.m4: New file.
2159         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2160         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2161         REPLACE_LOG2L.
2162         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2163         REPLACE_LOG2L.
2164         * modules/log2l: New file.
2165         * tests/test-math-c++.cc: Check the declaration of log2l.
2166         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2167         and OSF/1 problems.
2168
2169 2012-03-11  Bruno Haible  <bruno@clisp.org>
2170
2171         Tests for module 'log2f'.
2172         * modules/log2f-tests: New file.
2173         * tests/test-log2f.c: New file.
2174
2175         New module 'log2f'.
2176         * lib/math.in.h (log2f): New declaration.
2177         * lib/log2f.c: New file.
2178         * m4/log2f.m4: New file.
2179         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
2180         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
2181         REPLACE_LOG2F.
2182         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
2183         REPLACE_LOG2F.
2184         * modules/log2f: New file.
2185         * tests/test-math-c++.cc: Check the declaration of log2f.
2186         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
2187         and OSF/1 and Cygwin problems.
2188
2189 2012-03-11  Bruno Haible  <bruno@clisp.org>
2190
2191         Tests for module 'log2'.
2192         * modules/log2-tests: New file.
2193         * tests/test-log2.c: New file.
2194         * tests/test-log2.h: New file.
2195
2196         New module 'log2'.
2197         * lib/math.in.h (log2): New declaration.
2198         * lib/log2.c: New file.
2199         * m4/log2.m4: New file.
2200         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
2201         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
2202         REPLACE_LOG2.
2203         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
2204         REPLACE_LOG2.
2205         * modules/log2: New file.
2206         * tests/test-math-c++.cc: Check the declaration of log2.
2207         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
2208         and OSF/1 and Cygwin problems.
2209
2210 2012-03-11  Bruno Haible  <bruno@clisp.org>
2211
2212         exp2* tests: More tests.
2213         * tests/test-exp2.h (test_function): Test all integral arguments that
2214         don't need to overflow or denormalized numbers.
2215         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
2216         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
2217         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
2218
2219 2012-03-10  Bruno Haible  <bruno@clisp.org>
2220
2221         log1pl-ieee: Work around test failure on AIX 7.1.
2222         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
2223
2224         log1pl-ieee: Work around test failure on IRIX 6.5.
2225         * m4/log1pl-ieee.m4: New file.
2226         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
2227         test whether log1pl works with a minus zero argument. Replace it if
2228         not.
2229         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
2230         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
2231         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
2232         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
2233         (Depends-on): Update conditions.
2234         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2235         m4/signbit.m4.
2236         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
2237         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
2238
2239         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
2240         * m4/log1pf-ieee.m4: New file.
2241         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
2242         test whether log1pf works with a minus zero argument. Replace it if
2243         not.
2244         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
2245         m4/signbit.m4.
2246         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
2247         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
2248
2249         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
2250         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
2251         (configure.ac): Require gl_FUNC_LOG1PF.
2252
2253         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
2254         * m4/log1p-ieee.m4: New file.
2255         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
2256         whether log1p works with a minus zero argument. Replace it if not.
2257         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
2258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
2259         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
2260         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
2261         (Depends-on): Update conditions.
2262         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
2263         m4/signbit.m4.
2264         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
2265         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
2266
2267         Tests for module 'log1pl-ieee'.
2268         * modules/log1pl-ieee-tests: New file.
2269         * tests/test-log1pl-ieee.c: New file.
2270
2271         New module 'log1pl-ieee'.
2272         * modules/log1pl-ieee: New file.
2273
2274         Tests for module 'log1p-ieee'.
2275         * modules/log1p-ieee-tests: New file.
2276         * tests/test-log1p-ieee.c: New file.
2277
2278         New module 'log1p-ieee'.
2279         * modules/log1p-ieee: New file.
2280
2281         Tests for module 'log1pf-ieee'.
2282         * modules/log1pf-ieee-tests: New file.
2283         * tests/test-log1pf-ieee.c: New file.
2284         * tests/test-log1p-ieee.h: New file.
2285
2286         New module 'log1pf-ieee'.
2287         * modules/log1pf-ieee: New file.
2288
2289 2012-03-10  Bruno Haible  <bruno@clisp.org>
2290
2291         Tests for module 'log1pl'.
2292         * modules/log1pl-tests: New file.
2293         * tests/test-log1pl.c: New file.
2294
2295         New module 'log1pl'.
2296         * lib/math.in.h (log1pl): New declaration.
2297         * lib/log1pl.c: New file.
2298         * m4/log1pl.m4: New file.
2299         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
2300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
2301         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
2302         * modules/log1pl: New file.
2303         * tests/test-math-c++.cc: Check the declaration of log1pl.
2304         * doc/posix-functions/log1pl.texi: Mention the new module.
2305
2306 2012-03-10  Bruno Haible  <bruno@clisp.org>
2307
2308         Tests for module 'log1pf'.
2309         * modules/log1pf-tests: New file.
2310         * tests/test-log1pf.c: New file.
2311
2312         New module 'log1pf'.
2313         * lib/math.in.h (log1pf): New declaration.
2314         * lib/log1pf.c: New file.
2315         * m4/log1pf.m4: New file.
2316         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
2317         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
2318         REPLACE_LOG1PF.
2319         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
2320         REPLACE_LOG1PF.
2321         * modules/log1pf: New file.
2322         * tests/test-math-c++.cc: Check the declaration of log1pf.
2323         * doc/posix-functions/log1pf.texi: Mention the new module.
2324
2325 2012-03-10  Bruno Haible  <bruno@clisp.org>
2326
2327         log1p tests: More tests.
2328         * tests/test-log1p.h: New file.
2329         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
2330         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
2331         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
2332         (main): Invoke test_function.
2333
2334         log1p: Provide replacement for Minix and MSVC.
2335         * lib/math.in.h (log1p): New declaration.
2336         * lib/log1p.c: New file.
2337         * m4/log1p.m4: New file.
2338         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
2339         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
2340         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
2341         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
2342         (Depends-on): Add math, isnand, log, round.
2343         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
2344         HAVE_LOG1P is 0.
2345         * tests/test-math-c++.cc: Check the declaration of log1p.
2346         * doc/posix-functions/log1p.texi: Mention the replacement.
2347
2348 2012-03-10  Bruno Haible  <bruno@clisp.org>
2349
2350         math tests: Small simplification.
2351         * tests/test-exp.h (test_function): Use the same err_bound for
2352         'double' on platforms with sizeof (long double) == sizeof (double)
2353         than on platforms with sizeof (long double) > sizeof (double).
2354         * tests/test-exp2.h (test_function): Likewise.
2355         * tests/test-expm1.h (test_function): Likewise.
2356         * tests/test-log.h (test_function): Likewise.
2357
2358 2012-03-10  Bruno Haible  <bruno@clisp.org>
2359
2360         Fix some comments.
2361         * lib/expl.c: Fix an ambiguous comment.
2362         * lib/expm1.c: Likewise.
2363         * lib/expm1l.c: Likewise.
2364         * lib/exp2.c: Likewise.
2365         * lib/exp2l.c: Likewise.
2366
2367 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
2368
2369         regex: allow inclusion of <regex.h> before <limits.h>
2370         Without this patch, portable programs had to include <limits.h> before
2371         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
2372         I ran into this problem with a test version of GNU grep on Solaris 8.
2373         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
2374         This is done conditionally so that this change can be merged
2375         back to glibc.
2376         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
2377         using the included regex.
2378
2379         fts: depend on fdopendir
2380         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
2381         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
2382         problem was introduced when fdopendir was split out.
2383
2384 2012-03-10  Bruno Haible  <bruno@clisp.org>
2385
2386         Remove unused variables.
2387         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
2388         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
2389
2390 2012-03-10  Bruno Haible  <bruno@clisp.org>
2391
2392         isnanf-nolibm: Fix last commit.
2393         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
2394
2395         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
2396         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
2397
2398 2012-03-10  Bruno Haible  <bruno@clisp.org>
2399
2400         logf-ieee: Work around test failure on NetBSD 5.1.
2401         * m4/logf-ieee.m4: New file.
2402         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
2403         whether logf works with a negative argument. Replace it if not.
2404         * lib/logf.c (logf): For negative arguments, return NaN.
2405         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
2406         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
2407         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
2408
2409         logf-ieee: Work around test failure on Solaris 9.
2410         * modules/logf-ieee (Depends-on): Add log-ieee.
2411         (configure.ac): Require gl_FUNC_LOGF.
2412
2413         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2414         * m4/log-ieee.m4: New file.
2415         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
2416         log works with a negative argument. Replace it if not.
2417         * lib/log.c (log): For negative arguments, return NaN.
2418         * modules/log-ieee (Files): Add m4/log-ieee.m4.
2419         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
2420         * doc/posix-functions/log.texi: Mention the log-ieee module.
2421
2422         Tests for module 'logl-ieee'.
2423         * modules/logl-ieee-tests: New file.
2424         * tests/test-logl-ieee.c: New file.
2425
2426         New module 'logl-ieee'.
2427         * modules/logl-ieee: New file.
2428
2429         Tests for module 'log-ieee'.
2430         * modules/log-ieee-tests: New file.
2431         * tests/test-log-ieee.c: New file.
2432
2433         New module 'log-ieee'.
2434         * modules/log-ieee: New file.
2435
2436         Tests for module 'logf-ieee'.
2437         * modules/logf-ieee-tests: New file.
2438         * tests/test-logf-ieee.c: New file.
2439         * tests/test-log-ieee.h: New file.
2440
2441         New module 'logf-ieee'.
2442         * modules/logf-ieee: New file.
2443
2444 2012-03-10  Bruno Haible  <bruno@clisp.org>
2445
2446         log: Fix bug introduced on 2012-03-09.
2447         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
2448
2449 2012-03-10  Pádraig Brady  <P@draigBrady.com>
2450
2451         timer-time: link explicitly with pthreads on glibc
2452         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2453         to support static linking, when newer glibc is
2454         detected, as that contains pthread emulation of
2455         POSIX timer functions where required.
2456         * modules/timer-time: Depend on threadlib to
2457         pull in the appropriate library to link.
2458
2459 2012-03-10  Bruno Haible  <bruno@clisp.org>
2460
2461         log* tests: More tests.
2462         * tests/test-log.h: New file.
2463         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
2464         (main): Invoke test_function.
2465         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
2466         (main): Invoke test_function.
2467         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
2468         (main): Invoke test_function.
2469         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2470         tests/randomd.c.
2471         (Makefile.am): Add randomd.c to test_log_SOURCES.
2472         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2473         tests/randomf.c.
2474         (Makefile.am): Add randomf.c to test_logf_SOURCES.
2475         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
2476         tests/randoml.c.
2477         (Depends-on): Add 'float'.
2478         (Makefile.am): Add randoml.c to test_logl_SOURCES.
2479
2480 2012-03-09  Bruno Haible  <bruno@clisp.org>
2481
2482         logl: Work around OSF/1 5.1 bug.
2483         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
2484         * lib/logl.c (logl): If logl exists, use it and provide just the
2485         workaround.
2486         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
2487         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
2488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
2489         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
2490         * modules/logl (configure.ac): Consider REPLACE_LOGL.
2491         (Depends-on): Update conditions.
2492         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
2493
2494 2012-03-09  Bruno Haible  <bruno@clisp.org>
2495
2496         logf: Work around OSF/1 5.1 bug.
2497         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
2498         * lib/logf.c (logf): If logf exists, use it and provide just the
2499         workaround.
2500         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
2501         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
2502         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
2503         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
2504         * modules/logf (configure.ac): Consider REPLACE_LOGF.
2505         (Depends-on): Update conditions.
2506         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
2507
2508 2012-03-09  Bruno Haible  <bruno@clisp.org>
2509
2510         log: Work around OSF/1 5.1 bug.
2511         * lib/math.in.h (log): New declaration.
2512         * lib/log.c: New file.
2513         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
2514         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
2515         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
2516         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
2517         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
2518         * modules/log (Files): Add lib/log.c.
2519         (Depends-on): Add math.
2520         (configure.ac): If REPLACE_LOG is 1, compile an override.
2521         * tests/test-math-c++.cc: Check the declaration of log.
2522         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
2523
2524 2012-03-09  Jim Meyering  <meyering@redhat.com>
2525
2526         readtokens.c: adjust wording in a comment
2527         * lib/readtokens.c: Insert omitted "that" in a comment.
2528
2529 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2530
2531         modechange: add notations +40, 00440, etc.
2532         * lib/modechange.c (mode_compile): Support new notations
2533         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
2534
2535 2012-03-08  Bruno Haible  <bruno@clisp.org>
2536
2537         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
2538         * m4/exp2l-ieee.m4: New file.
2539         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
2540         test whether exp2l works with a NaN argument and with a negative
2541         infinity argument. Replace it if not.
2542         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
2543         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
2544         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
2545         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
2546         (Depends-on): Update conditions.
2547         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
2548         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
2549         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
2550
2551         Tests for module 'exp2l-ieee'.
2552         * modules/exp2l-ieee-tests: New file.
2553         * tests/test-exp2l-ieee.c: New file.
2554
2555         New module 'exp2l-ieee'.
2556         * modules/exp2l-ieee: New file.
2557
2558         Tests for module 'exp2-ieee'.
2559         * modules/exp2-ieee-tests: New file.
2560         * tests/test-exp2-ieee.c: New file.
2561
2562         New module 'exp2-ieee'.
2563         * modules/exp2-ieee: New file.
2564
2565         Tests for module 'exp2f-ieee'.
2566         * modules/exp2f-ieee-tests: New file.
2567         * tests/test-exp2f-ieee.c: New file.
2568         * tests/test-exp2-ieee.h: New file.
2569
2570         New module 'exp2f-ieee'.
2571         * modules/exp2f-ieee: New file.
2572
2573 2012-03-08  Bruno Haible  <bruno@clisp.org>
2574
2575         Tests for module 'exp2l'.
2576         * modules/exp2l-tests: New file.
2577         * tests/test-exp2l.c: New file.
2578
2579         New module 'exp2l'.
2580         * lib/math.in.h (exp2l): New declaration.
2581         * lib/exp2l.c: New file.
2582         * lib/expl-table.c: New file, extracted from lib/expl.c.
2583         * lib/expl.c (gl_expl_table): New declaration.
2584         (expl): Remove expl_table. Update reference.
2585         * m4/exp2l.m4: New file.
2586         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
2587         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
2588         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
2589         * modules/exp2l: New file.
2590         * modules/expl (Files): Add lib/expl-table.c.
2591         (configure.ac): Compile also expl-table.c.
2592         * tests/test-math-c++.cc: Check the declaration of exp2l.
2593         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
2594         problem.
2595
2596 2012-03-08  Bruno Haible  <bruno@clisp.org>
2597
2598         Tests for module 'exp2f'.
2599         * modules/exp2f-tests: New file.
2600         * tests/test-exp2f.c: New file.
2601
2602         New module 'exp2f'.
2603         * lib/math.in.h (exp2f): New declaration.
2604         * lib/exp2f.c: New file.
2605         * m4/exp2f.m4: New file.
2606         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
2607         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
2608         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
2609         * modules/exp2f: New file.
2610         * tests/test-math-c++.cc: Check the declaration of exp2f.
2611         * doc/posix-functions/exp2f.texi: Mention the new module and the
2612         IRIX problem.
2613
2614 2012-03-08  Bruno Haible  <bruno@clisp.org>
2615
2616         Tests for module 'exp2'.
2617         * modules/exp2-tests: New file.
2618         * tests/test-exp2.c: New file.
2619         * tests/test-exp2.h: New file.
2620
2621         New module 'exp2'.
2622         * lib/math.in.h (exp2): New declaration.
2623         * lib/exp2.c: New file.
2624         * m4/exp2.m4: New file.
2625         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
2626         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
2627         REPLACE_EXP2.
2628         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
2629         REPLACE_EXP2.
2630         * modules/exp2: New file.
2631         * tests/test-math-c++.cc: Check the declaration of exp2.
2632         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
2633         and OpenBSD problems.
2634
2635 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
2636
2637         savedir: fix comment typo
2638         * lib/savedir.c (savedirstream): Fix typo in comment.
2639
2640 2012-03-08  Bruno Haible  <bruno@clisp.org>
2641
2642         test-readtokens.c: use const; remove unwarranted cast
2643         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
2644
2645 2012-03-08  Bruno Haible  <bruno@clisp.org>
2646
2647         fmal: Avoid compilation error on AIX.
2648         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
2649         AIX 5.2..7.1.
2650
2651 2012-03-08  Bruno Haible  <bruno@clisp.org>
2652
2653         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
2654         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
2655         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
2656         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
2657         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
2658         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
2659         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
2660
2661 2012-03-08  Bruno Haible  <bruno@clisp.org>
2662
2663         remainderf: Override buggy system function on IRIX 6.5.
2664         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
2665         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
2666         when it exists.
2667         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
2668
2669 2012-03-08  Jim Meyering  <meyering@redhat.com>
2670
2671         test-readtokens.c: avoid const-related compilation warnings
2672         * tests/test-readtokens.c: Avoid const-related compilation warnings.
2673
2674 2012-03-07  Jim Meyering  <meyering@redhat.com>
2675             Bruno Haible  <bruno@clisp.org>
2676
2677         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
2678         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
2679         tests/randomd.c.
2680         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
2681         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
2682         tests/randoml.c.
2683         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
2684
2685 2012-03-07  Bruno Haible  <bruno@clisp.org>
2686
2687         expm1l: Avoid compilation error on AIX.
2688         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
2689         AIX 5.2..7.1.
2690
2691 2012-03-07  Bruno Haible  <bruno@clisp.org>
2692
2693         expm1l: Don't override undeclared system function on IRIX 6.5.
2694         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
2695         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
2696         it exists. Set HAVE_DECL_EXPM1L.
2697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
2698         HAVE_EXPM1L.
2699         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
2700         HAVE_EXPM1L.
2701         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
2702
2703 2012-03-07  Bruno Haible  <bruno@clisp.org>
2704
2705         remainderl: Don't override undeclared system function on IRIX 6.5.
2706         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
2707         HAVE_REMAINDERL.
2708         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
2709         declared when it exists. Set HAVE_DECL_REMAINDERL.
2710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
2711         not HAVE_REMAINDERL.
2712         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
2713         HAVE_REMAINDERL.
2714         * doc/posix-functions/remainderl.texi: Mention missing declaration
2715         problem.
2716
2717 2012-03-07  Bruno Haible  <bruno@clisp.org>
2718
2719         rintf: Don't override undeclared system function on IRIX 6.5.
2720         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
2721         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
2722         exists. Set HAVE_DECL_RINTF.
2723         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
2724         HAVE_RINTF.
2725         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
2726         HAVE_RINTF.
2727         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
2728
2729 2012-03-07  Bruno Haible  <bruno@clisp.org>
2730
2731         roundl: Avoid compilation error on AIX.
2732         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
2733         AIX 5.2..7.1.
2734
2735 2012-03-07  Bruno Haible  <bruno@clisp.org>
2736
2737         roundl: Don't override undeclared system function on IRIX 6.5.
2738         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
2739         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
2740         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2741         * modules/roundl (configure.ac): For replacement code, test
2742         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
2743         (Depends-on): Update conditions.
2744         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
2745
2746 2012-03-07  Bruno Haible  <bruno@clisp.org>
2747
2748         roundf: Don't override undeclared system function on IRIX 6.5.
2749         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
2750         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
2751         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2752         * modules/roundf (configure.ac): For replacement code, test
2753         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
2754         (Depends-on): Update conditions.
2755         * modules/roundf-ieee (Depends-on): Update conditions.
2756         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
2757
2758 2012-03-07  Bruno Haible  <bruno@clisp.org>
2759
2760         round: Don't override undeclared system function on IRIX 6.5.
2761         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
2762         argument.
2763         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
2764         also when it is not declared. Set HAVE_ROUND. For replacement code,
2765         test HAVE_ROUND, not HAVE_DECL_ROUND.
2766         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
2767         not HAVE_DECL_ROUND.
2768         (Depends-on): Update conditions.
2769         * modules/round-ieee (Depends-on): Update conditions.
2770         * doc/posix-functions/round.texi: Mention the IRIX problem.
2771
2772 2012-03-07  Bruno Haible  <bruno@clisp.org>
2773
2774         copysignf: Don't override undeclared system function on IRIX 6.5.
2775         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
2776         HAVE_COPYSIGNF.
2777         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
2778         declared when it exists. Set HAVE_DECL_COPYSIGNF.
2779         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
2780         not HAVE_COPYSIGNF.
2781         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
2782         HAVE_COPYSIGNF.
2783         * doc/posix-functions/copysignf.texi: Mention missing declaration
2784         problem.
2785
2786 2012-03-07  Jim Meyering  <meyering@redhat.com>
2787
2788         readtokens: add tests
2789         * modules/readtokens-tests: New file.
2790         * tests/test-readtokens.c: New file.
2791
2792 2012-03-07  Jim Meyering  <meyering@redhat.com>
2793
2794         quotearg: the module must now include quote.h
2795         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
2796         So must the module.
2797         * modules/quotearg (Files): Add quote.h.
2798
2799 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
2800
2801         readtokens: avoid core dumps with unusual calling patterns
2802         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
2803         * lib/readtokens.c: Include limits.h.
2804         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
2805         (readtoken): Don't cache the delimiters; the cache code was buggy
2806         if !delim && saved_delim, or if the new n_delim differs from the old.
2807         Also, it wasn't thread-safe.
2808
2809 2012-03-07  Bruno Haible  <bruno@clisp.org>
2810
2811         quote: Adhere to common module description layout.
2812         * modules/quote (Makefile.am): Add back empty section.
2813
2814 2012-03-06  Akim Demaille  <demaille@gostai.com>
2815
2816         quote: fuse into quotearg
2817         This patch is made for the benefit of Bison.
2818         quote does not leave the choice of the quoting style to the user.
2819         quoting_style provides poor customizability, yet quoting_options,
2820         which is very rich, is hidden inside quotearg.c.  So in order to
2821         allow quote customization, move its implementation to quotearg.c.
2822         * lib/quote.c: Remove.
2823         * modules/quote: Adjust.
2824         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
2825         warning: provide all the members of literal structs.
2826         (quote_quoting_options): New.
2827         (quote, quote_n): Import implementation from quote.c.
2828         * lib/quote.h: Import the comments from quote.c.
2829         (quote_quoting_options): New.
2830
2831 2012-03-06  Bruno Haible  <bruno@clisp.org>
2832
2833         Tests for module 'expm1l-ieee'.
2834         * modules/expm1l-ieee-tests: New file.
2835         * tests/test-expm1l-ieee.c: New file.
2836
2837         New module 'expm1l-ieee'.
2838         * modules/expm1l-ieee: New file.
2839
2840         Tests for module 'expm1f-ieee'.
2841         * modules/expm1f-ieee-tests: New file.
2842         * tests/test-expm1f-ieee.c: New file.
2843
2844         New module 'expm1f-ieee'.
2845         * modules/expm1f-ieee: New file.
2846
2847         Tests for module 'expm1-ieee'.
2848         * modules/expm1-ieee-tests: New file.
2849         * tests/test-expm1-ieee.c: New file.
2850         * tests/test-expm1-ieee.h: New file.
2851
2852         New module 'expm1-ieee'.
2853         * modules/expm1-ieee: New file.
2854         * m4/expm1-ieee.m4: New file.
2855         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
2856         whether expm1 works with a minus zero argument. Replace it if not.
2857         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
2858         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
2859         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
2860         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
2861         (Depends-on): Update conditions.
2862         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
2863         AIX problem.
2864
2865 2012-03-06  Bruno Haible  <bruno@clisp.org>
2866
2867         Work around expm1f bug on IRIX 6.5.
2868         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
2869         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
2870         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
2871         not work.
2872         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
2873         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
2874         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
2875         (Depends-on): Update conditions.
2876         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
2877
2878 2012-03-06  Bruno Haible  <bruno@clisp.org>
2879
2880         Tests for module 'expm1l'.
2881         * modules/expm1l-tests: New file.
2882         * tests/test-expm1l.c: New file.
2883
2884         New module 'expm1l'.
2885         * lib/math.in.h (expm1l): New declaration.
2886         * lib/expm1l.c: New file.
2887         * m4/expm1l.m4: New file.
2888         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
2889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
2890         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
2891         * modules/expm1l: New file.
2892         * tests/test-math-c++.cc: Check the declaration of expm1l.
2893         * doc/posix-functions/expm1l.texi: Mention the new module.
2894
2895 2012-03-06  Bruno Haible  <bruno@clisp.org>
2896
2897         Tests for module 'expm1f'.
2898         * modules/expm1f-tests: New file.
2899         * tests/test-expm1f.c: New file.
2900
2901         New module 'expm1f'.
2902         * lib/math.in.h (expm1f): New declaration.
2903         * lib/expm1f.c: New file.
2904         * m4/expm1f.m4: New file.
2905         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
2906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
2907         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
2908         * modules/expm1f: New file.
2909         * tests/test-math-c++.cc: Check the declaration of expm1f.
2910         * doc/posix-functions/expm1f.texi: Mention the new module.
2911
2912 2012-03-06  Bruno Haible  <bruno@clisp.org>
2913
2914         Tests for module 'expm1'.
2915         * modules/expm1-tests: New file.
2916         * tests/test-expm1.c: New file.
2917         * tests/test-expm1.h: New file.
2918
2919         New module 'expm1'.
2920         * lib/math.in.h (expm1): New declaration.
2921         * lib/expm1.c: New file.
2922         * m4/expm1.m4: New file.
2923         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
2924         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
2925         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
2926         * modules/expm1: New file.
2927         * tests/test-math-c++.cc: Check the declaration of expm1.
2928         * doc/posix-functions/expm1.texi: Mention the new module.
2929
2930 2012-03-06  Bruno Haible  <bruno@clisp.org>
2931
2932         math: Ensure declarations of math functions.
2933         * modules/acosf (Depends-on): Add 'extensions'.
2934         * modules/asinf (Depends-on): Likewise.
2935         * modules/atan2f (Depends-on): Likewise.
2936         * modules/atanf (Depends-on): Likewise.
2937         * modules/cbrt (Depends-on): Likewise.
2938         * modules/cbrtf (Depends-on): Likewise.
2939         * modules/cbrtl (Depends-on): Likewise.
2940         * modules/copysignf (Depends-on): Likewise.
2941         * modules/copysignl (Depends-on): Likewise.
2942         * modules/cosf (Depends-on): Likewise.
2943         * modules/coshf (Depends-on): Likewise.
2944         * modules/expf (Depends-on): Likewise.
2945         * modules/fabsf (Depends-on): Likewise.
2946         * modules/fabsl (Depends-on): Likewise.
2947         * modules/fmaf (Depends-on): Likewise.
2948         * modules/fmal (Depends-on): Likewise.
2949         * modules/fmodf (Depends-on): Likewise.
2950         * modules/fmodl (Depends-on): Likewise.
2951         * modules/frexpf (Depends-on): Likewise.
2952         * modules/frexpl (Depends-on): Likewise.
2953         * modules/hypot (Depends-on): Likewise.
2954         * modules/hypotf (Depends-on): Likewise.
2955         * modules/hypotl (Depends-on): Likewise.
2956         * modules/ldexpf (Depends-on): Likewise.
2957         * modules/ldexpl (Depends-on): Likewise.
2958         * modules/log10f (Depends-on): Likewise.
2959         * modules/log10l (Depends-on): Likewise.
2960         * modules/log1p (Depends-on): Likewise.
2961         * modules/logb (Depends-on): Likewise.
2962         * modules/logf (Depends-on): Likewise.
2963         * modules/modff (Depends-on): Likewise.
2964         * modules/modfl (Depends-on): Likewise.
2965         * modules/powf (Depends-on): Likewise.
2966         * modules/remainderf (Depends-on): Likewise.
2967         * modules/remainderl (Depends-on): Likewise.
2968         * modules/rintf (Depends-on): Likewise.
2969         * modules/rintl (Depends-on): Likewise.
2970         * modules/sinf (Depends-on): Likewise.
2971         * modules/sinhf (Depends-on): Likewise.
2972         * modules/sqrtf (Depends-on): Likewise.
2973         * modules/tanf (Depends-on): Likewise.
2974         * modules/tanhf (Depends-on): Likewise.
2975         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
2976         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
2977         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
2978         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
2979         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
2980         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
2981         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
2982         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
2983         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
2984         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
2985         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
2986         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
2987         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
2988         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
2989         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
2990         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
2991         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
2992         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
2993         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
2994         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
2995         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
2996         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
2997         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
2998         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
2999         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3000         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3001         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3002         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3003         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3004         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3005         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3006         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3007         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3008         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3009         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3010         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3011         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3012         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3013         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3014         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3015         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3016
3017 2012-03-06  Bruno Haible  <bruno@clisp.org>
3018
3019         math: Update module names in warnings.
3020         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3021         tanl): Use specific module name in warn-on-use warning.
3022
3023 2012-03-06  Bruno Haible  <bruno@clisp.org>
3024
3025         expl: Simplify computation.
3026         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3027
3028 2012-03-05  Bruno Haible  <bruno@clisp.org>
3029
3030         exp* tests: More tests.
3031         * tests/test-exp.h: New file.
3032         * tests/test-exp.c: Include <float.h> and test-exp.h.
3033         (main): Invoke test_function.
3034         * tests/test-expf.c: Include <float.h> and test-exp.h.
3035         (main): Invoke test_function.
3036         * tests/test-expl.c: Include <float.h> and test-exp.h.
3037         (main): Invoke test_function.
3038         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3039         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3040         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3041         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3042         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3043         (Depends-on): Add 'float'.
3044         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3045
3046         expl: Fix precision of computed result.
3047         * lib/expl.c: Completely rewritten.
3048         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3049         (Maintainer): Add me.
3050         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3051
3052 2012-03-05  Bruno Haible  <bruno@clisp.org>
3053
3054         cbrt* tests: More tests.
3055         * tests/test-cbrt.h: New file.
3056         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3057         (main): Invoke test_function.
3058         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3059         (main): Invoke test_function.
3060         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3061         (main): Invoke test_function.
3062         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3063         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3064         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3065         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3066         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3067         (Depends-on): Add 'float'.
3068         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3069
3070 2012-03-05  Bruno Haible  <bruno@clisp.org>
3071
3072         hypot* tests: More tests.
3073         * tests/test-hypot.h: New file, partially extracted from
3074         tests/test-hypotl.c.
3075         * tests/test-hypot.c: Include test-hypot.h.
3076         (main): Invoke test_function.
3077         * tests/test-hypotf.c: Include test-hypot.h.
3078         (main): Invoke test_function.
3079         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3080         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3081         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3082         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3083         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3084         tests/randomf.c.
3085         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3086         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3087         tests/randoml.c.
3088         (Depends-on): Add 'fpucw', 'float'.
3089         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3090
3091 2012-03-05  Bruno Haible  <bruno@clisp.org>
3092
3093         fpucw: Doc about FreeBSD.
3094         * lib/fpucw.h: Mention FreeBSD in comments.
3095
3096 2012-03-04  Bruno Haible  <bruno@clisp.org>
3097
3098         sqrt* tests: More tests.
3099         * tests/test-sqrt.h: New file.
3100         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3101         (main): Invoke test_function.
3102         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3103         (main): Invoke test_function.
3104         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3105         (main): Invoke test_function.
3106         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3107         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3108         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3109         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3110         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3111         (Depends-on): Add 'float'.
3112         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3113
3114 2012-03-04  Bruno Haible  <bruno@clisp.org>
3115
3116         remainder* tests: More tests.
3117         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3118         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3119         (main): Invoke test_function.
3120         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3121         (main): Invoke test_function.
3122         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3123         (main): Invoke test_function.
3124         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3125         tests/randomd.c.
3126         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3127         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3128         tests/randomf.c.
3129         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3130         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3131         tests/randoml.c.
3132         (Depends-on): Add 'float'.
3133         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3134
3135 2012-03-04  Bruno Haible  <bruno@clisp.org>
3136
3137         remainder, remainderf, remainderl: Fix computation for large quotients.
3138         * lib/remainder.c: Completely rewritten.
3139         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3140         USE_FLOAT.
3141         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3142         USE_LONG_DOUBLE.
3143         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3144         isnand, isinf. Remove round, fma.
3145         * modules/remainderf (Files): Add lib/remainder.c.
3146         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3147         Remove roundf, fmaf.
3148         * modules/remainderl (Files): Add lib/remainder.c.
3149         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3150         isinf. Remove roundl, fmal.
3151         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3152         REMAINDER_LIBM.
3153         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3154         REMAINDERF_LIBM.
3155         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3156         REMAINDERL_LIBM.
3157
3158 2012-03-04  Bruno Haible  <bruno@clisp.org>
3159
3160         fmod* tests: More tests.
3161         * tests/test-fmod.h (my_ldexp): New function.
3162         (test_function): Reduce amount of random numbers to test. Add tests
3163         of very large quotients x / y.
3164         * tests/test-fmod.c (MAX_EXP): New macro.
3165         * tests/test-fmodf.c (MAX_EXP): Likewise.
3166         * tests/test-fmodl.c (MAX_EXP): Likewise.
3167
3168 2012-03-04  Bruno Haible  <bruno@clisp.org>
3169
3170         fmod, fmodl: Fix computation for large quotients x / y.
3171         * lib/fmod.c: Completely rewritten.
3172         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
3173         USE_LONG_DOUBLE.
3174         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
3175         isnand. Remove fma.
3176         * modules/fmodl (Files): Add lib/fmod.c.
3177         (Depends-on): Add float, isfinite, signbit, fabsl,
3178         frexpl, ldexpl, isnanl. Remove fma.
3179         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
3180         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
3181
3182 2012-03-03  Bruno Haible  <bruno@clisp.org>
3183
3184         fmod* tests: More tests.
3185         * tests/test-fmod.h: New file.
3186         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
3187         (main): Invoke test_function.
3188         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
3189         (main): Invoke test_function.
3190         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
3191         (main): Invoke test_function.
3192         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
3193         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
3194         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
3195         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
3196         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
3197         (Depends-on): Add 'float'.
3198         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
3199
3200 2012-03-03  Bruno Haible  <bruno@clisp.org>
3201
3202         rint* tests: More tests.
3203         * tests/test-rint.h: New file, partially extracted from
3204         tests/test-rintl.c.
3205         * tests/test-rint.c: Include test-rint.h.
3206         (main): Invoke test_function.
3207         * tests/test-rintf.c: Include test-rint.h.
3208         (main): Invoke test_function.
3209         * tests/test-rintl.c: Include test-rint.h.
3210         (main): Invoke test_function.
3211         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
3212         (Makefile.am): Add randomd.c to test_rint_SOURCES.
3213         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
3214         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
3215         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
3216         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
3217
3218 2012-03-03  Bruno Haible  <bruno@clisp.org>
3219
3220         modf* tests: More tests.
3221         * tests/test-modf.h: New file.
3222         * tests/test-modf.c: Include <float.h> and test-modf.h.
3223         (main): Invoke test_function.
3224         * tests/test-modff.c: Include <float.h> and test-modf.h.
3225         (main): Invoke test_function.
3226         * tests/test-modfl.c: Include <float.h> and test-modf.h.
3227         (main): Invoke test_function.
3228         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
3229         (Makefile.am): Add randomd.c to test_modf_SOURCES.
3230         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
3231         (Makefile.am): Add randomf.c to test_modff_SOURCES.
3232         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
3233         (Depends-on): Add 'float'.
3234         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
3235
3236 2012-03-03  Bruno Haible  <bruno@clisp.org>
3237
3238         fabs* tests: More tests.
3239         * tests/test-fabs.h: New file, partially extracted from
3240         tests/test-fabsl.c.
3241         * tests/test-fabs.c (RANDOM): New macro.
3242         * tests/test-fabsf.c (RANDOM): New macro.
3243         * tests/test-fabsl.c (RANDOM): New macro.
3244         * modules/fabs-tests (Files): Add tests/randomd.c.
3245         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
3246         * modules/fabsf-tests (Files): Add tests/randomf.c.
3247         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
3248         * modules/fabsl-tests (Files): Add tests/randoml.c.
3249         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
3250
3251 2012-03-03  Bruno Haible  <bruno@clisp.org>
3252
3253         ldexp* tests: More tests.
3254         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
3255         * tests/test-ldexp.c (RANDOM): New macro.
3256         * tests/test-ldexpf.c (RANDOM): New macro.
3257         * tests/test-ldexpl.c (RANDOM): New macro.
3258         * modules/ldexp-tests (Files): Add tests/randomd.c.
3259         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
3260         * modules/ldexpf-tests (Files): Add tests/randomf.c.
3261         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
3262         * modules/ldexpl-tests (Files): Add tests/randoml.c.
3263         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
3264
3265 2012-03-03  Bruno Haible  <bruno@clisp.org>
3266
3267         frexp* tests: More tests.
3268         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
3269         * tests/test-frexp.c (RANDOM): New macro.
3270         * tests/test-frexpf.c (RANDOM): New macro.
3271         * tests/test-frexpl.c (RANDOM): New macro.
3272         * modules/frexp-tests (Files): Add tests/randomd.c.
3273         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
3274         * modules/frexpf-tests (Files): Add tests/randomf.c.
3275         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
3276         * modules/frexpl-tests (Files): Add tests/randoml.c.
3277         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
3278
3279 2012-03-03  Bruno Haible  <bruno@clisp.org>
3280
3281         Support for pseudo-random numbers in tests.
3282         * tests/randomf.c: New file.
3283         * tests/randomd.c: New file.
3284         * tests/randoml.c: New file.
3285         * tests/macros.h (randomf, randomd, randoml): New declarations.
3286
3287 2012-03-03  Bruno Haible  <bruno@clisp.org>
3288
3289         frexp* tests: Refactor.
3290         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
3291         * tests/test-frexp.c: Include and use it.
3292         * tests/test-frexpf.c: Likewise.
3293         * tests/test-frexpl.c: Likewise.
3294         * modules/frexp-tests (Files): Add tests/test-frexp.h.
3295         * modules/frexpf-tests (Files): Likewise.
3296         * modules/frexpl-tests (Files): Likewise.
3297
3298 2012-03-02  Jim Meyering  <meyering@redhat.com>
3299
3300         maint: don't specify XZ_OPT=-9ev in dist-related rule
3301         Using xz's -9 option is warranted only if you have a very large
3302         tarball (see xz's documentation for the sizes vs. presets), and
3303         requires 64MiB of memory at decompression time.
3304         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
3305         Automake's default of just "-e" is fine.  Override on a
3306         per-package basis by setting XZ_OPT e.g., in cfg.mk.
3307
3308 2012-03-01  Eric Blake  <eblake@redhat.com>
3309
3310         maint.mk: allow announcement for non-gnulib project
3311         * maint.mk (announcement): Skip gnulib version if not used.
3312
3313 2012-03-01  Jim Meyering  <meyering@redhat.com>
3314
3315         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
3316         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
3317         envvar settings cannot interfere.  Otherwise, setting envvars like
3318         prohibit=foo require=bar, etc. would cause spurious test failures.
3319
3320 2012-03-01  Eric Blake  <eblake@redhat.com>
3321
3322         maint.mk: add per-line exclusions to prohibitions
3323         * maint.mk (_sc_search_regexp): Add $exclude parameter.
3324         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
3325         (sc_const_long_option): Use it.
3326
3327 2012-03-01  Bruno Haible  <bruno@clisp.org>
3328
3329         Tests for module 'expl-ieee'.
3330         * modules/expl-ieee-tests: New file.
3331         * tests/test-expl-ieee.c: New file.
3332
3333         New module 'expl-ieee'.
3334         * modules/expl-ieee: New file.
3335
3336         Tests for module 'exp-ieee'.
3337         * modules/exp-ieee-tests: New file.
3338         * tests/test-exp-ieee.c: New file.
3339
3340         New module 'exp-ieee'.
3341         * modules/exp-ieee: New file.
3342
3343         Tests for module 'expf-ieee'.
3344         * modules/expf-ieee-tests: New file.
3345         * tests/test-expf-ieee.c: New file.
3346         * tests/test-exp-ieee.h: New file.
3347
3348         New module 'expf-ieee'.
3349         * modules/expf-ieee: New file.
3350
3351 2012-02-29  Bruno Haible  <bruno@clisp.org>
3352
3353         cbrtl-ieee: Work around test failure on IRIX 6.5.
3354         * m4/cbrtl-ieee.m4: New file.
3355         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
3356         test whether cbrtl works with a minus zero argument. Replace it if not.
3357         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
3358         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
3359         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
3360         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
3361         (Depends-on): Update conditions.
3362         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
3363         m4/signbit.m4.
3364         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
3365         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
3366         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
3367
3368         Tests for module 'cbrtl-ieee'.
3369         * modules/cbrtl-ieee-tests: New file.
3370         * tests/test-cbrtl-ieee.c: New file.
3371
3372         New module 'cbrtl-ieee'.
3373         * modules/cbrtl-ieee: New file.
3374
3375         Tests for module 'cbrt-ieee'.
3376         * modules/cbrt-ieee-tests: New file.
3377         * tests/test-cbrt-ieee.c: New file.
3378
3379         New module 'cbrt-ieee'.
3380         * modules/cbrt-ieee: New file.
3381
3382         Tests for module 'cbrtf-ieee'.
3383         * modules/cbrtf-ieee-tests: New file.
3384         * tests/test-cbrtf-ieee.c: New file.
3385         * tests/test-cbrt-ieee.h: New file.
3386
3387         New module 'cbrtf-ieee'.
3388         * modules/cbrtf-ieee: New file.
3389
3390 2012-02-29  Bruno Haible  <bruno@clisp.org>
3391
3392         cbrtf: Work around bug in IRIX 6.5 system function.
3393         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
3394         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
3395         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
3396         work.
3397         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
3398         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
3399         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
3400         (Depends-on): Update conditions.
3401         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
3402
3403 2012-02-29  Bruno Haible  <bruno@clisp.org>
3404
3405         Tests for module 'cbrtl'.
3406         * modules/cbrtl-tests: New file.
3407         * tests/test-cbrtl.c: New file.
3408
3409         New module 'cbrtl'.
3410         * lib/math.in.h (cbrtl): New declaration.
3411         * lib/cbrtl.c: New file.
3412         * m4/cbrtl.m4: New file.
3413         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
3414         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
3415         HAVE_DECL_CBRTL.
3416         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
3417         HAVE_DECL_CBRTL.
3418         * modules/cbrtl: New file.
3419         * tests/test-math-c++.cc: Check the declaration of cbrtl.
3420         * doc/posix-functions/cbrtl.texi: Mention the new module.
3421
3422 2012-02-29  Bruno Haible  <bruno@clisp.org>
3423
3424         Tests for module 'cbrtf'.
3425         * modules/cbrtf-tests: New file.
3426         * tests/test-cbrtf.c: New file.
3427
3428         New module 'cbrtf'.
3429         * lib/math.in.h (cbrtf): New declaration.
3430         * lib/cbrtf.c: New file.
3431         * m4/cbrtf.m4: New file.
3432         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
3433         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
3434         HAVE_DECL_CBRTF.
3435         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
3436         HAVE_DECL_CBRTF.
3437         * modules/cbrtf: New file.
3438         * tests/test-math-c++.cc: Check the declaration of cbrtf.
3439         * doc/posix-functions/cbrtf.texi: Mention the new module.
3440
3441 2012-02-29  Bruno Haible  <bruno@clisp.org>
3442
3443         cbrt: Provide replacement on MSVC and Minix.
3444         * lib/math.in.h (cbrt): New declaration.
3445         * lib/cbrt.c: New file.
3446         * m4/cbrt.m4: New file.
3447         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
3448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
3449         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
3450         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
3451         (Depends-on): Add dependencies.
3452         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
3453         * tests/test-math-c++.cc: Check the declaration of cbrt.
3454         * doc/posix-functions/cbrt.texi: Mention that the module provides a
3455         replacement.
3456
3457 2012-02-29  Bruno Haible  <bruno@clisp.org>
3458
3459         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
3460         * m4/hypotl-ieee.m4: New file.
3461         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
3462         test whether hypotl works with mixed NaN and Infinity arguments.
3463         Replace it if not.
3464         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
3465         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
3466         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
3467         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
3468         (Depends-on): Update conditions.
3469         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
3470         (Depends-on): Add hypot-ieee.
3471         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
3472         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
3473
3474         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
3475         * m4/hypotf-ieee.m4: New file.
3476         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
3477         test whether hypotf works with mixed NaN and Infinity arguments.
3478         Replace it if not.
3479         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
3480         (Depends-on): Add hypot-ieee.
3481         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
3482         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
3483
3484         hypot-ieee: Work around test failure on OSF/1 and native Windows.
3485         * lib/math.in.h (hypot): New declaration.
3486         * lib/hypot.c: New file.
3487         * m4/hypot-ieee.m4: New file.
3488         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
3489         whether hypot works with mixed NaN and Infinity arguments. Replace it
3490         if not.
3491         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
3492         REPLACE_HYPOT.
3493         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
3494         * modules/hypot (Files): Add lib/hypot.c.
3495         (Depends-on): Add dependencies.
3496         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
3497         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
3498         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
3499         * tests/test-math-c++.cc: Check the declaration of hypot.
3500         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
3501
3502         Tests for module 'hypotl-ieee'.
3503         * modules/hypotl-ieee-tests: New file.
3504         * tests/test-hypotl-ieee.c: New file.
3505
3506         New module 'hypotl-ieee'.
3507         * modules/hypotl-ieee: New file.
3508
3509         Tests for module 'hypot-ieee'.
3510         * modules/hypot-ieee-tests: New file.
3511         * tests/test-hypot-ieee.c: New file.
3512
3513         New module 'hypot-ieee'.
3514         * modules/hypot-ieee: New file.
3515
3516         Tests for module 'hypotf-ieee'.
3517         * modules/hypotf-ieee-tests: New file.
3518         * tests/test-hypotf-ieee.c: New file.
3519         * tests/test-hypot-ieee.h: New file.
3520
3521         New module 'hypotf-ieee'.
3522         * modules/hypotf-ieee: New file.
3523
3524 2012-02-29  Bruno Haible  <bruno@clisp.org>
3525
3526         Remove unused variables.
3527         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
3528         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3529         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
3530         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3531
3532 2012-02-29  Eric Blake  <eblake@redhat.com>
3533
3534         termios: fix pid_t always, not just for tcgetsid
3535         * doc/posix-headers/termios.texi (termios.h): Mention problem.
3536         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
3537         just when building tcgetsid.
3538
3539 2012-02-29  Bruno Haible  <bruno@clisp.org>
3540
3541         Tests for module 'hypotl'.
3542         * modules/hypotl-tests: New file.
3543         * tests/test-hypotl.c: New file.
3544
3545         New module 'hypotl'.
3546         * lib/math.in.h (hypotl): New declaration.
3547         * lib/hypotl.c: New file.
3548         * m4/hypotl.m4: New file.
3549         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3550         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
3551         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
3552         * modules/hypotl: New file.
3553         * tests/test-math-c++.cc: Check the hypotl declaration.
3554         * doc/posix-functions/hypotl.texi: Mention the new module.
3555
3556 2012-02-29  Eric Blake  <eblake@redhat.com>
3557
3558         tcgetsid: fix cygwin header bug
3559         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
3560
3561         docs: update cygwin progress
3562         * doc/posix-functions/llround.texi (llround): Added in cygwin
3563         1.7.8.
3564         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
3565         * doc/glibc-functions/program_invocation_name.texi
3566         (program_invocation_name): Likewise.
3567         * doc/glibc-functions/program_invocation_short_name.texi
3568         (program_invocation_short_name): Likewise.
3569         * doc/glibc-functions/madvise.texi (madvise): Likewise.
3570         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
3571         Likewise.
3572         * doc/posix-functions/pthread_spin_destroy.texi
3573         (pthread_spin_destroy): Added in cygwin 1.7.10.
3574         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
3575         Likewise.
3576         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
3577         Likewise.
3578         * doc/posix-functions/pthread_spin_trylock.texi
3579         (pthread_spin_trylock): Likewise.
3580         * doc/posix-functions/pthread_spin_unlock.texi
3581         (pthread_spin_unlock): Likewise.
3582         * doc/posix-functions/pthread_setschedprio.texi
3583         (pthread_setschedprio): Likewise.
3584         * doc/posix-functions/pthread_attr_getstack.texi
3585         (pthread_attr_getstack): Likewise.
3586         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
3587         (pthread_attr_getstackaddr): Likewise.
3588         * doc/glibc-functions/pthread_getattr_np.texi
3589         (pthread_getattr_np): Likewise.
3590         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
3591         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
3592         * doc/posix-functions/clock_settime.texi (clock_settime):
3593         Likewise.
3594         * doc/posix-functions/pthread_attr_getguardsize.texi
3595         (pthread_attr_getguardsize): Likewise.
3596         * doc/posix-functions/pthread_attr_setguardsize.texi
3597         (pthread_attr_setguardsize): Likewise.
3598         * doc/posix-functions/pthread_attr_setstack.texi
3599         (pthread_attr_setstack): Likewise.
3600         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
3601         (pthread_attr_setstackaddr): Likewise.
3602         * doc/posix-functions/clock_getcpuclockid.texi
3603         (clock_getcpuclockid): Likewise.
3604         * doc/posix-functions/pthread_getcpuclockid.texi
3605         (pthread_getcpuclockid): Likewise.
3606         * doc/glibc-functions/error.texi (error): Likewise.
3607         * doc/glibc-functions/error_at_line.texi (error_at_line):
3608         Likewise.
3609         * doc/glibc-functions/error_message_count.texi
3610         (error_message_count): Likewise.
3611         * doc/glibc-functions/error_one_per_line.texi
3612         (error_one_per_line): Likewise.
3613         * doc/glibc-functions/error_print_progname.texi
3614         (error_print_progname): Likewise.
3615         * doc/posix-functions/pthread_condattr_getclock.texi
3616         (pthread_condattr_getclock): Likewise.
3617         * doc/posix-functions/pthread_condattr_setclock.texi
3618         (pthread_condattr_setclock): Likewise.
3619         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
3620         Likewise.
3621         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
3622         * doc/glibc-functions/getpt.texi (getpt): Likewise.
3623         * doc/glibc-functions/get_current_dir_name.texi
3624         (get_current_dir_name): Likewise.
3625         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
3626         Likewise.
3627         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
3628         wrong return type.
3629         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
3630         1.7.11.
3631
3632 2012-02-29  Bruno Haible  <bruno@clisp.org>
3633
3634         Tests for module 'hypotf'.
3635         * modules/hypotf-tests: New file.
3636         * tests/test-hypotf.c: New file.
3637
3638         New module 'hypotf'.
3639         * lib/math.in.h (hypotf): New declaration.
3640         * lib/hypotf.c: New file.
3641         * m4/hypotf.m4: New file.
3642         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
3643         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
3644         REPLACE_HYPOTF.
3645         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
3646         REPLACE_HYPOTF.
3647         * modules/hypotf: New file.
3648         * tests/test-math-c++.cc: Check the hypotf declaration.
3649         * doc/posix-functions/hypotf.texi: Mention the new module.
3650
3651         hypot: Prepare for hypotf module.
3652         * m4/hypot.m4: New file.
3653         * modules/hypot (Files): Add m4/hypot.m4.
3654         (configure.ac): Invoke gl_FUNC_HYPOT.
3655
3656 2012-02-29  Bruno Haible  <bruno@clisp.org>
3657
3658         hypot tests: More tests.
3659         * tests/test-hypot.c: Include <float.h>.
3660         (main): Add tests about overflow and underflow.
3661
3662 2012-02-29  Bruno Haible  <bruno@clisp.org>
3663
3664         math code: Add comments.
3665         * lib/acosl.c: Add comment about related glibc source files.
3666         * lib/asinl.c: Likewise.
3667         * lib/atanl.c: Likewise.
3668         * lib/expl.c: Likewise.
3669         * lib/logl.c: Likewise.
3670         * lib/sincosl.c: Likewise.
3671         * lib/sinl.c: Likewise.
3672         * lib/tanl.c: Likewise.
3673         * lib/trigl.c: Likewise.
3674         * lib/cosl.c: Likewise. Fix comments.
3675
3676 2012-02-28  Bruno Haible  <bruno@clisp.org>
3677
3678         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
3679         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
3680         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
3681         HUGE_VALL are defined.
3682         (numeric_equald): Renamed from numeric_equal.
3683         (numeric_equalf, numeric_equall): New functions.
3684         (main): Check also HUGE_VALF, HUGE_VALL.
3685         * modules/math-tests (Files): Add tests/macros.h.
3686         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
3687         HUGE_VALL.
3688
3689 2012-02-28  Bruno Haible  <bruno@clisp.org>
3690
3691         doc: Move ISO C11 feature notes into POSIX chapters.
3692         * doc/posix-functions/aligned_alloc.texi: Renamed from
3693         doc/glibc-functions/aligned_alloc.texi.
3694         * doc/posix-functions/quick_exit.texi: Renamed from
3695         doc/glibc-functions/quick_exit.texi.
3696         * doc/posix-headers/uchar.texi: Renamed from
3697         doc/glibc-headers/uchar.texi.
3698         * doc/posix-functions/c16rtomb.texi: Renamed from
3699         doc/glibc-functions/c16rtomb.texi.
3700         * doc/posix-functions/c32rtomb.texi: Renamed from
3701         doc/glibc-functions/c32rtomb.texi.
3702         * doc/posix-functions/mbrtoc16.texi: Renamed from
3703         doc/glibc-functions/mbrtoc16.texi.
3704         * doc/posix-functions/mbrtoc32.texi: Renamed from
3705         doc/glibc-functions/mbrtoc32.texi.
3706         * doc/gnulib.texi: Update.
3707         (Glibc uchar.h): Remove section.
3708         Suggested by Eric Blake.
3709
3710 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
3711
3712         stdnoreturn: port to MSVC better
3713         MSVC standard headers use __declspec(noreturn), so #define noreturn
3714         to empty on that platform.  Reported by Bruno Haible in
3715         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
3716         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
3717         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
3718
3719 2012-02-28  Bruno Haible  <bruno@clisp.org>
3720
3721         doc: Mention new glibc headers and functions.
3722         * doc/glibc-headers/uchar.texi: New file.
3723         * doc/glibc-functions/aligned_alloc.texi: New file.
3724         * doc/glibc-functions/c16rtomb.texi: New file.
3725         * doc/glibc-functions/c32rtomb.texi: New file.
3726         * doc/glibc-functions/clock_adjtime.texi: New file.
3727         * doc/glibc-functions/fanotify_init.texi: New file.
3728         * doc/glibc-functions/fanotify_mark.texi: New file.
3729         * doc/glibc-functions/inet6_opt_append.texi: New file.
3730         * doc/glibc-functions/inet6_opt_find.texi: New file.
3731         * doc/glibc-functions/inet6_opt_finish.texi: New file.
3732         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
3733         * doc/glibc-functions/inet6_opt_init.texi: New file.
3734         * doc/glibc-functions/inet6_opt_next.texi: New file.
3735         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
3736         * doc/glibc-functions/inet6_rth_add.texi: New file.
3737         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
3738         * doc/glibc-functions/inet6_rth_init.texi: New file.
3739         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
3740         * doc/glibc-functions/inet6_rth_segments.texi: New file.
3741         * doc/glibc-functions/inet6_rth_space.texi: New file.
3742         * doc/glibc-functions/login.texi: New file.
3743         * doc/glibc-functions/mbrtoc16.texi: New file.
3744         * doc/glibc-functions/mbrtoc32.texi: New file.
3745         * doc/glibc-functions/name_to_handle_at.texi: New file.
3746         * doc/glibc-functions/ntp_gettimex.texi: New file.
3747         * doc/glibc-functions/open_by_handle_at.texi: New file.
3748         * doc/glibc-functions/prlimit.texi: New file.
3749         * doc/glibc-functions/process_vm_readv.texi: New file.
3750         * doc/glibc-functions/process_vm_writev.texi: New file.
3751         * doc/glibc-functions/recvmmsg.texi: New file.
3752         * doc/glibc-functions/scandirat.texi: New file.
3753         * doc/glibc-functions/sendmmsg.texi: New file.
3754         * doc/glibc-functions/setns.texi: New file.
3755         * doc/glibc-functions/timespec_get.texi: New file.
3756         * doc/gnulib.texi: Include them.
3757         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
3758         sections.
3759         Reported by Eric Blake.
3760
3761 2012-02-28  Bruno Haible  <bruno@clisp.org>
3762
3763         Avoid compilation errors with MSVC option -fp:strict.
3764         * lib/floor.c: Use MSVC specific pragma fenv_access.
3765         * lib/ceil.c: Likewise.
3766         * lib/trunc.c: Likewise.
3767         * lib/round.c: Likewise.
3768         * lib/rint.c: Likewise.
3769         * lib/fma.c: Likewise.
3770         * lib/integer_length.c: Likewise.
3771         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3772         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3773         * tests/test-floor2.c: Likewise.
3774         * tests/test-floorf2.c: Likewise.
3775         * tests/test-ceil2.c: Likewise.
3776         * tests/test-ceilf2.c: Likewise.
3777         * tests/test-trunc2.c: Likewise.
3778         * tests/test-truncf2.c: Likewise.
3779         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3780
3781 2012-02-27  Bruno Haible  <bruno@clisp.org>
3782
3783         Tests for module 'sqrtl-ieee'.
3784         * modules/sqrtl-ieee-tests: New file.
3785         * tests/test-sqrtl-ieee.c: New file.
3786
3787         New module 'sqrtl-ieee'.
3788         * modules/sqrtl-ieee: New file.
3789
3790         Tests for module 'sqrt-ieee'.
3791         * modules/sqrt-ieee-tests: New file.
3792         * tests/test-sqrt-ieee.c: New file.
3793
3794         New module 'sqrt-ieee'.
3795         * modules/sqrt-ieee: New file.
3796
3797         Tests for module 'sqrtf-ieee'.
3798         * modules/sqrtf-ieee-tests: New file.
3799         * tests/test-sqrtf-ieee.c: New file.
3800         * tests/test-sqrt-ieee.h: New file.
3801
3802         New module 'sqrtf-ieee'.
3803         * modules/sqrtf-ieee: New file.
3804
3805 2012-02-27  Bruno Haible  <bruno@clisp.org>
3806
3807         remainderl-ieee: Work around test failure on OSF/1.
3808         * m4/remainderl-ieee.m4: New file.
3809         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
3810         present, test whether remainderl works with a zero second argument.
3811         Replace it if not.
3812         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
3813         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
3814         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
3815         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
3816         (Depends-on): Update conditions.
3817         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
3818         (Depends-on): Add remainder-ieee.
3819         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
3820         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
3821         module.
3822
3823         remainderf-ieee: Work around test failure on OSF/1.
3824         * m4/remainderf-ieee.m4: New file.
3825         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
3826         present, test whether remainderf works with a zero second argument.
3827         Replace it if not.
3828         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
3829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
3830         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
3831         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
3832         (Depends-on): Update conditions.
3833         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
3834         (Depends-on): Add remainder-ieee.
3835         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
3836         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
3837         module.
3838
3839         remainder-ieee: Work around test failure on OSF/1.
3840         * m4/remainder-ieee.m4: New file.
3841         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
3842         present, test whether remainder works with a zero second argument.
3843         Replace it if not.
3844         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
3845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
3846         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
3847         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
3848         (Depends-on): Update dependencies.
3849         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
3850         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
3851         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
3852
3853         Tests for module 'remainderl-ieee'.
3854         * modules/remainderl-ieee-tests: New file.
3855         * tests/test-remainderl-ieee.c: New file.
3856
3857         New module 'remainderl-ieee'.
3858         * modules/remainderl-ieee: New file.
3859
3860         Tests for module 'remainder-ieee'.
3861         * modules/remainder-ieee-tests: New file.
3862         * tests/test-remainder-ieee.c: New file.
3863
3864         New module 'remainder-ieee'.
3865         * modules/remainder-ieee: New file.
3866
3867         Tests for module 'remainderf-ieee'.
3868         * modules/remainderf-ieee-tests: New file.
3869         * tests/test-remainderf-ieee.c: New file.
3870         * tests/test-remainder-ieee.h: New file.
3871
3872         New module 'remainderf-ieee'.
3873         * modules/remainderf-ieee: New file.
3874
3875 2012-02-27  Bruno Haible  <bruno@clisp.org>
3876
3877         modff, modfl: Fix configure syntax error.
3878         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
3879         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3880
3881 2012-02-27  Bruno Haible  <bruno@clisp.org>
3882
3883         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
3884         * m4/fmodl-ieee.m4: New file.
3885         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
3886         whether fmodl works with zero arguments. Replace it if not.
3887         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
3888         (Depends-on): Add fmod-ieee.
3889         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
3890         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
3891
3892         fmodf-ieee: Work around test failure on OSF/1.
3893         * m4/fmodf-ieee.m4: New file.
3894         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
3895         whether fmodf works with zero arguments. Replace it if not.
3896         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
3897         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
3898         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
3899         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
3900         (Depends-on): Update dependencies.
3901         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
3902         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
3903         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
3904
3905         fmodf-ieee: Work around test failure on MSVC 9.
3906         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
3907         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
3908
3909         fmod-ieee: Work around test failures on OSF/1, mingw.
3910         * m4/fmod-ieee.m4: New file.
3911         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
3912         whether fmod works with zero arguments. Replace it if not.
3913         * lib/math.in.h (fmod): New declaration.
3914         * lib/fmod.c: New file.
3915         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
3916         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
3917         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
3918         * modules/fmod (Files): Add lib/fmod.c.
3919         (Depends-on): Add math, isinf, trunc, fma.
3920         (configure.ac): Arrange to compile lib/fmod.c if needed.
3921         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
3922         m4/signbit.m4.
3923         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
3924         * tests/test-math-c++.cc: Check the declaration of fmod.
3925         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
3926
3927         fmodl-ieee: Fix test failures.
3928         * lib/fmodl.c (fmodl): Treat Inf specially.
3929         * modules/fmodl (Depends-on): Add isinf.
3930
3931         Tests for module 'fmodl-ieee'.
3932         * modules/fmodl-ieee-tests: New file.
3933         * tests/test-fmodl-ieee.c: New file.
3934
3935         New module 'fmodl-ieee'.
3936         * modules/fmodl-ieee: New file.
3937
3938         Tests for module 'fmod-ieee'.
3939         * modules/fmod-ieee-tests: New file.
3940         * tests/test-fmod-ieee.c: New file.
3941
3942         New module 'fmod-ieee'.
3943         * modules/fmod-ieee: New file.
3944
3945         Tests for module 'fmodf-ieee'.
3946         * modules/fmodf-ieee-tests: New file.
3947         * tests/test-fmodf-ieee.c: New file.
3948         * tests/test-fmod-ieee.h: New file.
3949
3950         New module 'fmodf-ieee'.
3951         * modules/fmodf-ieee: New file.
3952
3953 2012-02-27  Bruno Haible  <bruno@clisp.org>
3954
3955         Tests for module 'rintl-ieee'.
3956         * modules/rintl-ieee-tests: New file.
3957         * tests/test-rintl-ieee.c: New file.
3958
3959         New module 'rintl-ieee'.
3960         * modules/rintl-ieee: New file.
3961
3962         Tests for module 'rint-ieee'.
3963         * modules/rint-ieee-tests: New file.
3964         * tests/test-rint-ieee.c: New file.
3965
3966         New module 'rint-ieee'.
3967         * modules/rint-ieee: New file.
3968
3969         Tests for module 'rintf-ieee'.
3970         * modules/rintf-ieee-tests: New file.
3971         * tests/test-rintf-ieee.c: New file.
3972         * tests/test-rint-ieee.h: New file.
3973
3974         New module 'rintf-ieee'.
3975         * modules/rintf-ieee: New file.
3976
3977 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
3978
3979         regex: re_search etc. should return -2 when memory exhausted
3980         This bug was uncovered when testing 'grep'.  Without the fix,
3981         re_search and friends return -1 when memory is exhausted, but -1
3982         means no match, and this causes grep to falsely report no-match
3983         instead of memory-exhaustion.  See
3984         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
3985         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
3986         trouble; this can occur if re_search_internal ran out of memory.
3987
3988 2012-02-26  Bruno Haible  <bruno@clisp.org>
3989
3990         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
3991         * m4/modfl-ieee.m4: New file.
3992         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
3993         whether modfl works with Inf. Replace it if not.
3994         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
3995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
3996         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
3997         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
3998         (Depends-on): Update dependencies.
3999         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4000         m4/signbit.m4.
4001         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4002         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4003
4004         modfl-ieee: Fix dependencies.
4005         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4006
4007         modfl-ieee: Fix test failures.
4008         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4009         * modules/modfl (Depends-on): Add isfinite, isinf.
4010
4011         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4012         * m4/modff-ieee.m4: New file.
4013         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4014         whether modff works with NaN and Inf. Replace it if not.
4015         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4016         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4017         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4018         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4019         (Depends-on): Update dependencies.
4020         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4021         m4/signbit.m4.
4022         (Depends-on): Add modf-ieee.
4023         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4024         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4025
4026         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4027         * m4/modf-ieee.m4: New file.
4028         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4029         whether modf works with NaN and Inf. Replace it if not.
4030         * lib/math.in.h (modf): New declaration.
4031         * lib/modf.c: New file.
4032         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4033         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4034         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4035         * modules/modf (Files): Add lib/modf.c.
4036         (Depends-on): Add math, isfinite, trunc, isinf.
4037         (configure.ac): Addrange to compile lib/modf.c if needed.
4038         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4039         m4/signbit.m4.
4040         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4041         * tests/test-math-c++.cc: Check the declaration of modf.
4042         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4043
4044         Tests for module 'modfl-ieee'.
4045         * modules/modfl-ieee-tests: New file.
4046         * tests/test-modfl-ieee.c: New file.
4047
4048         New module 'modfl-ieee'.
4049         * modules/modfl-ieee: New file.
4050
4051         Tests for module 'modf-ieee'.
4052         * modules/modf-ieee-tests: New file.
4053         * tests/test-modf-ieee.c: New file.
4054
4055         New module 'modf-ieee'.
4056         * modules/modf-ieee: New file.
4057
4058         Tests for module 'modff-ieee'.
4059         * modules/modff-ieee-tests: New file.
4060         * tests/test-modff-ieee.c: New file.
4061         * tests/test-modf-ieee.h: New file.
4062
4063         New module 'modff-ieee'.
4064         * modules/modff-ieee: New file.
4065
4066 2012-02-26  Bruno Haible  <bruno@clisp.org>
4067
4068         Tests for module 'fabsl-ieee'.
4069         * modules/fabsl-ieee-tests: New file.
4070         * tests/test-fabsl-ieee.c: New file.
4071
4072         New module 'fabsl-ieee'.
4073         * modules/fabsl-ieee: New file.
4074
4075         Tests for module 'fabs-ieee'.
4076         * modules/fabs-ieee-tests: New file.
4077         * tests/test-fabs-ieee.c: New file.
4078
4079         New module 'fabs-ieee'.
4080         * modules/fabs-ieee: New file.
4081
4082         Tests for module 'fabsf-ieee'.
4083         * modules/fabsf-ieee-tests: New file.
4084         * tests/test-fabsf-ieee.c: New file.
4085         * tests/test-fabs-ieee.h: New file.
4086
4087         New module 'fabsf-ieee'.
4088         * modules/fabsf-ieee: New file.
4089
4090 2012-02-26  Bruno Haible  <bruno@clisp.org>
4091
4092         Tests for module 'fmal-ieee'.
4093         * modules/fmal-ieee-tests: New file.
4094         * tests/test-fmal-ieee.c: New file.
4095
4096         New module 'fmal-ieee'.
4097         * modules/fmal-ieee: New file.
4098
4099         Tests for module 'fma-ieee'.
4100         * modules/fma-ieee-tests: New file.
4101         * tests/test-fma-ieee.c: New file.
4102
4103         New module 'fma-ieee'.
4104         * modules/fma-ieee: New file.
4105
4106         Tests for module 'fmaf-ieee'.
4107         * modules/fmaf-ieee-tests: New file.
4108         * tests/test-fmaf-ieee.c: New file.
4109         * tests/test-fma-ieee.h: New file.
4110
4111         New module 'fmaf-ieee'.
4112         * modules/fmaf-ieee: New file.
4113
4114 2012-02-26  Bruno Haible  <bruno@clisp.org>
4115
4116         Tests for module 'ldexpl-ieee'.
4117         * modules/ldexpl-ieee-tests: New file.
4118         * tests/test-ldexpl-ieee.c: New file.
4119
4120         New module 'ldexpl-ieee'.
4121         * modules/ldexpl-ieee: New file.
4122
4123         Tests for module 'ldexp-ieee'.
4124         * modules/ldexp-ieee-tests: New file.
4125         * tests/test-ldexp-ieee.c: New file.
4126
4127         New module 'ldexp-ieee'.
4128         * modules/ldexp-ieee: New file.
4129
4130         Tests for module 'ldexpf-ieee'.
4131         * modules/ldexpf-ieee-tests: New file.
4132         * tests/test-ldexpf-ieee.c: New file.
4133         * tests/test-ldexp-ieee.h: New file.
4134
4135         New module 'ldexpf-ieee'.
4136         * modules/ldexpf-ieee: New file.
4137
4138 2012-02-26  Bruno Haible  <bruno@clisp.org>
4139
4140         Refactor frexp*-ieee tests.
4141         * tests/test-frexp-ieee.h: New file.
4142         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4143         (main): Just call test_function.
4144         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4145         (main): Just call test_function.
4146         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4147         (main): Just call test_function.
4148         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4149         * modules/frexp-ieee-tests (Files): Likewise.
4150         * modules/frexpl-ieee-tests (Files): Likewise.
4151
4152         Tests for module 'frexpl-ieee'.
4153         * modules/frexpl-ieee-tests: New file.
4154         * tests/test-frexpl-ieee.c: New file.
4155
4156         New module 'frexpl-ieee'.
4157         * modules/frexpl-ieee: New file.
4158
4159         Tests for module 'frexp-ieee'.
4160         * modules/frexp-ieee-tests: New file.
4161         * tests/test-frexp-ieee.c: New file.
4162
4163         New module 'frexp-ieee'.
4164         * modules/frexp-ieee: New file.
4165
4166         Tests for module 'frexpf-ieee'.
4167         * modules/frexpf-ieee-tests: New file.
4168         * tests/test-frexpf-ieee.c: New file.
4169
4170         New module 'frexpf-ieee'.
4171         * modules/frexpf-ieee: New file.
4172
4173 2012-02-26  Bruno Haible  <bruno@clisp.org>
4174
4175         roundl-ieee tests: More tests.
4176         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4177         (main): Add tests for [MX] shaded specification in POSIX.
4178         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4179         (Depends-on): Add isnanl-nolibm.
4180
4181         round-ieee tests: More tests.
4182         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4183         (main): Add tests for [MX] shaded specification in POSIX.
4184         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4185         (Depends-on): Add isnand-nolibm.
4186
4187         roundf-ieee tests: More tests.
4188         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4189         (main): Add tests for [MX] shaded specification in POSIX.
4190         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4191         (Depends-on): Add isnanf-nolibm.
4192
4193         truncl-ieee tests: More tests.
4194         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4195         (main): Add tests for [MX] shaded specification in POSIX.
4196         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4197         (Depends-on): Add isnanl-nolibm.
4198
4199         trunc-ieee tests: More tests.
4200         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4201         (main): Add tests for [MX] shaded specification in POSIX.
4202         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4203         (Depends-on): Add isnand-nolibm.
4204
4205         truncf-ieee tests: More tests.
4206         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4207         (main): Add tests for [MX] shaded specification in POSIX.
4208         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4209         (Depends-on): Add isnanf-nolibm.
4210
4211         ceill-ieee tests: More tests.
4212         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4213         (main): Add tests for [MX] shaded specification in POSIX.
4214         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4215         (Depends-on): Add isnanl-nolibm.
4216
4217         ceil-ieee tests: More tests.
4218         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4219         (main): Add tests for [MX] shaded specification in POSIX.
4220         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4221         (Depends-on): Add isnand-nolibm.
4222
4223         ceilf-ieee tests: More tests.
4224         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4225         (main): Add tests for [MX] shaded specification in POSIX.
4226         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4227         (Depends-on): Add isnanf-nolibm.
4228
4229         floorl-ieee tests: More tests.
4230         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
4231         (main): Add tests for [MX] shaded specification in POSIX.
4232         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4233         (Depends-on): Add isnanl-nolibm.
4234
4235         floor-ieee tests: More tests.
4236         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
4237         (main): Add tests for [MX] shaded specification in POSIX.
4238         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4239         (Depends-on): Add isnand-nolibm.
4240
4241         floorf-ieee tests: More tests.
4242         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
4243         (main): Add tests for [MX] shaded specification in POSIX.
4244         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
4245         (Depends-on): Add isnanf-nolibm.
4246
4247 2012-02-26  Bruno Haible  <bruno@clisp.org>
4248
4249         fpieee: More comments.
4250         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
4251
4252 2012-02-25  Bruno Haible  <bruno@clisp.org>
4253
4254         Tests for module 'log10l'.
4255         * modules/log10l-tests: New file.
4256         * tests/test-log10l.c: New file.
4257         * tests/test-math-c++.cc: Check the declaration of log10l.
4258
4259         New module 'log10l'.
4260         * lib/math.in.h (log10l): New declaration.
4261         * lib/log10l.c: New file.
4262         * m4/log10l.m4: New file.
4263         * modules/log10l: New file.
4264         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
4265         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
4266         HAVE_DECL_LOG10L.
4267         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
4268         HAVE_DECL_LOG10L.
4269         * doc/posix-functions/log10l.texi: Mention the new module.
4270
4271 2012-02-25  Bruno Haible  <bruno@clisp.org>
4272
4273         fmodl, remainder*: Avoid wrong results due to rounding errors.
4274         * lib/fmodl.c (fmodl): Correct the result if it is not within the
4275         expected bounds.
4276         * lib/remainderf.c (remainderf): Likewise.
4277         * lib/remainder.c (remainder): Likewise.
4278         * lib/remainderl.c (remainderl): Likewise.
4279
4280 2012-02-25  Bruno Haible  <bruno@clisp.org>
4281
4282         Tests for module 'remainderl'.
4283         * modules/remainderl-tests: New file.
4284         * tests/test-remainderl.c: New file.
4285         * tests/test-math-c++.cc: Check the declaration of remainderl.
4286
4287         New module 'remainderl'.
4288         * lib/math.in.h (remainderl): New declaration.
4289         * lib/remainderl.c: New file.
4290         * m4/remainderl.m4: New file.
4291         * modules/remainderl: New file.
4292         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
4293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
4294         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
4295         HAVE_REMAINDERL.
4296         * doc/posix-functions/remainderl.texi: Mention the new module.
4297
4298 2012-02-25  Bruno Haible  <bruno@clisp.org>
4299
4300         Tests for module 'remainderf'.
4301         * modules/remainderf-tests: New file.
4302         * tests/test-remainderf.c: New file.
4303         * tests/test-math-c++.cc: Check the declaration of remainderf.
4304
4305         New module 'remainderf'.
4306         * lib/math.in.h (remainderf): New declaration.
4307         * lib/remainderf.c: New file.
4308         * m4/remainderf.m4: New file.
4309         * modules/remainderf: New file.
4310         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
4311         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
4312         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
4313         HAVE_REMAINDERF.
4314         * doc/posix-functions/remainderf.texi: Mention the new module.
4315
4316 2012-02-25  Bruno Haible  <bruno@clisp.org>
4317
4318         remainder: Support for MSVC.
4319         * lib/math.in.h (remainder): New declaration.
4320         * lib/remainder.c: New file.
4321         * m4/remainder.m4: New file.
4322         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
4323         (Depends-on): Add math, round, fma.
4324         (configure.ac): Use results of gl_FUNC_REMAINDER.
4325         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
4326         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
4327         HAVE_DECL_REMAINDER.
4328         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
4329         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
4330         * tests/test-math-c++.cc: Check the declaration of remainder.
4331         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
4332         problems are fixed.
4333
4334 2012-02-25  Bruno Haible  <bruno@clisp.org>
4335
4336         Tests for module 'fmodl'.
4337         * modules/fmodl-tests: New file.
4338         * tests/test-fmodl.c: New file.
4339         * tests/test-math-c++.cc: Check the declaration of fmodl.
4340
4341         New module 'fmodl'.
4342         * lib/math.in.h (fmodl): New declaration.
4343         * lib/fmodl.c: New file.
4344         * m4/fmodl.m4: New file.
4345         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
4346         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
4347         REPLACE_FMODL.
4348         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
4349         REPLACE_FMODL.
4350         * modules/fmodl: New file.
4351         * doc/posix-functions/fmodl.texi: Mention the new module.
4352
4353 2012-02-25  Bruno Haible  <bruno@clisp.org>
4354
4355         Tests for module 'modfl'.
4356         * modules/modfl-tests: New file.
4357         * tests/test-modfl.c: New file.
4358         * tests/test-math-c++.cc: Check the declaration of modfl.
4359
4360         New module 'modfl'.
4361         * lib/math.in.h (modfl): New declaration.
4362         * lib/modfl.c: New file.
4363         * m4/modfl.m4: New file.
4364         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
4365         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
4366         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
4367         * modules/modfl: New file.
4368         * doc/posix-functions/modfl.texi: Mention the new module.
4369
4370 2012-02-25  Bruno Haible  <bruno@clisp.org>
4371
4372         Tests for module 'fabsl'.
4373         * modules/fabsl-tests: New file.
4374         * tests/test-fabsl.c: New file.
4375         * tests/test-math-c++.cc: Check the declaration of fabsl.
4376
4377         New module 'fabsl'.
4378         * lib/math.in.h (fabsl): New declaration.
4379         * lib/fabsl.c: New file.
4380         * m4/fabsl.m4: New file.
4381         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
4382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
4383         REPLACE_FABSL.
4384         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
4385         REPLACE_FABSL.
4386         * modules/fabsl: New file.
4387         * doc/posix-functions/fabsl.texi: Mention the new module.
4388
4389 2012-02-25  Bruno Haible  <bruno@clisp.org>
4390
4391         fabs tests: More tests.
4392         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
4393         (zero): New variable.
4394         (main): Add tests for signed zero.
4395         * modules/fabs-tests (Files): Add tests/minus-zero.h.
4396
4397         fabsf tests: More tests.
4398         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
4399         (zero): New variable.
4400         (main): Add tests for signed zero.
4401         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
4402
4403 2012-02-24  Bruno Haible  <bruno@clisp.org>
4404
4405         atanl: Provide function definition on MSVC.
4406         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
4407         function pointer.
4408         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
4409
4410 2012-02-24  Bruno Haible  <bruno@clisp.org>
4411
4412         acosl: Provide function definition on MSVC.
4413         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
4414         function pointer.
4415         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
4416
4417 2012-02-24  Bruno Haible  <bruno@clisp.org>
4418
4419         asinl: Provide function definition on MSVC.
4420         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
4421         function pointer.
4422         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
4423
4424 2012-02-24  Bruno Haible  <bruno@clisp.org>
4425
4426         tanl: Provide function definition on MSVC.
4427         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
4428         function pointer.
4429         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
4430
4431 2012-02-24  Bruno Haible  <bruno@clisp.org>
4432
4433         cosl: Provide function definition on MSVC.
4434         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
4435         function pointer.
4436         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
4437
4438 2012-02-24  Bruno Haible  <bruno@clisp.org>
4439
4440         sinl: Provide function definition on MSVC.
4441         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
4442         function pointer.
4443         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
4444
4445 2012-02-24  Bruno Haible  <bruno@clisp.org>
4446
4447         logl: Provide function definition on MSVC.
4448         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
4449         function pointer.
4450         * lib/math.in.h (logl): Undefine if it does not exist as a function.
4451
4452 2012-02-24  Bruno Haible  <bruno@clisp.org>
4453
4454         expl: Provide function definition on MSVC.
4455         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
4456         function pointer.
4457         * lib/math.in.h (expl): Undefine if it does not exist as a function.
4458
4459 2012-02-24  Bruno Haible  <bruno@clisp.org>
4460
4461         sqrtl: Provide function definition on MSVC.
4462         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
4463         a function pointer.
4464         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
4465
4466 2012-02-24  Bruno Haible  <bruno@clisp.org>
4467
4468         ceill: Provide function definition on MSVC.
4469         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
4470         used as a function pointer.
4471         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
4472
4473 2012-02-24  Bruno Haible  <bruno@clisp.org>
4474
4475         floorl: Provide function definition on MSVC.
4476         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
4477         used as a function pointer.
4478         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
4479
4480 2012-02-24  Bruno Haible  <bruno@clisp.org>
4481
4482         ceilf: Provide function definition on MSVC.
4483         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
4484         used as a function pointer.
4485         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
4486
4487 2012-02-24  Bruno Haible  <bruno@clisp.org>
4488
4489         floorf: Provide function definition on MSVC.
4490         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
4491         used as a function pointer.
4492         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
4493
4494 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
4495
4496         stdnoreturn: new module
4497         This implements a replacement for C11's <stdnoreturn.h>.
4498         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
4499         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
4500         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
4501         * tests/test-stdnoreturn.c: New files.
4502
4503 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
4504
4505         regex: fix false multibyte matches in some regular expressions
4506         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
4507         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
4508         * lib/regex_internal.c (re_string_skip_chars):
4509         Fix miscomputation of remain_len that may cause incomplete
4510         multi-byte character and false match.
4511
4512 2012-02-24  Jim Meyering  <meyering@redhat.com>
4513
4514         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
4515         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
4516         uses with "==" *before* the call, e.g., 0 == strcmp (...)
4517         Remove now-unnecessary str''cmp obfuscation.
4518         Suggested by Akim Demaille.
4519
4520 2012-02-24  Bruno Haible  <bruno@clisp.org>
4521
4522         streq: Rename macro.
4523         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
4524         * NEWS: Mention the change.
4525         * lib/mbrtowc.c (mbrtowc): Update.
4526         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
4527         * lib/wcwidth.c (wcwidth): Update.
4528         Suggested by Akim Demaille and Jim Meyering.
4529
4530 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4531
4532         regex: fix typo in definition of MIN
4533         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
4534         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
4535
4536 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4537             Bruno Haible  <bruno@clisp.org>
4538
4539         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
4540         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
4541         entries into a stack-allocated buffer directly.
4542         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
4543
4544 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
4545             Bruno Haible  <bruno@clisp.org>
4546
4547         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
4548
4549          - There were several instances of this pattern:
4550
4551              for (;;) {
4552                n = acl (f, GETACLCNT, 0, NULL);
4553                [ allocate an array A of size N ]
4554                if (acl (f, GETACL, n, a) == n)
4555                  break;
4556              }
4557
4558            This loop might never terminate if some other process is constantly
4559            manipulating the file's ACL.  The loop should be rewritten to
4560            terminate.
4561
4562          - The acl (... GETACLNT ...) call is merely an optimization; its value
4563            is merely a hint as to how big to make the array.  A better
4564            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
4565            and just guess a reasonably-big size, growing the size and trying
4566            again if it's not large enough.  This guarantees termination, and
4567            saves a system call.
4568
4569         * lib/acl-internal.h: Include <limits.h>.
4570         (MIN, SIZE_MAX): New macros.
4571         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
4572         a stack-allocated buffer, and use malloc if it does not fit. Don't
4573         use GETACLCNT.
4574         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4575
4576 2012-02-19  Bruno Haible  <bruno@clisp.org>
4577
4578         acl: Fix endless loop on Solaris with vxfs.
4579         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
4580         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
4581         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
4582         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
4583         * tests/test-sameacls.c (main)[Solaris]: Likewise.
4584         Reported by Bill Jones in
4585         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
4586
4587 2012-02-19  Bruno Haible  <bruno@clisp.org>
4588
4589         acl: Fix copy-acl test failure on Solaris 11 2011-11.
4590         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
4591         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
4592         that this function returns 0 in some more cases.
4593
4594 2012-02-19  Bruno Haible  <bruno@clisp.org>
4595
4596         acl: Update doc references.
4597         * doc/acl-resources.txt: Update links to Solaris documentation.
4598
4599 2012-02-19  Bruno Haible  <bruno@clisp.org>
4600
4601         Fix test failure in many locales on Solaris 11.
4602         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
4603         'tr' arguments.
4604         * tests/test-pipe-filter-ii1.c (main): Likewise.
4605         * build-aux/bootstrap (check_versions): Run 'tr' command with range
4606         expressions in the C locale.
4607         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
4608         * m4/host-os.m4 (gl_HOST_OS): Likewise.
4609
4610 2012-02-19  Bruno Haible  <bruno@clisp.org>
4611
4612         gnulib-tool: Improve usage message.
4613         * gnulib-tool (func_usage): Move doc of --help and --version to the
4614         section "Operation modes".
4615
4616 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
4617
4618         README-release: make it easier to execute commands
4619         * top/README-release: break commands out on to separate lines.
4620
4621 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
4622
4623         GNUmakefile: simplify detection of unconfigured trees
4624         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
4625         whether the tree make is being run from is already configured or
4626         not.  Related simplifications.
4627
4628 2012-02-13  Simon Josefsson  <simon@josefsson.org>
4629
4630         * gnulib-tool (func_usage): Document --help and --version.
4631
4632 2012-02-11  Jim Meyering  <meyering@redhat.com>
4633
4634         bootstrap: don't exit 0 upon gnulib-tool failure
4635         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
4636         its exit status, not 0.
4637
4638 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
4639
4640         README-release: various improvements
4641         * top/README-release: Give a command to push changes for the
4642         release.  Add "distcheck" to list of other pre-release checks.
4643         Fix instance of "make stable" which should be "make TYPE".
4644
4645 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
4646
4647         maint: replace FSF snail-mail addresses with URLs
4648         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
4649         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
4650         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
4651         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
4652         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
4653         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
4654         * lib/check-version.c, lib/check-version.h, lib/config.charset:
4655         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
4656         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
4657         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
4658         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
4659         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
4660         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
4661         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
4662         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
4663         * lib/glthread/thread.c, lib/glthread/thread.h:
4664         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
4665         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
4666         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
4667         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
4668         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
4669         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
4670         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
4671         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
4672         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
4673         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
4674         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
4675         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
4676         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
4677         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
4678         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
4679         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
4680         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
4681         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
4682         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
4683         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
4684         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
4685         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
4686         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
4687         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
4688         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
4689         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
4690         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
4691         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
4692         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
4693         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
4694         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
4695         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
4696         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
4697         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
4698         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
4699         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
4700         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
4701         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
4702         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
4703         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
4704         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
4705         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
4706         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
4707         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
4708         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
4709         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
4710         * tests/test-poll.c, tests/test-quotearg-simple.c:
4711         * tests/test-quotearg.c, tests/test-quotearg.h:
4712         * tests/test-round-ieee.c, tests/test-round1.c:
4713         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
4714         * tests/test-roundl-ieee.c, tests/test-roundl.c:
4715         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
4716         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
4717         * tests/test-strerror.c, tests/test-strerror_r.c:
4718         * tests/test-strsignal.c, tests/test-strverscmp.c:
4719         * tests/test-xmemdup0.c:
4720         Replace FSF snail mail addresses with URLs, as per GNU coding
4721         standards.  See glibc bug
4722         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
4723
4724 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
4725
4726         README-release: capitalize a word and split a line
4727         * top/README-release: Fix punctuation and spacing.
4728
4729 2012-02-08  Akim Demaille  <demaille@gostai.com>
4730
4731         fatal-signal: use C prototypes (with explicit void).
4732         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
4733         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
4734
4735 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4736
4737         regex: spelling fix
4738         * lib/regexec.c: spelling fix
4739
4740         regex: rely on stdint.h for SIZE_MAX
4741         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
4742
4743 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
4744
4745         regex: merge glibc changes
4746
4747         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
4748         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
4749         (init_word_char): Work even if bitset words are not exactly 32 or
4750         64 bits wide.  Don't assume there are no padding bits.
4751         * lib/regex.c [_LIBC]: Do not include <config.h>.
4752         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
4753         and -Wtype-limits.
4754         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
4755         needless disagreement with glibc.  All uses changed.  Define it to
4756         1 only if _GNU_SOURCE, to match glibc.
4757         (_REG_RM_NAME): Remove; no longer needed, since the names in
4758         question are now all protected by __USE_GNU.
4759         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
4760         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
4761         * lib/regex_internal.h (MIN): New macro.
4762
4763         2012-01-03 Ulrich Drepper <drepper@gmail.com>
4764         * lib/regcomp.c (init_word_char): Optimize regex a bit.
4765
4766         2011-12-30 Jakub Jelinek <jakub@redhat.com>
4767         * lib/regex_internal.c (re_string_fetch_byte_case):
4768         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
4769         is miscompiled, and it turns out it is because of an incorrect
4770         attribute on re_string_fetch_byte_case.  Unlike
4771         re_string_peek_byte_case, this one is really not pure, it modifies
4772         memory (increments pstr->cur_idx), and with the pure attribute GCC
4773         assumed it doesn't and it cached the presumed value of
4774         regexp->cur_idx in a variable across the
4775          for (;; ++i)
4776            {
4777              if (i >= BRACKET_NAME_BUF_SIZE)
4778                return REG_EBRACK;
4779              if (token->type == OP_OPEN_CHAR_CLASS)
4780                ch = re_string_fetch_byte_case (regexp);
4781              else
4782                ch = re_string_fetch_byte (regexp);
4783              if (re_string_eoi(regexp))
4784                return REG_EBRACK;
4785              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
4786                break;
4787              elem->opr.name[i] = ch;
4788            }
4789
4790         2011-11-29 Andreas Schwab <schwab@redhat.com>
4791         * lib/regcomp.c (build_equiv_class):
4792         Fix access after end of search string in regex matcher.
4793
4794         2011-11-12 Ulrich Drepper <drepper@redhat.com>
4795         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
4796
4797         2011-10-12 Ulrich Drepper <drepper@redhat.com>
4798         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
4799
4800         2011-10-11 Ulrich Drepper <drepper@redhat.com>
4801         * lib/regcomp.c (parse_branch, parse_sub_exp):
4802         More regex memory leak fixes and tests.
4803         (parse_sub_exp, parse_bracket_exp):
4804         Fix memory leak for some invalid regular expressions.
4805
4806         2011-05-28 Ulrich Drepper <drepper@gmail.com>
4807         * lib/regex_internal.c, lib/regexec.c:
4808         Fix unnecessary overallocation due to incomplete character.  When
4809         incomplete characters are found at the end of a string the code
4810         ran amok and allocated lots of memory.  Stricter limits are now in
4811         place.
4812
4813         2011-05-20 Reuben Thomas <rrt@sc3d.org>
4814         * lib/regex.h: Update documentation.
4815
4816         2011-05-16 Aharon Robbins <arnold@skeeve.com>
4817         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
4818
4819         2010-05-05 Andreas Schwab <schwab@redhat.com>
4820         * lib/regexec.c (find_collation_sequence_value):
4821         Fix lookup of collation sequence value during regexp matching.
4822
4823         2010-01-22 Ulrich Drepper <drepper@redhat.com>
4824         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
4825
4826         2008-01-16 Ulrich Drepper <drepper@redhat.com>
4827         * lib/regex.h: Cleanup namespace.
4828
4829         2007-11-26 Ulrich Drepper <drepper@redhat.com>
4830         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
4831
4832         2007-08-26 Ulrich Drepper <drepper@redhat.com>
4833         * lib/regex_internal.h: Prevent some declarations and definitions
4834         to be seen when used in tests.
4835
4836         2005-05-06 Ulrich Drepper <drepper@redhat.com>
4837         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
4838         __libc_lock_* macros if not _LIBC.
4839         (struct re_dfa_t): Add lock.
4840
4841 2012-02-07  Eric Blake  <eblake@redhat.com>
4842
4843         maint.mk: also prohibit lower-case @var@
4844         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
4845         lower case, like @top_srcdir@.
4846
4847 2012-02-04  Eric Blake  <eblake@redhat.com>
4848
4849         canonicalize: avoid uninitialized memory use
4850         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
4851         random '/' left in dest.
4852         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
4853
4854 2012-02-04  Bruno Haible  <bruno@clisp.org>
4855
4856         isatty: Fix test failure of ptsname_r on native Windows.
4857         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
4858         and don't set errno.
4859         (isatty): Test first whether fd is valid. Set errno when returning 0.
4860
4861 2012-02-04  Bruno Haible  <bruno@clisp.org>
4862
4863         spawn-pipe tests: Fix a NULL program name in a diagnostic.
4864         * tests/test-spawn-pipe-main.c: Include progname.h.
4865         (main): Invoke set_program_name.
4866         * modules/spawn-pipe-tests (Depends-on): Add progname.
4867
4868         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
4869         * tests/test-nonblocking-socket-main.c: Include progname.h.
4870         (main): Invoke set_program_name.
4871         * modules/nonblocking-socket-tests (Depends-on): Add progname.
4872
4873         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
4874         * tests/test-nonblocking-pipe-main.c: Include progname.h.
4875         (main): Invoke set_program_name.
4876         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
4877
4878 2012-02-04  Eric Blake  <eblake@redhat.com>
4879
4880         canonicalize-lgpl: fix // handling
4881         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
4882
4883         canonicalize: fix // handling
4884         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
4885         /// to //, since only // is special.
4886
4887 2012-02-04  Bruno Haible  <bruno@clisp.org>
4888
4889         ioctl: Fix test failure on native Windows.
4890         * lib/ioctl.c: Include msvc-nothrow.h.
4891         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
4892
4893 2012-02-04  Bruno Haible  <bruno@clisp.org>
4894
4895         fsync: Avoid test failure on native Windows.
4896         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
4897         read-only.
4898
4899 2012-02-04  Bruno Haible  <bruno@clisp.org>
4900
4901         sys_select: Avoid syntax error on OpenBSD 5.0.
4902         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
4903         currently being included, just include the system's <sys/select.h>.
4904
4905 2012-02-04  Bruno Haible  <bruno@clisp.org>
4906
4907         sys_select: Avoid syntax error on OpenBSD 5.0.
4908         * lib/sys_select.in.h: Include <signal.h> only after the include_next
4909         <sys/select.h>, not before.
4910         Reported by Jiri B <jirib@devio.us>.
4911
4912 2012-02-04  Bruno Haible  <bruno@clisp.org>
4913
4914         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
4915         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
4916         global variables.
4917         * tests/test-get-rusage-data.c (main): Likewise.
4918         Reported by Jim Meyering.
4919
4920 2012-02-04  Bruno Haible  <bruno@clisp.org>
4921
4922         stdioext: Fix last commit.
4923         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
4924
4925 2012-02-03  Bruno Haible  <bruno@clisp.org>
4926
4927         stdioext: Add tentative support for Plan9.
4928         * lib/stdio-impl.h: Include <errno.h>.
4929         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
4930         * lib/freadable.c (freadable): Likewise.
4931         * lib/fwritable.c (fwritable): Likewise.
4932         * lib/fbufmode.c (fbufmode): Likewise.
4933         * lib/freading.c (freading): Likewise.
4934         * lib/fwriting.c (fwriting): Likewise.
4935         * lib/freadptr.c (freadptr): Likewise.
4936         * lib/freadseek.c (freadptrinc): Likewise.
4937         * lib/freadahead.c (freadahead): Likewise.
4938         * lib/fpurge.c (fpurge): Likewise.
4939         * lib/fseeko.c (rpl_fseeko): Likewise.
4940         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
4941         Reported by Jens Staal <staal1978@gmail.com>.
4942
4943 2012-02-02  Jim Meyering  <meyering@redhat.com>
4944
4945         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
4946         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
4947         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
4948         not even to try to add the attribute.  Instead, add a pragma to suppress
4949         the suggestion/warning.
4950
4951 2012-01-31  Karl Berry  <karl@gnu.org>
4952
4953         setstate doc: typo.
4954         * doc/posix-functions/setstate.texi (setstate): { not (.
4955
4956 2012-01-31  Bruno Haible  <bruno@clisp.org>
4957
4958         popen: Make more robust on Windows.
4959         * lib/popen.c: On native Windows, use the _popen based code even if
4960         HAVE_POPEN is set.
4961         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
4962         environment variable on native Windows.
4963
4964 2012-01-30  Bruno Haible  <bruno@clisp.org>
4965
4966         pclose: Fix typo.
4967         * lib/stdio.in.h (pclose): Fix typo in warning message.
4968
4969 2012-01-30  Bruno Haible  <bruno@clisp.org>
4970
4971         doc about getlogin_r, setstate.
4972         * doc/posix-functions/getlogin_r.texi: List the incompatible
4973         declaration problem under "not fixed by gnulib".
4974         * doc/posix-functions/setstate.texi: Mention incompatible declaration
4975         problem on Solaris 11 and other platforms.
4976
4977 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
4978             Bruno Haible  <bruno@clisp.org>
4979
4980         poll tests: Make test more robust.
4981         * tests/test-poll.c: Include macros.h.
4982         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
4983         return value of various I/O operations.
4984         * modules/poll-tests (Files): Add tests/macros.h.
4985
4986 2012-01-30  Bruno Haible  <bruno@clisp.org>
4987
4988         sys_stat: Fix support for mingw64 and MSVC.
4989         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
4990         header files already do it.
4991         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
4992         stat itself.
4993         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
4994
4995 2012-01-30  Bruno Haible  <bruno@clisp.org>
4996
4997         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
4998         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
4999         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5000
5001 2012-01-29  Bruno Haible  <bruno@clisp.org>
5002
5003         quotearg: Fix test failure on MacOS X 10.5.
5004         * tests/test-quotearg-simple.c: Include localcharset.h.
5005         (main): If the locale encoding is not ASCII, bypass the tests of
5006         locale_quoting_style and clocale_quoting_style.
5007         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5008
5009 2012-01-29  Jim Meyering  <meyering@redhat.com>
5010
5011         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5012         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5013         detect uses of canonicalize_file_name.
5014
5015 2012-01-28  Bruno Haible  <bruno@clisp.org>
5016
5017         test-framework-sh: Fix test failure with AIX 7.1 diff.
5018         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5019         in column 1, like 'diff -c' does.
5020         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5021         whether 'diff -u' is used. Instead, test whether the output contains
5022         some '@' character.
5023
5024 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5025
5026         strtoimax: eliminate need for stdint.h, inttypes.h checks
5027         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5028         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5029         the prerequisites for a recently-introduced strtoimax test.
5030         I guess this might cause strtoimax to be replaced when not
5031         strictly necessary on older hosts, but this shouldn't introduce
5032         any bugs and it should make Emacs 'configure' faster on typical
5033         modern hosts.  Problem discovered when importing the latest gnulib
5034         to an Emacs test version.
5035         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5036
5037 2012-01-28  Bruno Haible  <bruno@clisp.org>
5038
5039         sys_time: Override 'struct timeval' on some native Windows platforms.
5040         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5041         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5042         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5043         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5044         needs to be overridden.
5045         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5046         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5047         * tests/test-sys_select.c: Check that the tv_sec member has the same
5048         size as a 'time_t'.
5049         * tests/test-sys_time.c: Likewise.
5050         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5051         is set, set also REPLACE_GETTIMEOFDAY.
5052         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5053         convert the resulting 'struct timeval' before returning.
5054         * lib/select.c: Include <sys/time.h>.
5055         (select, timeval): Undefine at the right place.
5056         * modules/select (Depends-on): Add sys_time.
5057         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5058         some Windows platforms.
5059         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5060
5061 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5062
5063         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5064         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5065         an integer.
5066         * lib/fcntl.c (dupfd): Likewise.
5067         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5068
5069 2012-01-28  Bruno Haible  <bruno@clisp.org>
5070
5071         fcntl: Avoid compilation error on native Windows.
5072         * modules/fcntl (Depends-on): Add 'close'.
5073
5074 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5075
5076         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5077         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5078         pointer to an integer.
5079         * lib/poll.c (IsConsoleHandle): Likewise.
5080         * lib/isatty.c (IsConsoleHandle): Likewise.
5081
5082 2012-01-28  Jim Meyering  <meyering@redhat.com>
5083
5084         doc: clarify README-release
5085         * top/README-release: Clarify: you should make a point to have
5086         the latest stable versions of build tools in your PATH, and the
5087         reference to buildreq is solely for its list of tool names, not
5088         for its minimal-functional version numbers.
5089         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5090
5091         maint.mk: use more readable (yet functionally equivalent) quoting
5092         It is common to quote a single quote in a single quoted string like
5093         this:  '...'\''...'.  Unless you know the idiom, that looks like
5094         gibberish, so prefer to double-quote the string when possible.
5095         Then you can use a more readable, lone single quote: "...'..."
5096         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5097         "don't" is more readable than the equivalent 'don'\''t'.
5098         (sc_cast_of_x_alloc_return_value): Likewise.
5099         (sc_cast_of_alloca_return_value): Likewise.
5100         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5101         rather than '\'':'\''.
5102
5103 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5104
5105         stdalign: relax _Alignof and tighten _Alignas test
5106         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5107         as it was too strict: alignof must divide offsetof, but it need
5108         not equal offsetof.  Inspired by Joseph S. Myers's comment
5109         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5110         Conversely, tighten the _Alignas test a bit, as the resulting
5111         alignment must be exactly 8.
5112
5113 2012-01-27  Bruno Haible  <bruno@clisp.org>
5114
5115         stdalign: Document the last change.
5116         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5117
5118 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5119
5120         stdalign: check that alignof and offsetof are consistent
5121         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5122         Problem reported for gnulib by Richard W.M. Jones in
5123         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5124
5125 2012-01-27  Jim Meyering  <meyering@redhat.com>
5126
5127         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5128         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5129         convert a sequence with gaps to the minimal containing range.
5130         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5131         * tests/test-update-copyright.sh: Test for this.
5132         The FSF confirmed it is ok to do this, assuming there is at
5133         least one significant change per year in the affected range:
5134         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5135
5136 2012-01-26  Bruno Haible  <bruno@clisp.org>
5137
5138         pipe2: refine doc about thread-safety
5139         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5140         multithread-safety problem.
5141         * doc/glibc-functions/accept4.texi: Likewise.
5142
5143 2012-01-26  Bruno Haible  <bruno@clisp.org>
5144
5145         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5146         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5147         In the test program, include <fcntl.h>, for O_RDONLY.
5148
5149 2012-01-26  Eric Blake  <eblake@redhat.com>
5150
5151         pipe2: document lack of thread-safety in replacement
5152         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5153         issue in replacement.
5154         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5155         Based on a report by Eric Wong.
5156
5157 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5158             Bruno Haible  <bruno@clisp.org>
5159
5160         malloca: Avoid warnings on x86_64 mingw64.
5161         * lib/malloca.c: Include <stdint.h>.
5162         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5163         * modules/malloca (Depends-on): Add stdint.
5164         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5165
5166 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5167
5168         obstack: remove __STDC__ conditionals
5169         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5170         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
5171         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
5172         m4/include_next.m4 as the only gnulib-maintained places that still
5173         refer to __STDC__.
5174
5175 2012-01-24  Bruno Haible  <bruno@clisp.org>
5176
5177         havelib: Modern quoting.
5178         * build-aux/config.rpath: Quote 'like this', not `like this', as per
5179         the recent change to the GNU coding standards.
5180
5181 2012-01-24  Bruno Haible  <bruno@clisp.org>
5182
5183         stdint: Improve support for Android.
5184         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
5185         Reported by Simon Josefsson <simon@josefsson.org>.
5186
5187 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5188
5189         doc: omit trailing empty lines from INSTALL etc.
5190         * doc/Makefile (INSTALL): Omit trailing empty lines.
5191         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
5192         omit trailing empty lines.  This simplifies the build procedure.
5193
5194 2012-01-23  Jim Meyering  <meyering@redhat.com>
5195
5196         tests: avoid spurious warnings about gl_sockets_startup
5197         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
5198         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
5199         reporting a "statement with no effect".
5200         * tests/test-accept.c (main): Mark as "(void)".
5201         * tests/test-accept4.c (main): Likewise.
5202         * tests/test-bind.c (main): Likewise.
5203         * tests/test-connect.c (main): Likewise.
5204         * tests/test-getpeername.c (main): Likewise.
5205         * tests/test-getsockname.c (main): Likewise.
5206         * tests/test-getsockopt.c (main): Likewise.
5207         * tests/test-listen.c (main): Likewise.
5208         * tests/test-recv.c (main): Likewise.
5209         * tests/test-recvfrom.c (main): Likewise.
5210         * tests/test-send.c (main): Likewise.
5211         * tests/test-sendto.c (main): Likewise.
5212         * tests/test-setsockopt.c (main): Likewise.
5213         * tests/test-shutdown.c (main): Likewise.
5214
5215 2012-01-21  Bruno Haible  <bruno@clisp.org>
5216
5217         locale-fr.m4: Fix for Android.
5218         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
5219         failure of the test program on Bionic libc.
5220
5221 2012-01-21  Jim Meyering  <meyering@redhat.com>
5222
5223         bootstrap: fail when bootstrap_post_import_hook fails
5224         Otherwise, it's far too easy to miss diagnostics emitted
5225         between gnulib-tool's output and that of running configure.
5226         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
5227
5228 2012-01-17  Jim Meyering  <meyering@redhat.com>
5229
5230         maint: enable sc_trailing_blank
5231         * build-aux/pmccabe.css: Remove trailing blanks.
5232         * doc/acl-cygwin.txt: Likewise.
5233         * doc/gnu-oids.texi: Likewise
5234         * cfg.mk: Enable sc_trailing_blank.
5235         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
5236
5237 2012-01-17  Jim Meyering  <meyering@redhat.com>
5238
5239         maint: enable sc_prohibit_openat_without_use
5240         * cfg.mk: Enable sc_prohibit_openat_without_use.
5241         Exempt lib/selinux-at.c.
5242
5243 2012-01-17  Jim Meyering  <meyering@redhat.com>
5244
5245         maint: enable sc_prohibit_cloexec_without_use
5246         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
5247         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
5248
5249 2012-01-17  Jim Meyering  <meyering@redhat.com>
5250
5251         maint: enable sc_prohibit_intprops_without_use
5252         * cfg.mk: Enable sc_prohibit_intprops_without_use
5253         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
5254
5255 2012-01-17  Jim Meyering  <meyering@redhat.com>
5256
5257         maint: enable sc_prohibit_hash_pjw_without_use
5258         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
5259         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
5260         to match any use of \<hash_pjw\>, i.e., not necessarily with a
5261         following " (".
5262
5263 2012-01-17  Jim Meyering  <meyering@redhat.com>
5264
5265         maint: enable double-word-prohibiting rule
5266         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
5267         Exempt three files.
5268
5269 2012-01-17  Jim Meyering  <meyering@redhat.com>
5270
5271         maint: remove empty lines at EOF, but excluding modules/*
5272         Apply syntax rules at home as well as abroad.  Most changes
5273         were induced by running this:
5274           make srcdir=. _build-aux=build-aux -f top/maint.mk \
5275             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
5276             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
5277         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
5278         Exempt modules/* and two binary files.
5279         Also exempt doc/INSTALL*, per request from Bruno Haible.
5280         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
5281         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
5282         * doc/Copyright/request-assign.future: Likewise.
5283         * doc/Copyright/request-disclaim.changes: Likewise.
5284         * doc/INSTALL: Likewise.
5285         * doc/INSTALL.ISO: Likewise.
5286         * doc/INSTALL.UTF-8: Likewise.
5287         * doc/acl-cygwin.txt: Likewise.
5288         * doc/acl-resources.txt: Likewise.
5289         * doc/fdl-1.2.texi: Likewise.
5290         * doc/fdl-1.3.texi: Likewise.
5291         * doc/fdl.texi: Likewise.
5292         * lib/argp-pin.c: Likewise.
5293         * lib/round.c: Likewise.
5294         * lib/unicase/u16-totitle.c: Likewise.
5295         * lib/unictype/block_test.c: Likewise.
5296         * lib/uninorm/canonical-decomposition.c: Likewise.
5297         * m4/README: Likewise.
5298         * m4/relocatable-lib.m4: Likewise.
5299         * tests/test-isnand-nolibm.c: Likewise.
5300         * tests/test-isnand.c: Likewise.
5301         * tests/uninorm/NormalizationTest.txt: Likewise.
5302
5303 2012-01-17  Jim Meyering  <meyering@redhat.com>
5304
5305         maint: add framework to run syntax-check rules against gnulib sources
5306         * cfg.mk: New file, to disable all currently-failing tests.
5307         We'll enable them one by one, as they are made to pass.
5308         * Makefile (sc_maint): New rule.
5309
5310 2012-01-21  Bruno Haible  <bruno@clisp.org>
5311
5312         stdint: Add support for Android.
5313         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
5314         include the system's <stdint.h>.
5315         Reported by Simon Josefsson <simon@josefsson.org>.
5316
5317 2012-01-19  Jim Meyering  <meyering@redhat.com>
5318
5319         bootstrap: add bootstrap_post_import_hook
5320         Bison does still need something like the gnulib_mk_hook whose
5321         invocation I had to remove along with slurp in commit 767ccd40.
5322         Technically, we could get along without it, but doing so would
5323         have required living with a warning and a mandatory post-bootstrap
5324         automake rerun.
5325         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
5326         (bootstrap_post_import_hook): New function.
5327         Invoke it after gnulib-tool --import and before autoreconf.
5328
5329 2012-01-18  Jim Meyering  <meyering@redhat.com>
5330
5331         gitlog-to-changelog: don't use "no_"-prefixed variable name
5332         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
5333         to enable both --cluster and --no-cluster.  Change variable name,
5334         s/\$no_cluster/$cluster/, and reverse usage to match.
5335
5336         gitlog-to-changelog: use "||", not "or" in expressions
5337         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
5338         expressions.
5339
5340 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
5341
5342         gitlog-to-changelog: new option --no-cluster
5343         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
5344         clustering of adjacent commit messages.
5345
5346 2012-01-17  Jim Meyering  <meyering@redhat.com>
5347
5348         maint: spell file systems with two words, not one
5349         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
5350         two words, not one.
5351
5352 2012-01-16  Jim Meyering  <meyering@redhat.com>
5353
5354         bootstrap: add a FIXME comment to ensure we eventually remove the hack
5355         * build-aux/bootstrap (gnulib_tool_options): Add comment.
5356
5357 2012-01-16  Eric Blake  <eblake@redhat.com>
5358
5359         bootstrap: cater to autoconf 2.59
5360         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
5361         is not available.
5362
5363         bootstrap: properly check for libtool
5364         * build-aux/bootstrap (libtoolize): Also run libtool when older
5365         usage is detected.
5366
5367 2012-01-15  Bruno Haible  <bruno@clisp.org>
5368
5369         Improve support for MSVC 9.
5370         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5371         clashes on MSVC.
5372         * lib/fcntl.in.h: Likewise.
5373         * lib/stdlib.in.h: Likewise.
5374         * lib/sys_stat.in.h: Likewise.
5375
5376 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
5377
5378         gnupload: we hold the master copy of this script now
5379         For motivation and more information, see:
5380         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
5381         * build-aux/gnupload: Make it clear in the heading comments that the
5382         master copy of this file is maintained by gnulib.  Since we are at
5383         it, bump its copyright year and ...
5384         ($scriptversion): ... the date in its version.
5385         ($usage): Patches and bug reports should be sent to the gnulib list,
5386         not the automake one.
5387         * config/srclist.txt: Don't try to sync 'gnupload' from automake
5388         anymore.
5389
5390 2012-01-15  Bruno Haible  <bruno@clisp.org>
5391
5392         Fix module 'random'.
5393         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
5394         initstate, setstate are declared.
5395
5396 2012-01-14  Bruno Haible  <bruno@clisp.org>
5397
5398         Tests for module 'random'.
5399         * modules/random-tests: New file.
5400         * tests/test-random.c: New file, based on tests/test-random_r.c.
5401
5402         New module 'random'.
5403         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
5404         declarations.
5405         * lib/random.c: New file, based on glibc/stdlib/random.c.
5406         * m4/random.m4: New file.
5407         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
5408         HAVE_RANDOM.
5409         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
5410         * modules/random: New file.
5411         * config/srclist.txt: Add an entry for random.c.
5412         * doc/posix-functions/random.texi: Mention the 'random' module.
5413         * doc/posix-functions/initstate.texi: Likewise.
5414         * doc/posix-functions/setstate.texi: Likewise.
5415         * doc/posix-functions/srandom.texi: Likewise.
5416
5417 2012-01-12  Bruno Haible  <bruno@clisp.org>
5418
5419         random_r: Use common idioms.
5420         * lib/random_r.c: Include <stdlib.h> first.
5421
5422         random_r: Override incompatible API on AIX, OSF/1.
5423         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
5424         Override the system function if REPLACE_RANDOM_R is 1.
5425         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
5426         and OSF/1, set REPLACE_RANDOM_R.
5427         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
5428         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
5429         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
5430         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
5431         * doc/glibc-functions/random_r.texi: Likewise.
5432         * doc/glibc-functions/setstate_r.texi: Likewise.
5433
5434         random_r: Support for MSVC 9.
5435         * lib/random_r.c: Include stdint.h, not inttypes.h.
5436
5437 2012-01-12  Eric Blake  <eblake@redhat.com>
5438
5439         inet_ntop: guard extra work by IF_LINT
5440         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
5441         better code generation when not checking for warnings.
5442         Suggested by Paul Eggert and Jim Meyering.
5443
5444         strptime: fix regression on mingw
5445         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
5446         Fix regression.  Reported by Bruno Haible.
5447
5448 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
5449             Bruno Haible  <bruno@clisp.org>
5450
5451         copy-file: add error-code-returning variant.
5452         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
5453         (qcopy_file_preserving): New declaration.
5454         * lib/copy-file.c (qcopy_file_preserving): Renamed from
5455         copy_file_preserving. Change return type to 'int'. Don't emit an error
5456         message here.
5457         (copy_file_preserving): New function.
5458         * tests/test-copy-file.c: Include <stdlib.h>.
5459         (main): Test qcopy_file_preserving if the environment variable
5460         NO_STDERR_OUTPUT is set.
5461         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
5462         with NO_STDERR_OUTPUT
5463         * tests/test-copy-file-2.sh: Likewise.
5464
5465 2012-01-10  Bruno Haible  <bruno@clisp.org>
5466
5467         copy-file: Use 'quote' module consistently.
5468         * lib/copy-file.c (copy_file_preserving): Use quote().
5469
5470         copy-file: Refactor.
5471         * lib/copy-file.c: Include quote.h.
5472         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
5473         message here.
5474         * modules/copy-file (Depends-on): Add quote.
5475
5476         acl: Export qcopy_acl.
5477         * lib/acl.h (qcopy_acl): New declaration.
5478         * lib/copy-acl.c (qcopy_acl): Make non-static.
5479
5480         acl: Rename a local variable.
5481         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
5482
5483         acl: Align return values of copy_acl and qcopy_acl.
5484         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
5485         maybe < -1.
5486
5487 2012-01-11  Eric Blake  <eblake@redhat.com>
5488
5489         strptime: silence gcc warnings
5490         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
5491         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
5492         Reported by Daniel P. Berrange.
5493
5494         inet_ntop: silence gcc warning
5495         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
5496         Reported by Daniel P. Berrange.
5497
5498 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
5499
5500         getloadavg test: skip the test on GNU/Linux without /proc mounted
5501         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
5502         file.  When /proc is not mounted, it always fails with ENOENT.
5503         * tests/test-getloadavg.c (main): Treat ENOENT return code from
5504         getloadavg(3) the same way as ENOSYS and ENOTSUP.
5505
5506 2012-01-10  Bruno Haible  <bruno@clisp.org>
5507
5508         regex: Avoid link error on MSVC 9.
5509         * modules/regex (Depends-on): Add wctype.
5510
5511 2012-01-10  Bruno Haible  <bruno@clisp.org>
5512
5513         doc: Mention --with-tests option.
5514         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
5515         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
5516         --with-tests.
5517         Reported by Reuben Thomas.
5518
5519 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
5520
5521         users.txt: order package names lexicographically.
5522         * users.txt: Order package names lexicographically.
5523
5524 2012-01-10  Jim Meyering  <meyering@redhat.com>
5525
5526         maint.mk: fix description in comment
5527         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
5528
5529         ignore-value: remove deprecated ignore_ptr function
5530         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
5531         * NEWS: Note this.
5532
5533 2012-01-09  Jim Meyering  <meyering@redhat.com>
5534
5535         test-init.sh: avoid a subshell
5536         * tests/test-init.sh: Remove protective subshell.
5537         Suggested by Bernhard Voelker.  While a subshell is normally
5538         required to protect against older shells (Solaris, FreeBSD) that
5539         warn about a missing program before performing redirection, the
5540         shell-selection tests performed by init.sh probably exclude any
5541         offending shell.
5542
5543 2012-01-08  Bruno Haible  <bruno@clisp.org>
5544
5545         setlocale tests: Avoid test failure on Solaris 11 2011-11.
5546         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
5547         variable.
5548
5549 2012-01-08  Bruno Haible  <bruno@clisp.org>
5550
5551         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
5552         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5553         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5554         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
5555         macro.
5556         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
5557         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5558         * lib/spawn_faction_addopen.c: Add workaround implementation if
5559         HAVE_WORKING_POSIX_SPAWN.
5560         * modules/spawn (Makefile): Substitute
5561         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
5562         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
5563         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
5564         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
5565         (Depends-on): Update conditions.
5566         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
5567         the Solaris 11 bug.
5568
5569 2012-01-08  Bruno Haible  <bruno@clisp.org>
5570
5571         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
5572         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5573         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5574         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
5575         macro.
5576         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
5577         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5578         * lib/spawn_faction_adddup2.c: Add workaround implementation if
5579         HAVE_WORKING_POSIX_SPAWN.
5580         * modules/spawn (Makefile): Substitute
5581         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
5582         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
5583         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
5584         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
5585         (Depends-on): Update conditions.
5586         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
5587         the Solaris 11 bug.
5588
5589 2012-01-08  Bruno Haible  <bruno@clisp.org>
5590
5591         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
5592         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
5593         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
5595         HAVE_WORKING_POSIX_SPAWN.
5596         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
5597         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
5598         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5599         * lib/spawn_faction_addclose.c: Add workaround implementation if
5600         HAVE_WORKING_POSIX_SPAWN.
5601         * modules/spawn (Makefile): Substitute
5602         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
5603         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
5604         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
5605         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
5606         (Depends-on): Update conditions.
5607         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
5608         the Solaris 11 bug.
5609
5610 2012-01-08  Bruno Haible  <bruno@clisp.org>
5611
5612         doc: Update for Solaris 11 2011-11.
5613         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
5614         * m4/printf.m4: Update comments.
5615
5616 2012-01-08  Bruno Haible  <bruno@clisp.org>
5617
5618         mktime: Avoid compilation error on Solaris 11.
5619         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
5620
5621 2012-01-08  Bruno Haible  <bruno@clisp.org>
5622
5623         doc: Small fix.
5624         * doc/posix-headers/nl_types.texi: Correct platforms list.
5625
5626 2012-01-08  Simon Josefsson  <simon@josefsson.org>
5627
5628         Add lgpl-3.0 module.
5629         * MODULES.html.sh (Support for building documentation): Add
5630         lgpl-3.0.
5631         * modules/lgpl-3.0: New file.
5632
5633 2012-01-08  Jim Meyering  <meyering@redhat.com>
5634
5635         select.c: indent with spaces, not TABs
5636         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
5637
5638 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5639
5640         quotearg: do not use grave accent for left quote
5641         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
5642         locale_quoting_style.
5643         (quotearg_buffer_restyled): Fix example.
5644         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
5645
5646 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5647
5648         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
5649         Most programs do not have translation catalogs for English and much
5650         less separate catalogs for British and American English.  Drop the
5651         suggestion to translators about these two, and provide it
5652         automatically for Unicode locales.  Like most programs, even those
5653         using American English, we use single quotation marks.  This conflicts
5654         with the American typographic convention, but works better when you
5655         cite the entire error message within double quotes.  It also tries not
5656         to clash with established practice and with what non-gnulib programs
5657         will usually do.
5658         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
5659         using an UTF-8 or GB-18030 locale.  The list of other locales with
5660         quotes was provided by Bruno Haible.
5661         (quotearg_buffer_restyled): Adjust instructions to translators.
5662         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
5663         text, since this would be wrong when using Unicode.
5664         * modules/quotearg: Depend on c-strcaseeq.
5665
5666 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
5667
5668         quotearg: fix Wikipedia link
5669         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
5670
5671 2012-01-07  Simon Josefsson  <simon@josefsson.org>
5672
5673         Fix for mingw with MSVC9.
5674         * m4/ld-version-script.m4: Check that compiler rejects version
5675         scripts with syntax errors.  Reported by Bruno Haible
5676         <bruno@clisp.org>.
5677
5678 2012-01-06  Bruno Haible  <bruno@clisp.org>
5679
5680         Talk about "native Windows API", not "Woe32".
5681         * lib/accept4.c: Update comments to mention native Windows.
5682         * lib/execute.c: Likewise.
5683         * lib/fatal-signal.c: Likewise.
5684         * lib/localcharset.c: Likewise.
5685         * lib/nanosleep.c: Likewise.
5686         * lib/nl_langinfo.c: Likewise.
5687         * lib/pclose.c: Likewise.
5688         * lib/pipe-filter-gi.c: Likewise.
5689         * lib/pipe-filter-ii.c: Likewise.
5690         * lib/pipe.c: Likewise.
5691         * lib/pipe2.c: Likewise.
5692         * lib/popen.c: Likewise.
5693         * lib/progreloc.c: Likewise.
5694         * lib/relocatable.c: Likewise.
5695         * lib/sigaction.c: Likewise.
5696         * lib/sigprocmask.c: Likewise.
5697         * lib/spawn-pipe.h: Likewise.
5698         * lib/spawn-pipe.c: Likewise.
5699         * lib/spawni.c: Likewise.
5700         * lib/stat-time.h: Likewise.
5701         * lib/w32spawn.h: Likewise.
5702         * tests/test-isatty.c: Likewise.
5703         * lib/config.charset: More comments.
5704         * doc/gnulib-intro.texi: Mention native Windows.
5705         * doc/posix-functions/_Exit_C99.texi: Likewise.
5706         * doc/posix-headers/fcntl.texi: Likewise.
5707
5708 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
5709
5710         argp: Avoid crash if translator uses % characters in a translation.
5711         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
5712         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
5713
5714 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
5715
5716         doc: C11 and C++11 are now official
5717         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
5718         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
5719         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
5720         * modules/stdalign:
5721         Replace references to draft C1X to C11, and to draft C++0X to C++11.
5722
5723 2012-01-06  Bruno Haible  <bruno@clisp.org>
5724
5725         uc-is-grapheme-break tests: Tweak.
5726         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
5727         message.
5728
5729 2012-01-06  Bruno Haible  <bruno@clisp.org>
5730
5731         test-init.sh: correct the test for diff -u
5732         * tests/test-init.sh: Also redirect stdout to /dev/null.
5733
5734 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
5735
5736         Use ', not `, for quoting output.
5737         * build-aux/announce-gen (usage, sizes, print_news_deltas)
5738         (print_changelog_deltas, get_tool_versions, main program):
5739         * build-aux/git-version-gen:
5740         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
5741         * build-aux/move-if-change (help):
5742         * build-aux/useless-if-before-free (usage, main program):
5743         * check-module (parse_module_file, usage)
5744         (find_included_lib_files, check_module):
5745         * lib/argmatch.c (main) [TEST]:
5746         * lib/argp-help.c (_help):
5747         * lib/getopt1.c (main) [TEST]:
5748         * lib/git-merge-changelog.c (usage):
5749         * lib/xstrtol-error.c (xstrtol_error):
5750         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
5751         * m4/argz.m4 (gl_FUNC_ARGZ):
5752         * m4/bison.m4 (gl_BISON):
5753         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
5754         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
5755         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
5756         * m4/fpending.m4 (gl_PREREQ_FPENDING):
5757         * m4/gc-random.m4 (gl_GC_RANDOM):
5758         * m4/intl.m4 (gt_CHECK_DECL):
5759         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
5760         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
5761         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
5762         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
5763         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
5764         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
5765         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
5766         * tests/test-dirname.c (main):
5767         * tests/test-getpass.c (main):
5768         * tests/test-iconvme.c (main):
5769         * tests/test-parse-datetime.c (LOG):
5770         * tests/test-xstrtoimax.sh:
5771         * tests/test-xstrtol.sh:
5772         * tests/test-xstrtoll.sh:
5773         * tests/test-xstrtoumax.sh:
5774         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
5775         * top/GNUmakefile (abort-due-to-no-makefile):
5776         Quote 'like this', not `like this', as per the recent change to
5777         the GNU coding standards.
5778
5779 2012-01-05  Bruno Haible  <bruno@clisp.org>
5780
5781         strtoimax: Don't force a replacement on systems where intmax_t is int.
5782         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
5783         'intmax_t' is not larger than 'int'.
5784         Reported by Pádraig Brady <P@draigBrady.com>.
5785
5786 2012-01-05  Bruno Haible  <bruno@clisp.org>
5787
5788         doc: Mention NetBSD bugs.
5789         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
5790         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
5791
5792 2012-01-05  Bruno Haible  <bruno@clisp.org>
5793
5794         strtoumax tests: Enhance tests.
5795         * tests/test-strtoumax.c (main): Add tests for large values.
5796
5797 2012-01-05  Bruno Haible  <bruno@clisp.org>
5798
5799         strtoimax: Work around AIX 5.1 bug.
5800         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
5801         definition.
5802         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
5803         Set HAVE_STRTOIMAX.
5804         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
5805         REPLACE_STRTOIMAX.
5806         * modules/inttypes-incomplete (Makefile.am): Substitute
5807         REPLACE_STRTOIMAX.
5808         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
5809         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
5810         (Depends-on): Update conditions.
5811         * tests/test-strtoimax.c (main): Add tests for large values.
5812         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
5813
5814 2012-01-05  Bruno Haible  <bruno@clisp.org>
5815
5816         inttypes: Modernize.
5817         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
5818         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
5819         (Makefile.am): Update inttypes.h rule.
5820
5821 2012-01-05  Jim Meyering  <meyering@redhat.com>
5822
5823         init.sh: don't waste a subshell just to redirect stderr
5824         * tests/init.sh: In testing for diff -u and diff -c, use a
5825         stderr-redirecting exec inside `...` rather than a subshell.
5826
5827         test-init.sh: avoid failure on HP-UX 11.00
5828         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
5829         resolves to diff -c or cmp.  Reported by Bruno Haible.
5830
5831 2012-01-05  Bruno Haible  <bruno@clisp.org>
5832
5833         Tests for module 'strtoull'.
5834         * modules/strtoull-tests: New file.
5835         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
5836
5837 2012-01-05  Bruno Haible  <bruno@clisp.org>
5838
5839         Tests for module 'strtoll'.
5840         * modules/strtoll-tests: New file.
5841         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
5842
5843 2012-01-05  Bruno Haible  <bruno@clisp.org>
5844
5845         Tests for module 'strtoul'.
5846         * modules/strtoul-tests: New file.
5847         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
5848
5849 2012-01-05  Bruno Haible  <bruno@clisp.org>
5850
5851         Tests for module 'strtol'.
5852         * modules/strtol-tests: New file.
5853         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
5854
5855 2012-01-04  Jim Meyering  <meyering@redhat.com>
5856
5857         test-init.sh: accommodate Solaris 5.10's different diff -u output
5858         * tests/test-init.sh: Also exempt @@ lines from the comparison
5859         of diff output, since Solaris 5.10 and GNU diff formats differ.
5860         Reported by Stefano Lattarini.
5861
5862 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
5863
5864         test-posixtm: don't assume signed integer wraparound
5865         * tests/test-posixtm.c (main): Don't assume wraparound semantics
5866         after signed integer overflow.  Inspired by (though it may not
5867         fix) Bruno Haible's bug report in
5868         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
5869
5870         Spell out "Windows 9x" and "Windows XP".
5871         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
5872         "Windows 9x" and "WinXP" with "Windows XP".
5873
5874 2012-01-04  Jim Meyering  <meyering@redhat.com>
5875
5876         test-vc-list-files-cvs.sh: remove obsolete comment
5877         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
5878         double exit.  Now that's all encapsulated via skip_ and Exit.
5879
5880 2012-01-04  Bruno Haible  <bruno@clisp.org>
5881
5882         Talk about "native Windows API", not "Win32".
5883         * lib/classpath.c: Update comments to mention native Windows.
5884         * lib/csharpexec.c: Likewise.
5885         * lib/dup2.c: Likewise.
5886         * lib/error.c: Likewise.
5887         * lib/fcntl.c: Likewise.
5888         * lib/filename.h: Likewise.
5889         * lib/findprog.c: Likewise.
5890         * lib/get-rusage-as.c: Likewise.
5891         * lib/get-rusage-data.c: Likewise.
5892         * lib/getpagesize.c: Likewise.
5893         * lib/javaexec.c: Likewise.
5894         * lib/msvc-inval.c: Likewise.
5895         * lib/msvc-nothrow.c: Likewise.
5896         * lib/nanosleep.c: Likewise.
5897         * lib/nonblocking.c: Likewise.
5898         * lib/printf-parse.c: Likewise.
5899         * lib/setlocale.c: Likewise.
5900         * lib/sigaction.c: Likewise.
5901         * lib/strerror_r.c: Likewise.
5902         * lib/tmpdir.c: Likewise.
5903         * lib/vasnprintf.c: Likewise.
5904         * lib/w32spawn.h: Likewise.
5905         * lib/waitpid.c: Likewise.
5906         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
5907         * m4/locale-ar.m4: Likewise.
5908         * m4/locale-fr.m4: Likewise.
5909         * m4/locale-ja.m4: Likewise.
5910         * m4/locale-tr.m4: Likewise.
5911         * m4/locale-zh.m4: Likewise.
5912         * m4/printf.m4: Likewise.
5913         * tests/test-cloexec.c: Likewise.
5914         * tests/test-copy-acl.sh: Likewise.
5915         * tests/test-copy-file.sh: Likewise.
5916         * tests/test-file-has-acl.sh: Likewise.
5917         * tests/test-set-mode-acl.sh: Likewise.
5918         * tests/test-dup-safer.c: Likewise.
5919         * tests/test-dup2.c: Likewise.
5920         * tests/test-dup3.c: Likewise.
5921         * tests/test-fcntl.c: Likewise.
5922         * tests/test-nonblocking-pipe.h: Likewise.
5923         * tests/test-nonblocking-socket.h: Likewise.
5924         * tests/test-pipe.c: Likewise.
5925         * tests/test-pipe2.c: Likewise.
5926         * tests/test-spawn-pipe-child.c: Likewise.
5927         * doc/acl-resources.txt: Likewise.
5928         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5929         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
5930         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
5931         * lib/localcharset.c: Update comments to mention native Windows.
5932         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5933         * lib/localename.c: Likewise.
5934         * lib/progreloc.c: Likewise.
5935         * lib/relocatable.c: Likewise.
5936         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
5937         (windows_compute_revents): Renamed from win32_compute_revents.
5938         (windows_compute_revents_socket): Renamed from
5939         win32_compute_revents_socket.
5940         * lib/select.c: Update comments to mention native Windows.
5941         (windows_poll_handle): Renamed from win32_poll_handle.
5942         * m4/threadlib.m4: Update comments to mention native Windows.
5943         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
5944         --enable-threads=windows instead of --enable-threads=win32. Set
5945         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
5946         * lib/glthread/lock.h: Update comments to mention native Windows.
5947         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
5948         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
5949         USE_WIN32_THREADS.
5950         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
5951         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
5952         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
5953         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
5954         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
5955         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
5956         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
5957         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
5958         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
5959         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
5960         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
5961         * tests/test-tls.c: Likewise.
5962         Rationale:
5963         Microsoft renamed the "Win32 API" to "Windows API", as it is available
5964         on both 32-bit and 64-bit Windows systems.
5965         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
5966         line of distinction is between "native Windows" on one side and Unix/
5967         POSIX systems on the other side. More details in
5968         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
5969         Suggested by Paul Eggert.
5970
5971 2012-01-03  Bruno Haible  <bruno@clisp.org>
5972
5973         isatty: Support for MSVC 9.
5974         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
5975         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
5976         (_isatty_nothrow): New function.
5977         (isatty): Use it instead of _isatty.
5978         (IsConsoleHandle): Add comment, from Paolo Bonzini.
5979         * lib/poll.c (IsConsoleHandle): Likewise.
5980         * lib/select.c (IsConsoleHandle): Likewise.
5981         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
5982         (gl_PREREQ_ISATTY): New macro.
5983         * modules/isatty (Depends-on): Add msvc-inval.
5984         (configure.ac): Invoke gl_PREREQ_ISATTY.
5985
5986 2012-01-03  Jim Meyering  <meyering@redhat.com>
5987
5988         maint.mk: remove temporary transition aid from over 1.5 years ago
5989         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
5990         purpose was to aid in the transition (avoiding silent malfunction)
5991         from that old name to the new _sc_search_regexp.  This shim was
5992         added by commit 219c504b.
5993
5994         init.sh: do not try to accommodate compare arguments starting with "-"
5995         * tests/init.sh (compare_dev_null_): Do not try to accommodate
5996         compare arguments that start with "-".  Besides, we do not worry
5997         about this when invoking diff or cmp; why start now with sed?
5998         Using "--" to separate options from argument would trigger sed
5999         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6000         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6001
6002 2012-01-02  Bruno Haible  <bruno@clisp.org>
6003
6004         Enhance tests for module 'isatty'.
6005         * modules/isatty-tests (Depends-on): Add pipe-posix.
6006         * tests/test-isatty.c: Include <fcntl.h>.
6007         (DEV_NULL): New macro.
6008         (main): Test the resut of isatty() also on regular files, pipes, and
6009         /dev/null.
6010
6011         New module 'isatty'.
6012         * lib/unistd.in.h (isatty): New declaration.
6013         * lib/isatty.c: New file, based on an idea of
6014         Bastien Roucariès <roucaries.bastien@gmail.com>.
6015         * m4/isatty.m4: New file.
6016         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6017         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6018         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6019         REPLACE_ISATTY.
6020         * modules/isatty: New file.
6021         * doc/posix-functions/isatty.texi: Mention the new module.
6022         Suggested by Paolo Bonzini.
6023
6024 2012-01-02  Bruno Haible  <bruno@clisp.org>
6025
6026         canonicalize: Tweak 2011-12-29 commit.
6027         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6028         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6029
6030 2012-01-02  Jim Meyering  <meyering@redhat.com>
6031
6032         gitlog-to-changelog: describe input syntax in --help output
6033         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6034
6035         gitlog-to-changelog: fix typo in --help: show backslash before email @
6036         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6037         in sources, but not in actual output.
6038
6039 2011-12-30  Jim Meyering  <meyering@redhat.com>
6040
6041         gitlog-to-changelog: don't malfunction when name contains %-directive
6042         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6043         in a name string cause trouble.  E.g., with a user name of "%s",
6044         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6045
6046 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6047
6048         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6049         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6050         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6051         the "  (tiny change)" notation that is appended to the standard
6052         ChangeLog "date  name  email" header line.
6053
6054 2012-01-01  Jim Meyering  <meyering@redhat.com>
6055
6056         test-framework-sh: init.sh: fix "make dist" failure
6057         When using gnulib-tool's --with-tests option and any module that
6058         depends on test-framework-sh, "make dist" would fail due to the
6059         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6060         in the gltests directory, and not in the gllib/ directory.
6061         One way to work around that is to move the EXTRA_DIST += init.sh
6062         from the primary module to the -tests one:
6063         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6064         * modules/test-framework-sh (Makefile.am): ...not here.
6065         Reported by Tom G. Christensen in
6066         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6067
6068         version-etc: update copyright year reported by --version
6069         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6070
6071 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6072
6073         canonicalize: only stat() if required
6074         * lib/canonicalize.c (canonicalize_filename_mode):
6075         Avoid calling l?stat() when both CAN_MISSING,
6076         and CAN_NOLINKS are set, as we neither need
6077         to resolve symlinks or test component existence.
6078
6079 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6080
6081         doc: cover st_ino issues once; add OpenVMS etc.
6082         * doc/posix-functions/stat.texi (stat):
6083         * doc/posix-functions/lstat.texi (lstat):
6084         * doc/posix-functions/fstatat.texi (fstatat):
6085         * doc/posix-functions/fstat.texi (fstat):
6086         Move general 'struct stat' stuff to sys_stat.texi,
6087         leaving behind a pointer.
6088         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6089         Merge duplicate info about 'struct stat' problems into here.
6090         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6091         and suggest partial workarounds.
6092
6093         same-inode: port to OpenVMS
6094         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6095         three st_ino values.
6096
6097 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6098
6099         canonicalize: fix references to stat() and lstat()
6100         * lib/canonicalize.c (canonicalize_filename_mode):
6101         Ensure references always resolve to a replacement
6102         function if required (even via a macro).
6103
6104 2011-12-30  Jim Meyering  <meyering@redhat.com>
6105
6106         gitlog-to-changelog: remove a little duplication
6107         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6108         rather than twice.
6109
6110 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6111
6112         canonicalize: add support for not resolving symlinks
6113         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6114         indicate we don't want to follow symlinks.  Also
6115         provide CAN_MODE_MASK to aid setting these existing
6116         mutually exclusive values.
6117         * lib/canonicalize.c (canonicalize_filename_mode):
6118         Extract the flags from can_mode parameter, which
6119         are currently just used to select between stat()
6120         and lstat().  Also ensure that mutually exclusive
6121         values are flagged immediately as invalid.
6122         * tests/test-canonicalize.c: Verify symlinks are
6123         not followed, and that invalid flag combinations
6124         are diagnosed.
6125
6126 2011-12-25  Jim Meyering  <meyering@redhat.com>
6127
6128         gitlog-to-changelog: do not clump multi-paragraph entries
6129         Identical header lines (date,name,email+coauthors) are suppressed,
6130         thus putting all entries with those same characteristics under
6131         a single header.  However, when a log entry consists of two or
6132         more paragraphs, it may not be clear where it starts and ends.
6133         This change makes it so that such an entry is always separated
6134         from others by a header line, even when that header would
6135         otherwise be suppressed.
6136         * build-aux/gitlog-to-changelog: Implement the above.
6137         Inspired by a related request from Stefano Lattarini in
6138         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6139
6140 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6141
6142         announce-gen: fix `cmd' typo in diagnostic
6143         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6144         diagnostic: a missing '$' meant that the command was not output.
6145
6146 2011-12-23  Jim Meyering  <meyering@redhat.com>
6147
6148         test-framework-sh: distribute init.sh
6149         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6150         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6151         fail due to the lack of init.sh.
6152
6153         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6154         * modules/atexit-tests: Rather than listing tests/init.sh,
6155         now that there's a module for it, simply depend on that new module.
6156         * modules/closein-tests: Likewise.
6157         * modules/exclude-tests: Likewise.
6158         * modules/getcwd-tests: Likewise.
6159         * modules/perror-tests: Likewise.
6160         * modules/pread-tests: Likewise.
6161         * modules/pwrite-tests: Likewise.
6162         * modules/vc-list-files-tests: Likewise.
6163         * modules/verify-tests: Likewise.
6164         * modules/xalloc-die-tests: Likewise.
6165         * modules/xstrtoimax-tests: Likewise.
6166         * modules/xstrtol-tests: Likewise.
6167         * modules/xstrtoll-tests: Likewise.
6168         * modules/xstrtoumax-tests: Likewise.
6169         * modules/yesno-tests: Likewise.
6170
6171 2011-12-22  Jim Meyering  <meyering@redhat.com>
6172
6173         test-framework-sh: add minimal tests of init.sh's compare function
6174         * modules/test-framework-sh-tests: New file.
6175         * tests/test-init.sh: New file.
6176
6177         test-framework-sh: new module
6178         * modules/test-framework-sh: New file.
6179         * MODULES.html.sh (Support for maintaining and releasing projects):
6180         List it.
6181
6182         init.sh: do not emit simulated diff output to stderr
6183         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
6184
6185 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6186
6187         .gitignore: ignore gnulib.dvi and regex.info
6188         * doc/.gitignore:add gnulib.dvi and regex.info
6189
6190 2011-12-22  Jim Meyering  <meyering@redhat.com>
6191
6192         init.sh: correct previous change
6193         * tests/init.sh (compare): My previous change was wrong.
6194         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
6195
6196         init.sh: avoid unwarranted test failure when using "set -e"
6197         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
6198         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
6199         a use like "compare exp out" would get evoke an unconditional failure.
6200
6201 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
6202
6203         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
6204         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
6205         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
6206         autoreconf that did not.
6207         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
6208         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6209
6210 2011-12-17  Jim Meyering  <meyering@redhat.com>
6211
6212         bootstrap: remove some now-unneeded code
6213         This script arose back when gnulib-tool was young.
6214         Since then, it has seen improvements that render much of this
6215         script unnecessary.  In particular, it can now make symlinks
6216         to the files it uses.  Also, I no longer see as much value in
6217         marking files as read-only via comments.
6218         If you relied on the symlink-creation feature of the preceding
6219         version of this script, you can get most of that functionality
6220         by adding the --symlink option to the definition of
6221         gnulib_tool_option_extras in your bootstrap.conf file.
6222         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
6223         Run autopoint and libtoolize *before* gnulib-tool.
6224         After it, run an abbreviated autoreconf, rather than a loop around
6225         all tools.
6226         (slirp, bt_mark_as_generated): Remove functions.
6227
6228 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
6229
6230         ftoastr: fix typo
6231         * lib/ftoastr.h: Fix misspelling in comment.
6232
6233 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
6234
6235         * top/README-release: fix punctuation.
6236
6237 2011-12-17  Jim Meyering  <meyering@redhat.com>
6238
6239         bootstrap: correct the recent buildreq change
6240         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
6241         had no effect.
6242         * build-aux/bootstrap (buildreq): Bracket each search term with
6243         "*...*", so that the shell "case" statement works as intended.
6244         Add comments.
6245
6246 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
6247
6248         build: let bootstrap resort to wget when downloading .po files
6249         * build-aux/bootstrap (download_po_files): Fallback to wget when
6250         downloading the .po files via rsync fails.  This is necessary to
6251         bootstrap from behind a strict firewall.
6252
6253 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6254
6255         stdint: don't assume C++11 when compiling with g++
6256         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
6257         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
6258         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
6259         work also in C++ before C++11, as that improperly inhibits
6260         generating a substitute stdint.h for that case.
6261
6262 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
6263
6264         alloca: protect comment from gnulib-tool
6265         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
6266         that gnulib-tool doesn't think it's a license, and munge it to
6267         say "GCC version 3".
6268
6269 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
6270
6271         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
6272         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
6273         $(abs_top_builddir) instead of $(top_builddir).
6274
6275 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
6276
6277         strftime-tests: also test nanoseconds
6278         * tests/test-strftime.c (T): Add a test of %N.
6279
6280 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
6281
6282         inttypes, stdint: add C++11 support
6283         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
6284         when including inttypes.h and stdint.h.  Support this change to
6285         the standard.
6286         * doc/posix-headers/inttypes.texi (inttypes.h):
6287         * doc/posix-headers/stdint.texi (stdint.h): Document this.
6288         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
6289         Define if not defined already, for the benefit of pre-C++11 hosts.
6290         Define the standard format macros (e.g., PRId8) always.
6291         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
6292         Likewise, if __cpluspus.  Define the standard constant and limit
6293         macros (e.g., INT8_C, INT8_MAX) always.
6294         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
6295         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
6296         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
6297         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
6298         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
6299         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
6300         Likewise.
6301
6302 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
6303
6304         nonblocking tests: Fix test failure on Linux/PPC.
6305         Suggested by Prerna Saxena in
6306         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
6307         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
6308         Set to 1100000.
6309
6310 2011-12-12  Jim Meyering  <meyering@redhat.com>
6311
6312         argmatch: don't hard-code `' when listing valid option arguments
6313         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
6314         use the quote function to add quotes.  Use fputs rather than
6315         fprintf for the format string with no format directive.
6316
6317 2011-12-07  Eric Blake  <eblake@redhat.com>
6318
6319         bootstrap: detect tools required by gnulib-tool
6320         * build-aux/bootstrap (buildreq): Provide minimum implicit
6321         dependencies.
6322         * DEPENDENCIES: Mention patch as a prereq.
6323
6324 2011-12-04  Bruno Haible  <bruno@clisp.org>
6325
6326         sethostname: Port to Windows platforms.
6327         * lib/sethostname.c: Provide an alternate implementation for Windows
6328         platforms.
6329         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
6330         (main): Skip the test if sethostname() fails with EPERM. On Windows
6331         platforms, don't check the result of gethostname().
6332
6333 2011-12-04  Bruno Haible  <bruno@clisp.org>
6334             Jim Meyering  <meyering@redhat.com>
6335
6336         tests: Avoid spurious error message on platforms without mktemp program.
6337         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
6338
6339 2011-12-04  Bruno Haible  <bruno@clisp.org>
6340
6341         sethostname: Fix documentation.
6342         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
6343         "not fixed" section.
6344
6345 2011-12-03  Bruno Haible  <bruno@clisp.org>
6346
6347         gnulib-tool: Verify that the License field is present and non-empty.
6348         * gnulib-tool (func_get_license_raw): New function, extracted from
6349         func_get_license.
6350         (func_get_license): Use it. Warn if the module is not a test module and
6351         has no license.
6352         Suggested by Jim Meyering.
6353
6354 2011-12-03  Bruno Haible  <bruno@clisp.org>
6355
6356         sethostname tests: Fix link error on mingw.
6357         * tests/test-sethostname1.c: New file, extracted from
6358         tests/test-sethostname.c.
6359         * tests/test-sethostname2.c: New file, extracted from
6360         tests/test-sethostname.c.
6361         * tests/test-sethostname.c: Remove file.
6362         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
6363         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
6364         (Depends-on): Add gethostname.
6365         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
6366         Link the latter with $(GETHOSTNAME_LIB).
6367
6368         sethostname tests: Fix compilation error on mingw.
6369         * tests/test-sethostname.c: Don't include <sys/types.h>.
6370         (geteuid): Use a dummy value without uid_t.
6371         * modules/sethostname-tests (Depends-on): Remove sys_types.
6372
6373         sethostname tests: Avoid a gcc warning.
6374         * tests/test-sethostname.c (main): Remove an unused variable.
6375
6376         Tweak last commit.
6377         * modules/sethostname-tests (Files): Sort by decreasing importance.
6378         (configure.ac): Check for geteuid.
6379         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
6380         the test when there's nothing to test. Drop an unnecessary cast.
6381         Improve an error message. Verify that the final sethostname() call
6382         succeeds.
6383
6384 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6385
6386         Add a test suite for the sethostname module.
6387         * modules/sethostname-tests: New file.  A test program
6388         for the sethostname module.
6389         * tests/test-sethostname.c: Likewise.
6390
6391 2011-12-03  Bruno Haible  <bruno@clisp.org>
6392
6393         Tweak last commit.
6394         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
6395         Fix preprocessor directives indentation. Fix typos.
6396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
6397         * modules/unistd (Makefile): Likewise.
6398
6399 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6400
6401         Integrate the sethostname module into unistd.
6402         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
6403         into the unistd.h header.
6404         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
6405         preprocessor directives.
6406         * modules/unistd: Setup the Makefile substitutions of the
6407         SETHOSTNAME preprocessor directives.
6408
6409 2011-12-03  Bruno Haible  <bruno@clisp.org>
6410
6411         Tweak last commit.
6412         * lib/sethostname.c: Don't include <string.h>.
6413         (sethostname): No need to copy the argument string to the stack. Don't
6414         call clearerr. Preserve errno when fprintf failed.
6415         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
6416         Don't invoke AC_REPLACE_FUNCS.
6417         * modules/sethostname (Link): Remove empty section.
6418         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
6419         failure problem.
6420
6421 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6422
6423         New module 'sethostname'.
6424         * lib/sethostname.c (sethostname): New file.  Provide sethostname
6425         for systems that lack it.
6426         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
6427         sethostname declaration and function.
6428         * modules/sethostname: New file.  Define the sethostname module.
6429
6430 2011-12-03  Bruno Haible  <bruno@clisp.org>
6431
6432         Tweak last commit.
6433         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
6434
6435 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
6436
6437         Split the HOST_NAME_MAX detection into a separate m4 macro.
6438         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
6439         macro so it can be used by the pending sethostname module.
6440
6441 2011-12-03  Bruno Haible  <bruno@clisp.org>
6442
6443         Fix module descriptions syntax.
6444         * modules/argv-iter (License): Fix syntax.
6445         * modules/di-set (License): Likewise.
6446         * modules/ino-map (License): Likewise.
6447         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
6448
6449 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
6450
6451         stdalign: port to Clang 3.0
6452         Problem reported by Simon Josefsson in
6453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
6454         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
6455         which has <stdalign.h> but which does not define alignof.
6456         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
6457
6458 2011-12-01  Eric Blake  <eblake@redhat.com>
6459
6460         mktempd: silence dd usage
6461         * build-aux/mktempd (rand_bytes): Silence dd.
6462
6463 2011-11-30  Simon Josefsson  <simon@josefsson.org>
6464
6465         manywarnings: Don't mention gcc version in docstring.
6466         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
6467         Jim Meyering <meyering@redhat.com>.
6468
6469 2011-11-30  Jim Meyering  <meyering@redhat.com>
6470
6471         hash: mark a few floating point constants with "f" suffix
6472         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
6473         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
6474         floating point constants with "f", since they're destined to be
6475         saved/used as "float"s.
6476
6477 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
6478
6479         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
6480         * tests/test-float.c (test_long_double): Correct and re-enable the
6481         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
6482
6483 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
6484
6485         Avoid subtracting two pointers that don't point into the same block.
6486         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
6487         only pointers into the same memory block are subtracted. We cannot
6488         assume that sizeof (ptrdiff_t) == sizeof (void *).
6489
6490 2011-11-29  Eric Blake  <eblake@redhat.com>
6491
6492         maint.mk: add syntax check for use of compare from init.sh
6493         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
6494         moved here from coreutils.
6495
6496         manywarnings: drop -Wunsuffixed-float-constants
6497         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
6498         '1.0D', which is the only way to silence this warning for 'double'.
6499
6500 2011-11-29  Jim Meyering  <meyering@redhat.com>
6501
6502         hash: mark compute_bucket_size with the pure attribute
6503         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
6504
6505         quotearg, propername: correct pragma guard expression
6506         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
6507         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
6508
6509 2011-11-28  Jim Meyering  <meyering@redhat.com>
6510
6511         propername: do not mark proper_name with the const attribute
6512         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
6513         since it examines data pointed to by its parameter.
6514         * lib/propername.c (proper_name): Instead, add a pragma to suppress
6515         the suggestion from -Wsuggest-attribute=const.
6516
6517         propername: mark one more function as const
6518         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
6519
6520 2011-11-27  Jim Meyering  <meyering@redhat.com>
6521
6522         mark functions with const and pure attributes
6523
6524         Mark functions per suggestions from gcc-4.6 when using these options:
6525         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
6526         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
6527         Follow these guidelines: when possible, apply the attribute to
6528         an extern declaration, not to its definition.  Apply it to the
6529         definition only when the definition is static.
6530         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
6531         * lib/argv-iter.h (argv_iter_n_args): Likewise.
6532         * lib/base64.h (isbase64): Likewise.
6533         * lib/basename-lgpl.c (last_component, base_len): Likewise.
6534         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
6535         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
6536         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
6537         (c_tolower, c_toupper): Likewise.
6538         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
6539         * lib/chdir-long.c (find_non_slash): Likewise.
6540         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
6541         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
6542         * lib/file-type.h (file_type): Likewise.
6543         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
6544         * lib/filevercmp.c (verrevcmp): Likewise.
6545         * lib/freadahead.h (freadahead): Likewise.
6546         * lib/fts.c (fts_maxarglen): Likewise.
6547         * lib/hash-pjw.h (hash_pjw): Likewise.
6548         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
6549         * lib/hash.c (is_prime, next_prime): Likewise.
6550         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
6551         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
6552         (hash_table_ok, hash_get_first, hash_string): Likewise.
6553         (compute_bucket_size): Likewise.
6554         * lib/i-ring.h (i_ring_empty): Likewise.
6555         * lib/isnan.c (isnanl): Likewise.
6556         * lib/math.h (isnanl, rpl_isnanl): Likewise.
6557         * lib/memcasecmp.h (memcasecmp): Likewise.
6558         * lib/memchr2.h (memchr2): Likewise.
6559         * lib/memcmp2.h (memcmp2): Likewise.
6560         * lib/parse-datetime.y (lookup_zone): Likewise.
6561         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
6562         [!WINDOWS_SOCKETS]: Likewise.
6563         * lib/strnlen1.h (strnlen1): Likewise.
6564         * lib/uniwidth.in.h (uc_width): Likewise.
6565         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
6566         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
6567         (quoting_options_from_style): Add a comment.
6568         * lib/propername.h (proper_name): Add a comment.
6569
6570 2011-11-27  Bruno Haible  <bruno@clisp.org>
6571
6572         Remove unused macros from !_LIBC code in glibc-borrowed files.
6573         * lib/fnmatch.c (STRCOLL): Remove macro.
6574         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
6575         * lib/glob.c (__stat, __readdir64): Remove macros.
6576         * lib/tempname.c (__open64, __xstat64): Remove macros.
6577         Suggested by Paul Eggert.
6578
6579 2011-11-27  Bruno Haible  <bruno@clisp.org>
6580
6581         getcwd: Fix link error on MSVC 9.
6582         * modules/getcwd (Depends-on): Add readdir, rewinddir.
6583
6584 2011-11-27  Bruno Haible  <bruno@clisp.org>
6585
6586         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
6587         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
6588         HAVE_OPENDIR is 0.
6589         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
6590         HAVE_CLOSEDIR is 0.
6591         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
6592         is 0.
6593         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
6594
6595 2011-11-27  Bruno Haible  <bruno@clisp.org>
6596
6597         getcwd: Fix bug from 2011-08-17.
6598         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
6599         platforms that need it.
6600         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
6601         code of 4 to be a failure, not a success. This ensures that
6602         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
6603
6604 2011-11-27  Bruno Haible  <bruno@clisp.org>
6605
6606         binary-io tests: Avoid test failure on mingw when libtool is used.
6607         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
6608         Don't verify the size of t-bin-out1.tmp here.
6609         * tests/test-binary-io.sh: Verify it here.
6610         Reported by Simon Josefsson.
6611
6612 2011-11-26  Bruno Haible  <bruno@clisp.org>
6613
6614         Fix conflict between two instantiations of module 'unistd'.
6615         * gnulib-tool (func_emit_autoconf_snippet): Substitute
6616         ${include_guard_prefix} also in the autoconf snippet.
6617         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
6618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
6619         GNULIB_UNISTD_H_GETOPT.
6620         * modules/getopt-posix (configure.ac): Set the
6621         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
6622         * modules/getopt-gnu (configure.ac): Likewise.
6623         * modules/unistd (Makefile.am): Change the substitution value of
6624         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
6625         Reported by Simon Josefsson.
6626
6627 2011-11-25  Bruno Haible  <bruno@clisp.org>
6628
6629         pagealign_alloc: Doc and comments.
6630         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
6631         module.
6632         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
6633
6634 2011-11-25  Jim Meyering  <meyering@redhat.com>
6635
6636         test-update-copyright.sh: avoid false-positive failure
6637         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
6638         around false positive failure on Cygwin/Windows.  The latter was
6639         matching erroneously-created files with names like
6640         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
6641
6642 2011-11-25  Simon Josefsson  <simon@josefsson.org>
6643
6644         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
6645         * m4/valgrind-tests.m4: Check that the parameters that will be
6646         used works, not just a subset of them.  Reported by Bruno Haible
6647         <bruno@clisp.org>.
6648
6649 2011-11-24  Jim Meyering  <meyering@redhat.com>
6650
6651         test-stdalign.c: comment out long double tests
6652         * tests/test-stdalign.c: Don't try to reduce alignment of long double
6653         variables.  That provokes errors like this from gcc-4.7.0 20111124:
6654         error: '_Alignas' specifiers cannot reduce alignment of \
6655         'static_longdouble_alignas'.
6656
6657 2011-11-22  Jim Meyering  <meyering@redhat.com>
6658
6659         init.sh: make "compare /dev/null FILE" output more readable
6660         * tests/init.sh (compare_): Document the preferred order of arguments.
6661         (emit_diff_u_header_): New function.
6662         (compare_dev_null_): Emit a simulated diff, rather than just the
6663         contents of the unexpected file.  Suggestion from Bruno Haible.
6664
6665 2011-11-21  Jim Meyering  <meyering@redhat.com>
6666             Eric Blake  <eblake@redhat.com>
6667
6668         init.sh: work around OSF/1 5.1's mishandling of /dev/null
6669         * tests/init.sh: Make our compare function slightly more portable.
6670         Reported by Bruno Haible in
6671         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
6672
6673 2011-11-21  Simon Josefsson  <simon@josefsson.org>
6674
6675         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
6676         before using it, in code that ends up in config.h.
6677
6678 2011-11-20  Bruno Haible  <bruno@clisp.org>
6679
6680         getcwd: Work around getcwd bug on AIX 5..7.
6681         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
6682         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
6683         Use a different value for gl_cv_func_getcwd_path_max. Move the
6684         definition of HAVE_PARTLY_WORKING_GETCWD from here...
6685         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
6686         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
6687         Define HAVE_MINIMALLY_WORKING_GETCWD.
6688         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
6689         where it is not even minimally working, that is, on AIX.
6690         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
6691         m4/getcwd-path-max.m4.
6692         (main): Update exit code computation.
6693         * doc/posix-functions/getcwd.texi: Mention list of platforms where
6694         getcwd does not handle long file names.
6695
6696 2011-11-20  Bruno Haible  <bruno@clisp.org>
6697
6698         getcwd: Fix bug from 2009-09-10.
6699         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
6700         like "no".
6701
6702 2011-11-20  Simon Josefsson  <simon@josefsson.org>
6703
6704         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
6705
6706 2011-11-20  Bruno Haible  <bruno@clisp.org>
6707
6708         fma tests: Avoid shadowing local variables.
6709         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
6710         expected.
6711
6712 2011-11-20  Bruno Haible  <bruno@clisp.org>
6713
6714         copysignf tests: Fix.
6715         * tests/test-copysignf.c: Fix signature check.
6716
6717 2011-11-20  Bruno Haible  <bruno@clisp.org>
6718
6719         fma: Remove unused code.
6720         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
6721         unused macros.
6722
6723 2011-11-20  Bruno Haible  <bruno@clisp.org>
6724
6725         sethostname: Fix doc about AIX.
6726         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
6727         sethostname; it has it.
6728
6729         sethostname: Mention more portability problems.
6730         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
6731         problem.
6732         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
6733
6734 2011-11-19  Bruno Haible  <bruno@clisp.org>
6735
6736         Depend on module fcntl-h when AT_FDCWD is used.
6737         * modules/utimens (Depends-on): Add fcntl-h.
6738         * modules/areadlinkat (Depends-on): Likewise.
6739         * modules/areadlinkat-with-size (Depends-on): Likewise.
6740         * modules/faccessat (Depends-on): Likewise.
6741         * modules/fchmodat (Depends-on): Likewise.
6742         * modules/fchownat (Depends-on): Likewise.
6743         * modules/getcwd (Depends-on): Likewise.
6744         * modules/mkdirat (Depends-on): Likewise.
6745         * modules/mkfifoat (Depends-on): Likewise.
6746         * modules/readlinkat (Depends-on): Likewise.
6747         * modules/symlinkat (Depends-on): Likewise.
6748         * modules/dup2-tests (Depends-on): Likewise.
6749         * modules/fdutimensat-tests (Depends-on): Likewise.
6750         * modules/futimens-tests (Depends-on): Likewise.
6751
6752 2011-11-19  Bruno Haible  <bruno@clisp.org>
6753
6754         euidaccess: Update a comment.
6755         * lib/euidaccess.c: Update comment about platforms with faccessat.
6756
6757 2011-11-19  Bruno Haible  <bruno@clisp.org>
6758
6759         openat: Fix file list.
6760         * modules/openat (Files): Remove lib/at-func.c.
6761
6762 2011-11-19  Bruno Haible  <bruno@clisp.org>
6763
6764         fstatat: Simplify.
6765         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
6766         gnulib should define rpl_fstatat, there is a
6767         "#define fstatat rpl_fstatat" in <sys/stat.h>.
6768
6769 2011-11-19  Bruno Haible  <bruno@clisp.org>
6770
6771         Ensure 'inline' can be used in tests/test-utimens-common.h.
6772         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
6773         * modules/futimens-tests (configure.ac): Likewise.
6774         * modules/utimens-tests (configure.ac): Likewise.
6775         * modules/utimensat-tests (configure.ac): Likewise.
6776
6777 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6778
6779         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
6780         not hash_insert0.
6781         (hash_insert_if_absent): Doc fix.
6782
6783 2011-11-19  Simon Josefsson  <simon@josefsson.org>
6784
6785         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
6786
6787 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
6788
6789         test-getcwd: disambiguate exit status
6790         * tests/test-getcwd.c (test_long_name): Return 0..7.
6791         (main): Exit with an unambiguous exit status.  The old
6792         code yielded a mysterious mixture of two failure codes.
6793
6794         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
6795         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
6796         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
6797         rpl_fstatat or fstatat.  This should fix the other problem
6798         reported by Kai Habel in
6799         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6800         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
6801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
6802         and I reproduced it on a Solaris 8 host we still have in production.
6803
6804 2011-11-18  Jim Meyering  <meyering@redhat.com>
6805
6806         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
6807         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
6808         Add a sentence to the comment.
6809         (hash_insert0): New function that simply calls hash_insert_if_absent.
6810         * lib/hash.h (hash_insert_if_absent): Declare it.
6811         (hash_insert0): Add deprecation attribute.
6812         (_GL_ATTRIBUTE_DEPRECATED): Define.
6813         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
6814         not hash_insert0.
6815         * NEWS: Mention it, even though it's not really an incompatible change.
6816
6817 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
6818
6819         openat: avoid compilation failure due to lack of <errno.h> inclusion
6820         * lib/openat.c: Include <errno.h>.
6821
6822 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
6823
6824         * modules/getcwd (Depends-on): Add fdopendir.
6825         This fixes one of the two problems reported by Kai Habel in
6826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
6827
6828         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
6829         stdalign problem reported by Ian Beckwith in
6830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
6831         * modules/crypto/gc-arcfour (Depends-on):
6832         Depend conditionally on crypto/arcfour.
6833         * modules/crypto/gc-arctwo (Depends-on):
6834         Depend conditionally on crypto/arctwo.
6835         * modules/crypto/gc-des (Depends-on):
6836         Depend conditionally on crypto/des.
6837         * modules/crypto/gc-hmac-md5 (Depends-on):
6838         Depend conditionally on crypto/hmac-md5.
6839         * modules/crypto/gc-hmac-sha1 (Depends-on):
6840         Depend conditionally on crypto/hmac-sha1.
6841         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
6842         * modules/crypto/gc-md4 (Depends-on):
6843         Depend conditionally on crypto/md4.
6844         * modules/crypto/gc-md5 (Depends-on):
6845         Depend conditionally on crypto/md5.
6846         * modules/crypto/gc-rijndael (Depends-on):
6847         Depend conditionally on crypto/rijndael.
6848         * modules/crypto/gc-sha1 (Depends-on):
6849         Depend conditionally on crypto/sha1.
6850         * modules/crypto/gc-arcfour:
6851         * modules/crypto/gc-arctwo:
6852         * modules/crypto/gc-des:
6853         * modules/crypto/gc-hmac-md5:
6854         * modules/crypto/gc-hmac-sha1:
6855         * modules/crypto/gc-md2:
6856         * modules/crypto/gc-md4:
6857         * modules/crypto/gc-md5:
6858         * modules/crypto/gc-rijndael:
6859         * modules/crypto/gc-sha1:
6860         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
6861         now that the conditional dependencies do the work for us.
6862
6863 2011-11-17  Jim Meyering  <meyering@redhat.com>
6864
6865         tests: factor st_ctime-comparison out of two headers
6866         * tests/test-utimens-common.h (ctime_compare): Define.
6867         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
6868         * tests/test-lutimens.h (test_lutimens): Likewise.
6869         * tests/test-utimens.h (test_utimens): Likewise.
6870
6871         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
6872         Invoke the test program via an init.sh-using wrapper.
6873         * tests/test-getcwd.sh: New file.
6874         * modules/getcwd-tests (Files): Add it.
6875         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
6876
6877 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
6878
6879         gitlog-to-changelog: support multi-author commits.
6880         The FSF cares about keeping track of all authors of patches to its
6881         projects, but Git doesn't provide obvious support for multi-author
6882         changesets. Consensus seems to be forming around the use of extra
6883         Signed-off-by inspired lines in the log message formatted as
6884         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
6885         multi-author commits between version control systems.
6886         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
6887         log message and output in standard ChangeLog multi-author format.
6888         Reported by Peter Rosin <peda@lysator.liu.se>
6889
6890 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
6891             Bruno Haible  <bruno@clisp.org>
6892
6893         Fix some modules' file list.
6894         * modules/fstatat (Files): Add m4/lstat.m4.
6895         * modules/openat (Files): Likewise.
6896         * modules/unlinkat (Files): Likewise.
6897
6898 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
6899
6900         maint.mk: fix tight-scope.mk generation in VPATH builds.
6901         * top/maint.mk (tight-scope.mk): Make sure to prefix file
6902         reference with $(srcdir) so that the file is found correctly even
6903         when running `make syntax-check' in a VPATH build.
6904
6905 2011-11-13  Bruno Haible  <bruno@clisp.org>
6906             Jim Meyering  <meyering@redhat.com>
6907
6908         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
6909         * tests/init.sh (compare): Remove "No differences encountered" or
6910         synonymous output from the 'diff' program.
6911
6912 2011-11-13  Bruno Haible  <bruno@clisp.org>
6913
6914         Makefile: Tweak indentation.
6915         * Makefile: Use tab as first character in every line that contains rule
6916         commands.
6917
6918 2011-11-13  Bruno Haible  <bruno@clisp.org>
6919
6920         Syntax check for copyright statements.
6921         * check-copyright: New file.
6922         * Makefile (sc_check_copyright): New rule.
6923
6924 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6925
6926         * build-aux/git-version-gen: Add --prefix to configure the tag
6927         match string.
6928
6929 2011-11-13  Simon Josefsson  <simon@josefsson.org>
6930
6931         * build-aux/git-version-gen: Add --help and --version.
6932
6933 2011-11-12  Jim Meyering  <meyering@redhat.com>
6934
6935         revamp the other test-exclude?.sh scripts to use init.sh, too
6936         * tests/test-exclude1.sh: Use init.sh.
6937         * tests/test-exclude2.sh: Likewise.
6938         * tests/test-exclude3.sh: Likewise.
6939         * tests/test-exclude4.sh: Likewise.
6940         * tests/test-exclude5.sh: Likewise.
6941         * tests/test-exclude6.sh: Likewise.
6942         * tests/test-exclude7.sh: Likewise.
6943         * tests/test-exclude8.sh: Likewise.
6944         * modules/exclude-tests (Files): List init.sh.
6945
6946         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
6947         These shell scripts ignored failure of the binary test-exclude,
6948         so making the latter return 77 didn't cause them to be skipped.
6949         * tests/test-exclude5.sh: Exit with test-exclude's error status
6950         when that program fails.  Revamp to use init.sh.
6951         * tests/test-exclude2.sh: Likewise.
6952
6953         test-exclude: fix a typo
6954         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
6955
6956 2011-11-11  Bruno Haible  <bruno@clisp.org>
6957
6958         obstack: Fix compilation error on MSVC 9.
6959         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
6960
6961 2011-11-11  Jim Meyering  <meyering@redhat.com>
6962
6963         test-exclude: skip tests rather than failing on deficient systems
6964         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
6965         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
6966         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
6967         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
6968
6969 2011-11-10  Bruno Haible  <bruno@clisp.org>
6970
6971         ptsname_r test: Avoid gcc warning on glibc systems.
6972         * tests/test-ptsname_r.c (null_ptr): New function.
6973         (test_errors): Use it.
6974
6975 2011-11-10  Bruno Haible  <bruno@clisp.org>
6976
6977         ptsname_r: Avoid compilation error on OSF/1 5.1.
6978         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
6979         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
6980         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
6981         function is not declared or incompatibly declared.
6982         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
6983         * modules/ptsname_r (Depends-on, configure.ac): Update.
6984         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
6985
6986 2011-11-10  Bruno Haible  <bruno@clisp.org>
6987
6988         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
6989         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
6990         When cross-compiling, guess yes on all platforms except AIX.
6991         Reported by Ludovic Courtès <ludo@gnu.org>.
6992
6993 2011-11-09  Bruno Haible  <bruno@clisp.org>
6994
6995         ptsname_r tests: Fix bugs.
6996         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
6997         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
6998
6999 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7000
7001         fstatat: work with cross-compilation
7002         Problem reported by Ludovic Courtès in
7003         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7004         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7005         "cross-compiling" and assume the bug is present.  Replace
7006         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7007         an inverted sense, to be more conservative about our assumptions.
7008         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7009
7010 2011-11-09  Bruno Haible  <bruno@clisp.org>
7011
7012         Improve MODULES.html output.
7013         * modules/mkfifoat (Description): Use the word "function".
7014         * modules/readlinkat (Description): Likewise.
7015         * modules/symlinkat (Description): Likewise.
7016
7017 2011-11-09  Eric Blake  <eblake@redhat.com>
7018
7019         ptsname_r-tests: new test module
7020         * modules/ptsname_r-tests: New module.
7021         * tests/test-ptsname_r.c: New file.
7022
7023         ptsname_r: new module
7024         * modules/ptsname_r: New module.
7025         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7026         * lib/ptsname.c (__ptsname_r): Split...
7027         * lib/ptsname_r.c: ...into new file.
7028         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7029         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7030         * modules/stdlib (Makefile.am): Substitute witnesses.
7031         * lib/stdlib.in.h (ptsname_r): Declare it.
7032         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7033         * MODULES.html.sh (Misc): Likewise.
7034         * modules/ptsname (Depends-on): Alter dependency.
7035         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7036
7037 2011-11-09  Jim Meyering  <meyering@redhat.com>
7038
7039         announce-gen: be more concise when there's only one URL+tarball
7040         * build-aux/announce-gen (get_tool_versions): When you distribute
7041         only one type of tarball, combine the first two "Here are..."
7042         sections and make the key-checking grammar independent of
7043         how many tarballs there are.
7044
7045 2011-11-09  Eric Blake  <eblake@redhat.com>
7046
7047         openpty: provide a stub on mingw
7048         * lib/pty.in.h (includes): Provide forward declarations.
7049         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7050
7051         raise: fix mingw handling of SIGPIPE
7052         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7053
7054 2011-11-08  Bruno Haible  <bruno@clisp.org>
7055
7056         More conditional dependencies.
7057         * modules/faccessat (Depends-on): Add conditions.
7058         * modules/fchmodat (Depends-on): Likewise.
7059         * modules/fchownat (Depends-on): Likewise.
7060         * modules/fstatat (Depends-on): Likewise.
7061         * modules/mkfifoat (Depends-on): Likewise.
7062         * modules/readlinkat (Depends-on): Likewise.
7063         * modules/symlinkat (Depends-on): Likewise.
7064         * modules/unlinkat (Depends-on): Likewise.
7065         * modules/utimensat (Depends-on): Likewise.
7066         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7067         * modules/linkat (Depends-on): Refine the conditions.
7068         * modules/renameat (Depends-on): Likewise.
7069
7070 2011-11-08  Bruno Haible  <bruno@clisp.org>
7071
7072         faccessat: Move AC_LIBOBJ invocation to module description.
7073         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7074         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7075         invocation from here...
7076         * modules/faccessat (configure.ac): ... to here. Invoke
7077         gl_PREREQ_FACCESSAT.
7078
7079 2011-11-08  Bruno Haible  <bruno@clisp.org>
7080
7081         faccessat: Simplify autoconf macro.
7082         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7083         gl_FUNC_EUIDACCESS.
7084
7085 2011-11-08  Bruno Haible  <bruno@clisp.org>
7086
7087         renameat: Fix dependencies.
7088         * modules/renameat (Depends-on): Add stdbool.
7089
7090 2011-11-08  Bruno Haible  <bruno@clisp.org>
7091
7092         mkfifoat: Fix module description.
7093         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7094         not gl_UNISTD_MODULE_INDICATOR.
7095
7096 2011-11-08  Bruno Haible  <bruno@clisp.org>
7097
7098         fstatat: Remove unused dependency.
7099         * modules/fstatat (Depends-on): Remove fstat.
7100
7101 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7102
7103         GNUmakefile: behave when Makefile is missing.
7104         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7105
7106 2011-11-08  Bruno Haible  <bruno@clisp.org>
7107
7108         openat: Conditionalize dependencies.
7109         * lib/openat.c: Reduce the scope of some #includes.
7110         * modules/openat (Depends-on): Add conditions.
7111
7112 2011-11-07  Jim Meyering  <meyering@redhat.com>
7113
7114         maint.mk: extract GPG key ID without using a temporary file
7115         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7116         without using a temporary file.  Based on a suggestion from Werner Koch
7117         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7118
7119 2011-11-07  Eric Blake  <eblake@redhat.com>
7120
7121         grantpt: fix typo
7122         * lib/stdlib.in.h (grantpt): Check correct function.
7123
7124         maint.mk: silence new syntax check
7125         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7126
7127 2011-11-06  Bruno Haible  <bruno@clisp.org>
7128
7129         Doc about floating-point and math API.
7130         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7131         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7132
7133 2011-11-06  Bruno Haible  <bruno@clisp.org>
7134
7135         stdalign tests: Skip the test when compiled by Sun C.
7136         * tests/test-stdalign.c (main): Skip the test on Sun C.
7137
7138 2011-11-06  Bruno Haible  <bruno@clisp.org>
7139
7140         ansi-c++-opt: Complete the 2011-06-05 change.
7141         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7142         does not support namespaces, set the variable to "no", not to ":".
7143
7144 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7145
7146         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7147
7148 2011-11-06  Bruno Haible  <bruno@clisp.org>
7149
7150         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7151         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7152         (minus_zerol) [HP-UX]: New macro.
7153         (unary_minus) [HP-UX]: New function.
7154         (copysignl) [HP-UX]: Use unary_minus function.
7155
7156 2011-11-06  Bruno Haible  <bruno@clisp.org>
7157
7158         ldexp, ldexpf, ldexpl: Enhance tests.
7159         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7160         and tests/test-ldexpl.c.
7161         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7162         LDEXP, MIN_EXP, MAX_EXP): New macros.
7163         Include test-ldexp.h.
7164         (main): Just call test_function.
7165         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7166         infinity.h, nan.h.
7167         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7168         MAX_EXP): New macros.
7169         Include test-ldexp.h.
7170         (x, y): Remove variables.
7171         (main): Just call test_function.
7172         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
7173         infinity.h, nan.h.
7174         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7175         MAX_EXP): New macros.
7176         Include test-ldexp.h.
7177         (x, y): Remove variables.
7178         (main): Just call test_function.
7179         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
7180         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
7181         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7182         (Depends-on): Add isnand-nolibm, signbit, float.
7183         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
7184         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
7185         (Depends-on): Add isnanf-nolibm, signbit, float.
7186
7187 2011-11-06  Bruno Haible  <bruno@clisp.org>
7188
7189         math tests: Cosmetics.
7190         * tests/test-math-c++.cc: Reorder declarations.
7191
7192 2011-11-05  Bruno Haible  <bruno@clisp.org>
7193
7194         fma*: Simplify test.
7195         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
7196         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
7197
7198         Tests for module 'fmal'.
7199         * modules/fmal-tests: New file.
7200         * tests/test-fmal1.c: New file.
7201         * tests/test-fmal2.c: New file.
7202
7203         New module 'fmal'.
7204         * lib/math.in.h (fmal): New declaration.
7205         * lib/fmal.c: New file.
7206         * m4/fmal.m4: New file.
7207         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
7208         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
7209         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
7210         REPLACE_FMAL.
7211         * modules/fmal: New file.
7212         * doc/posix-functions/fmal.texi: Mention the new module and the various
7213         bugs.
7214
7215         Tests for module 'fmaf'.
7216         * modules/fmaf-tests: New file.
7217         * tests/test-fmaf1.c: New file.
7218         * tests/test-fmaf2.c: New file.
7219
7220         New module 'fmaf'.
7221         * lib/math.in.h (fmaf): New declaration.
7222         * lib/fmaf.c: New file.
7223         * m4/fmaf.m4: New file.
7224         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
7225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
7226         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
7227         REPLACE_FMAF.
7228         * modules/fmaf: New file.
7229         * doc/posix-functions/fmaf.texi: Mention the new module and the various
7230         bugs.
7231
7232         Tests for module 'fma'.
7233         * modules/fma-tests: New file.
7234         * tests/test-fma1.c: New file.
7235         * tests/test-fma1.h: New file.
7236         * tests/test-fma2.c: New file.
7237         * tests/test-fma2.h: New file.
7238
7239         New module 'fma'.
7240         * lib/math.in.h (fma): New declaration.
7241         * lib/fma.c: New file.
7242         * m4/fma.m4: New file.
7243         * m4/fegetround.m4: New file.
7244         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
7245         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
7246         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
7247         REPLACE_FMA.
7248         * modules/fma: New file.
7249         * doc/posix-functions/fma.texi: Mention the new module and the various
7250         bugs.
7251
7252         Extend gl_MATHFUNC.
7253         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
7254         Support 'void' as argument type.
7255         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
7256
7257 2011-11-05  Jim Meyering  <meyering@redhat.com>
7258
7259         maint.mk: also prohibit inclusion of dirent.h without use
7260         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
7261
7262 2011-11-05  Bruno Haible  <bruno@clisp.org>
7263
7264         ldexpl tests: Avoid test failure on MSVC 9.
7265         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
7266         value. Needed in order to enforce the conversion from a value greater
7267         than LDBL_MAX to Infinity.
7268
7269 2011-11-05  Bruno Haible  <bruno@clisp.org>
7270
7271         New modules 'at-internal', 'openat-h', split off from module 'openat'.
7272         * modules/at-internal: New file, extracted from modules/openat.
7273         * modules/openat-h: New file.
7274         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
7275         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
7276         * modules/openat (Description): Add reference to POSIX function.
7277         (Files): Remove lib/openat.h, lib/openat-proc.c.
7278         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
7279         intprops, unistd.
7280         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
7281         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
7282         gl_FCNTL_MODULE_INDICATOR.
7283         (Include): Remove unistd.h, openat.h.
7284         * modules/areadlinkat (Files): Add lib/at-func.c.
7285         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7286         openat-die, openat-h, save-cwd.
7287         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
7288         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7289         openat-die, openat-h, save-cwd, unistd.
7290         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
7291         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7292         openat-h, save-cwd. Remove fcntl-h, openat.
7293         * modules/fchmodat (Files): Remove lib/openat.h.
7294         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7295         openat, stdbool, unistd.
7296         * modules/fchownat (Files): Remove lib/openat.h.
7297         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7298         openat, stdbool, sys_stat.
7299         * modules/fdopendir (Files): Remove lib/openat-priv.h,
7300         lib/openat-proc.c.
7301         (Depends-on): Add at-internal.
7302         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
7303         * modules/fstatat (Files): Remove lib/openat.h.
7304         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7305         stdbool, unistd.
7306         * modules/fts (Depends-on): Add openat-h.
7307         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
7308         openat.
7309         * modules/mkdirat (Files): Remove lib/openat.h.
7310         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
7311         openat, stdbool, sys_stat.
7312         * modules/mkfifoat (Files): Add lib/at-func.c.
7313         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7314         openat-h, save-cwd. Remove fcntl-h, openat.
7315         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
7316         * modules/readlinkat (Files): Add lib/at-func.c.
7317         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7318         openat-h, save-cwd. Remove fcntl-h, openat.
7319         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
7320         openat.
7321         * modules/selinux-at (Files): Add lib/at-func.c.
7322         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
7323         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
7324         * modules/symlinkat (Files): Add lib/at-func.c.
7325         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
7326         openat-h, save-cwd. Remove fcntl-h, openat.
7327         * modules/unlinkat (Files): Remove lib/openat.h.
7328         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
7329         stdbool.
7330         * modules/utimensat (Files): Add lib/at-func.c.
7331         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
7332         openat-die, openat-h, save-cwd.
7333         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
7334         * modules/fdutimensat-tests (Depends-on): Add openat.
7335         * modules/fstatat-tests (Depends-on): Add openat-h.
7336         * modules/readlinkat-tests (Depends-on): Add openat.
7337         * modules/symlinkat-tests (Depends-on): Add openat.
7338
7339 2011-11-05  Bruno Haible  <bruno@clisp.org>
7340
7341         openat: Include <stdbool.h>.
7342         * lib/openat.c: Include <stdbool.h>.
7343
7344 2011-11-04  Bruno Haible  <bruno@clisp.org>
7345
7346         fchownat, renameat, unlinkat: Fix dependencies.
7347         * modules/fchownat (Depends-on): Add fstatat.
7348         * modules/renameat (Depends-on): Likewise.
7349         * modules/unlinkat (Depends-on): Likewise.
7350
7351 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7352
7353         openat: remove direct dependency on dirent
7354         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
7355         and hasn't been needed ever since fdopendir was split into its own
7356         module on 2009-08-31.
7357         * modules/openat (Depends-on): Remove dirent.
7358
7359 2011-11-04  Bruno Haible  <bruno@clisp.org>
7360
7361         renameat: Optimize code size.
7362         * modules/renameat (configure.ac): Don't compile at-func2.c if
7363         REPLACE_RENAMEAT is 1.
7364
7365 2011-11-04  Bruno Haible  <bruno@clisp.org>
7366
7367         openat tests: Fix file list.
7368         * modules/openat-tests (Files): Add tests/test-open.h.
7369
7370 2011-11-04  Bruno Haible  <bruno@clisp.org>
7371
7372         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
7373         * modules/fchmodat (Depends-on): Add openat-die.
7374         * modules/fchownat (Depends-on): Likewise.
7375         * modules/linkat (Depends-on): Likewise.
7376         * modules/renameat (Depends-on): Likewise.
7377         * modules/openat (Depends-on): Add dirent.
7378
7379 2011-11-04  Jim Meyering  <meyering@redhat.com>
7380
7381         at-func*.c: fix comments
7382         * lib/at-func2.c: Correct/improve first-line comment.
7383         * lib/at-func.c: Correct grammar in first-line comment.
7384
7385 2011-11-04  Bruno Haible  <bruno@clisp.org>
7386
7387         New module 'mkdirat', split off from module 'openat'.
7388         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
7389         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
7390         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
7391         * modules/mkdirat: New file, extracted from modules/openat.
7392         * modules/openat (Files): Remove lib/mkdirat.c.
7393         (Depends-on): Remove mkdir.
7394         (configure.ac): Remove AC_LIBOBJ of mkdirat.
7395         (Include): Remove <sys/stat.h>.
7396         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
7397         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
7398         tests/test-mkdir.h.
7399         (Depends-on): Remove ignore-value.
7400         (Makefile.am): Remove rules for test-mkdirat.
7401         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
7402         of module 'openat'.
7403         * NEWS: Mention the change.
7404
7405 2011-11-04  Bruno Haible  <bruno@clisp.org>
7406
7407         closedir: Avoid warning on mingw.
7408         * lib/closedir.c: Include <unistd.h>.
7409
7410 2011-11-04  Bruno Haible  <bruno@clisp.org>
7411
7412         New module 'fstatat', split off from module 'openat'.
7413         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
7414         defined.
7415         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
7416         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
7417         gl_FUNC_FSTATAT.
7418         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
7419         * modules/fstatat: New file, extracted from modules/openat.
7420         * modules/openat (Files): Remove lib/fstatat.c.
7421         (Depends-on): Remove lstat.
7422         (configure.ac): Remove AC_LIBOBJ of fstatat.
7423         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
7424         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
7425         tests/test-lstat.h, tests/test-stat.h.
7426         (Depends-on): Remove getcwd-lgpl.
7427         (Makefile.am): Remove rules for test-fstatat.
7428         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
7429         of module 'openat'.
7430         * NEWS: Mention the change.
7431         * modules/getcwd (Depends-on): Add fstatat.
7432         * modules/linkat (Depends-on): Likewise.
7433         * modules/mkfifoat-tests (Depends-on): Likewise.
7434         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
7435
7436 2011-11-03  Bruno Haible  <bruno@clisp.org>
7437
7438         New module 'unlinkat', split off from module 'openat'.
7439         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
7440         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
7441         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
7442         * modules/unlinkat: New file, extracted from modules/openat. Correct
7443         the dependency conditions.
7444         * modules/openat (Files): Remove lib/unlinkat.c.
7445         (Depends-on): Remove rmdir, unlink.
7446         (configure.ac): Remove AC_LIBOBJ of unlinkat.
7447         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
7448         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
7449         tests/test-rmdir.h, tests/test-unlink.h.
7450         (Depends-on): Remove unlinkdir.
7451         (Makefile.am): Remove rules for test-unlinkat.
7452         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
7453         of module 'openat'.
7454         * NEWS: Mention the change.
7455         * modules/linkat-tests (Depends-on): Add unlinkat.
7456         * modules/mkfifoat-tests (Depends-on): Likewise.
7457         * modules/readlinkat-tests (Depends-on): Likewise.
7458
7459 2011-11-02  Bruno Haible  <bruno@clisp.org>
7460
7461         New module 'fchmodat', split off from module 'openat'.
7462         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
7463         defined.
7464         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
7465         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
7466         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
7467         * modules/fchmodat: New file, extracted from modules/openat.
7468         * modules/openat (Files): Remove lib/fchmodat.c.
7469         (configure.ac): Remove AC_LIBOBJ of fchmodat.
7470         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
7471         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
7472         (Makefile.am): Remove rules for test-fchmodat.
7473         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
7474         of module 'openat'.
7475         * NEWS: Mention the change.
7476
7477 2011-11-02  Jim Meyering  <meyering@redhat.com>
7478
7479         putenv: indent #definition of "environ" to placate cppi
7480         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
7481
7482         gitlog-to-changelog: provide a ChangeLog-repair mechanism
7483         Git logs are often treated as immutable, because editing them
7484         changes the SHA1 checksums of all descendants.  Thus, errors in
7485         git logs tend to stay there forever.  However, when we generate
7486         a ChangeLog file -- typically for distribution -- from that git log,
7487         we can actually make corrections in the generated file.  The key
7488         lies in recording in machine-readable/applicable form the desired
7489         corrections.  See --help for description and an example.
7490         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
7491         (usage): Describe it; alphabetize option descriptions.
7492         (main): Honor the new option, carefully.
7493
7494 2011-11-01  Jim Meyering  <meyering@redhat.com>
7495
7496         gitlog-to-changelog: avoid an infloop
7497         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
7498         that ends up being empty.
7499
7500 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7501
7502         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
7503         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
7504         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
7505         contains (possibly-quoted) backslashes.  This should avoid
7506         all-too-common shell bugs if COMPLICATED contains backslashes in
7507         the "wrong" places.  Reported by David Evans in
7508         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
7509         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
7510         because we want ASCII ranges.  Is there some reason we don't use
7511         the C locale everywhere in this script?
7512         (func_module, top level): Avoid unwanted pathname expansion when
7513         $repo_url_prefix or $repo_url_suffix_repl contain shell
7514         metacharacters like '?' and '*'.
7515
7516 2011-11-01  Bruno Haible  <bruno@clisp.org>
7517
7518         fchownat: Improve description.
7519         * modules/fchownat (Description): Add link to function.
7520
7521 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
7522
7523         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
7524         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
7525         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
7526         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
7527
7528 2011-11-01  Bruno Haible  <bruno@clisp.org>
7529
7530         alignof: Avoid collision with stdalign module.
7531         * lib/alignof.h (alignof): Remove macro.
7532         * NEWS: Mention the change.
7533         Reported by Paul Eggert.
7534
7535 2011-11-01  Bruno Haible  <bruno@clisp.org>
7536
7537         New module 'fchownat', split off from module 'openat'.
7538         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
7539         defined.
7540         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
7541         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
7542         invoke gl_FUNC_FCHOWNAT.
7543         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
7544         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
7545         * modules/fchownat: New file, extracted from modules/openat.
7546         * modules/openat (Files): Remove lib/fchownat.c.
7547         (Depends-on): Remove lchown.
7548         (configure.ac): Remove AC_LIBOBJ of fchownat.
7549         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
7550         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
7551         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
7552         (Depends-on): Remove mgetgroups, usleep, stat-time.
7553         (configure.ac): Remove test for getegid.
7554         (Makefile.am): Remove rules for test-fchownat.
7555         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
7556         of module 'openat'.
7557         * NEWS: Mention the change.
7558
7559 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
7560
7561         stdalign: port better to MSVC and to Sun C 5.11
7562         This fixes some of the problems reported by Bruno Haible in
7563         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
7564         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
7565         shortcomings of MSVC and of Sun C 5.11.
7566         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
7567         around __declspec arg.
7568         * modules/stdalign-tests (Files): Add tests/macros.h.
7569         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
7570         Include macros.h, for ASSERT.
7571         (DECLARE_ALIGNED): Remove.
7572         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
7573         to catch bug), and to 1 if not (simplifies the rest of the code).
7574         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
7575         (CHECK_AUTO): Remove.
7576         (CHECK_ALIGNED): Check only the alignment of the static vars,
7577         since auto var alignment isn't supported by Sun C 5.11.
7578         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
7579         ASSERT failures are easier to diagnose.
7580
7581 2011-10-31  Bruno Haible  <bruno@clisp.org>
7582
7583         doc about some IRIX 5.3 problems.
7584         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
7585         on IRIX 5.3.
7586         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
7587         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
7588         5.3.
7589         * doc/posix-functions/grantpt.texi: Likewise.
7590         * doc/posix-functions/unlockpt.texi: Likewise.
7591         * doc/posix-functions/lgamma.texi: Likewise.
7592         * doc/posix-functions/nextafter.texi: Likewise.
7593         * doc/posix-functions/remainder.texi: Likewise.
7594         * doc/posix-functions/select.texi: Mention misplaced declaration on
7595         IRIX 5.3.
7596         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7597
7598 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
7599
7600         gitlog-to-changelog: fix git-log invocation.
7601         git-log mishandles date strings before 1970-01-01 UTC, and there is
7602         no use to specify --since=1970-01-01 by default anyway.
7603         * build-aux/gitlog-to-changelog: By default, when no --since option
7604         was given, do not specify explicit --since option to git-log.
7605
7606 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
7607
7608         gitlog-to-changelog: new option --append-dot.
7609         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
7610         first non-blank line of each commit message terminated with a dot.
7611
7612 2011-10-30  Bruno Haible  <bruno@clisp.org>
7613
7614         ffsl, ffsll: Avoid compilation error due to 'restrict'.
7615         * lib/ffsl.h: Include <config.h>.
7616         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
7617
7618 2011-10-30  Jim Meyering  <meyering@redhat.com>
7619
7620         GNUmakefile: reenable "make syntax-check" for most projects
7621         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
7622         build-aux variable", "syntax-check" would do nothing but succeed with
7623         the "No version control files detected..." diagnostic (unless you
7624         happened to override _build-aux via cfg.mk).
7625         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
7626         to precede inclusion of maint.mk.  Otherwise, these variables would
7627         be used undefined in any project that does not override the default.
7628
7629 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
7630
7631         gitlog-to-changelog: treat a message with only blank lines as empty.
7632         * build-aux/gitlog-to-changelog: Move the code that removes leading and
7633         trailing blank lines before the code that issues a warning about an
7634         empty commit message.
7635
7636 2011-10-30  Jim Meyering  <meyering@redhat.com>
7637
7638         test-parse-datetime.c: avoid new DST-related false positive test failure
7639         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
7640         based on the time/date we'll convert, not the current time.
7641         Otherwise, the moment we cross a DST boundary like today's in
7642         Europe, (CEST to CET), that offset ends up being one hour off.
7643
7644 2011-10-27  Bruno Haible  <bruno@clisp.org>
7645
7646         fstat: Tweak documentation.
7647         * modules/fstat (Description): More precise description.
7648
7649 2011-10-27  Bruno Haible  <bruno@clisp.org>
7650
7651         Update documentation regarding 'largefile' module.
7652         * doc/posix-functions/fstat.texi: Tweak wording.
7653         * doc/posix-functions/opendir.texi: Mention that the module fixes the
7654         problems with huge directories and/or small ino_t types.
7655         * doc/posix-functions/readdir.texi: Likewise.
7656         * doc/posix-functions/rewinddir.texi: Likewise.
7657
7658 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
7659
7660         maint.mk: don't maintain a second build-aux variable.
7661         * maint.mk (build_aux): Removed.  The maintainer-makefile module
7662         depends on GNUmakefile, which already maintains a cfg.mk
7663         overridable $(_build-aux) for projects with a non-standard
7664         build-aux directory location, although without the $(srcdir)
7665         prefix.  Use that variable consistently instead of introducing a
7666         second one.  Adjust all call sites.
7667
7668 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7669
7670         Add stdalign module and use it in other modules.
7671         This is based on a previous proposal by Bruno Haible
7672         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
7673
7674         stdalign: new module
7675         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
7676         * modules/stdalign: New files.
7677         * MODULES.html.sh (c1x_core_properties): Add stdalign.
7678         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
7679
7680         stdalign-tests: new module
7681         * modules/stdalign-tests, tests/test-stdalign.c: New files.
7682
7683         argp: use stdalign
7684         * lib/argp-parse.c: Include <stdalign.h>.
7685         (alignof): Remove.
7686         * modules/argp (Depends-on): Add stdalign.
7687
7688         crypto libraries: use stdalign
7689         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
7690         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
7691         Do not include <stdlib.h> twice, in md4.c.
7692         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
7693         because we are accessing a pointer's bit-pattern, not a size.
7694         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
7695         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
7696         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
7697         * modules/crypto/sha512: Likewise.
7698
7699         sys_socket: use stdalign, not alignof
7700         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
7701         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
7702
7703 2011-10-27  Bruno Haible  <bruno@clisp.org>
7704
7705         raise test: Avoid a test failure on Linux/MIPS.
7706         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
7707         because 99 is a valid signal on Linux/MIPS.
7708
7709 2011-10-27  Bruno Haible  <bruno@clisp.org>
7710
7711         nonblocking tests: Fix test failure on Linux/MIPS.
7712         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
7713         Set to 270000.
7714
7715 2011-10-27  Bruno Haible  <bruno@clisp.org>
7716
7717         utimensat: Work around problem on Linux/hppa.
7718         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
7719         values.
7720         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
7721
7722 2011-10-25  Jim Meyering  <meyering@redhat.com>
7723
7724         maint.mk: fix a bug in sc_prohibit_stddef_without_use
7725         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
7726         after symbols like NULL, size_t, etc.
7727         Reported by Alfred M. Szmidt.
7728
7729         maint.mk: exempt ENODATA from a syntax-check rule
7730         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
7731         from the sc_prohibit_always-defined_macros syntax-check rule.
7732         Add a comment.  See this for more details:
7733         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
7734
7735 2011-10-23  Jim Meyering  <meyering@redhat.com>
7736
7737         fts: close parent dir FD before returning from post-traversal fts_read
7738         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
7739         unlink A, even though an FD open on A remained.  This is suboptimal
7740         (holding a file descriptor open longer than needed), but otherwise not
7741         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
7742         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
7743         that represents a real problem: it causes the removal of A to fail
7744         with e.g., "rm: cannot remove `A': Device or resource busy"
7745
7746         fts visits each directory twice and keeps a cache (fts_fd_ring) of
7747         directory file descriptors.  After completing the final, FTS_DP,
7748         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
7749         cache, but then proceeded to add a new FD to it via the subsequent
7750         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
7751         final file descriptor would be closed only via fts_close's call to
7752         fd_ring_clear.  Now, it is usually closed earlier, via the final
7753         FTS_DP-returning fts_read call.
7754         * lib/fts.c (restore_initial_cwd): New function, converted from
7755         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
7756         Update callers.
7757         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
7758         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
7759
7760 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
7761             Bruno Haible  <bruno@clisp.org>
7762             Jim Meyering  <jim@meyering.net>
7763
7764         readme-release: improve safety of release prep instructions.
7765         * README-release: Don't git pull all branches when only master
7766         is needed for the release process.
7767         Run make maintainer-clean before changing trees and merging.
7768         Don't try to run ./configure right after git pull in case files
7769         that influence the bootstrap process have changed, move the
7770         ./configure step to after running ./bootstrap.
7771         Don't bootstrap "one last time"... it's the first time!
7772
7773 2011-10-22  Bruno Haible  <bruno@clisp.org>
7774
7775         errno, strerror-override: Support for MSVC 10.
7776         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
7777         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
7778         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
7779         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
7780         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
7781         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
7782         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
7783         Assign values compatible with MSVC 10.
7784         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
7785         New macros.
7786         (GNULIB_defined_EWINSOCK): New macro.
7787         * lib/strerror-override.c (strerror_override): Update accordingly.
7788         * lib/strerror-override.h: Likewise.
7789         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
7790         longer equal to the corresponding errno value.
7791         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7792
7793 2011-10-22  Bruno Haible  <bruno@clisp.org>
7794
7795         perror: Recognize when test program crashes.
7796         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
7797         strerror, set gl_cv_func_perror_works to no.
7798         Reported by Daniel Richard G. <skunk@iskunk.org>.
7799
7800         perror: Fix indentation.
7801         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
7802
7803 2011-10-22  Bruno Haible  <bruno@clisp.org>
7804
7805         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
7806         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
7807         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
7808         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
7809         functions, not as a macro.
7810         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
7811         macros.
7812         (isfinite, isinf, isnan, signbit): Check overloaded functions and
7813         absence of macro.
7814         Suggested by Eric Blake.
7815         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7816
7817 2011-10-21  Bruno Haible  <bruno@clisp.org>
7818
7819         relocatable-prog-wrapper: Don't leave object files behind.
7820         * build-aux/install-reloc: Re-synchronize list of .o files to be
7821         removed with list of compilation units.
7822
7823 2011-10-20  Bruno Haible  <bruno@clisp.org>
7824
7825         openpty, posix_openpt: Remove code duplication.
7826         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
7827         * lib/openpty.c: Include <stdlib.h>.
7828         (openpty): Use posix_openpt on all platforms except IRIX.
7829         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
7830
7831 2011-10-20  Bruno Haible  <bruno@clisp.org>
7832
7833         unlockpt: Detect invalid argument.
7834         * lib/unlockpt.c: Include <fcntl.h>.
7835         (unlockpt): Check whether fd is valid, using fcntl().
7836         * modules/unlockpt (Depends-on): Add fcntl-h.
7837
7838 2011-10-20  Bruno Haible  <bruno@clisp.org>
7839
7840         openpty: Avoid compilation error on AIX 6.1.
7841         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
7842
7843 2011-10-20  Bruno Haible  <bruno@clisp.org>
7844
7845         posix_openpt: Support for OpenBSD.
7846         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
7847         (posix_openpt) [OpenBSD]: New code.
7848         * lib/grantpt.c: Include <fcntl.h>.
7849         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
7850         * modules/grantpt (Depends-on): Add fcntl-h.
7851
7852 2011-10-20  Bruno Haible  <bruno@clisp.org>
7853
7854         posix_openpt test: Coding style.
7855         * tests/test-posix_openpt.c: Use GNU coding style.
7856
7857 2011-10-20  Bruno Haible  <bruno@clisp.org>
7858
7859         grantpt: Support --avoid=pt_chown.
7860         * modules/grantpt (Files): Add lib/pty-private.h.
7861
7862 2011-10-20  Bruno Haible  <bruno@clisp.org>
7863
7864         posix_openpt: Fix autoconf macro.
7865         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
7866         unneeded check for _getpty.
7867
7868 2011-10-20  Bruno Haible  <bruno@clisp.org>
7869
7870         openpty: Update comments.
7871         * lib/openpty.c: Add comments about Minix.
7872
7873 2011-10-19  Eric Blake  <eblake@redhat.com>
7874
7875         openpty: relax license
7876         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
7877
7878         pt_chown: use configmake to simplify build
7879         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
7880
7881         ptsname and others: relax license
7882         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
7883         * modules/unlockpt (License): Likewise.
7884         * modules/pt_chown (License): Likewise.
7885         * modules/ptsname (License): Likewise.
7886         * modules/ttyname_r (License): Likewise.
7887
7888 2011-10-19  Jim Meyering  <meyering@redhat.com>
7889
7890         posix_openpt: remove spurious #endif
7891         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
7892
7893 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
7894
7895         maint.mk: Respect $(build_aux) in web-manual rule.
7896         * top/maint.mk (web-manual): Find gen-announce script in user's
7897         $(build_aux) directory instead of hard-coding 'build-aux'.
7898
7899 2011-10-19  Bruno Haible  <bruno@clisp.org>
7900
7901         posix_openpt: Fix compilation error.
7902         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
7903         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
7904         Mention the openpty module as an alternative.
7905
7906 2011-10-19  Bruno Haible  <bruno@clisp.org>
7907
7908         Support for old NeXTstep 3.3 frexp().
7909         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
7910         execution time of the test to 5 seconds.
7911         Reported by Daniel Richard G. <skunk@iskunk.org>.
7912
7913 2011-10-19  Bruno Haible  <bruno@clisp.org>
7914
7915         Support for old NeXTstep 3.3 sed.
7916         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
7917         part, use /.../, not \|...|. Escape periods in the header file name.
7918         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7919         Reported by Daniel Richard G. <skunk@iskunk.org>.
7920
7921 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
7922
7923         Support for old NeXTstep 3.3 gcc.
7924         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
7925         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
7926         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
7927         * lib/spawn.in.h (_Restrict_arr_): Likewise.
7928         * lib/regex.h (_Restrict_arr_): Likewise.
7929         * lib/regex_internal.h (re_token_t): Likewise.
7930         * lib/regexec.c (check_node_accept_bytes): Likewise.
7931         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
7932
7933 2011-10-18  Eric Blake  <eblake@redhat.com>
7934
7935         posix_openpt: new module
7936         * modules/posix_openpt: New module.
7937         * m4/posix_openpt.m4: New file.
7938         * lib/posix_openpt.c: Likewise.
7939         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7940         (gl_STDLIB_H_DEFAULTS): Set defaults.
7941         * modules/stdlib (Makefile.am): Substitute macros.
7942         * lib/stdlib.in.h (posix_openpt): Declare.
7943         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
7944         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
7945         * modules/posix_openpt-tests: New test module.
7946         * tests/test-posix_openpt.c: New test.
7947
7948 2011-10-15  Bruno Haible  <bruno@clisp.org>
7949
7950         xstrtoll: Fix compilation failure.
7951         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
7952         from lib/strtol.c.
7953         * doc/posix-headers/limits.texi: Mention missing numerical limits on
7954         some platforms.
7955         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7956
7957 2011-10-15  Bruno Haible  <bruno@clisp.org>
7958
7959         vasnprintf: Optimize bit search operation.
7960         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
7961         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
7962         gl_DOUBLE_EXPONENT_LOCATION.
7963         * modules/vasnprintf (Files): Add m4/exponentd.m4.
7964         * modules/unistdio/u8-vasnprintf (Files): Likewise.
7965         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
7966         * modules/unistdio/u16-vasnprintf (Files): Likewise.
7967         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
7968         * modules/unistdio/u32-vasnprintf (Files): Likewise.
7969         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
7970         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
7971         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
7972
7973 2011-10-15  Bruno Haible  <bruno@clisp.org>
7974
7975         vasnprintf: Fix comments.
7976         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
7977
7978 2011-10-14  Bruno Haible  <bruno@clisp.org>
7979
7980         Tests for module 'integer_length_ll'.
7981         * modules/integer_length_ll-tests: New file.
7982         * tests/test-integer_length_ll.c: New file.
7983
7984         New module 'integer_length_ll'.
7985         * lib/integer_length_ll.c: New file.
7986         * modules/integer_length_ll: New file.
7987
7988 2011-10-14  Bruno Haible  <bruno@clisp.org>
7989
7990         Tests for module 'integer_length_l'.
7991         * modules/integer_length_l-tests: New file.
7992         * tests/test-integer_length_l.c: New file.
7993
7994         New module 'integer_length_l'.
7995         * lib/integer_length_l.c: New file.
7996         * modules/integer_length_l: New file.
7997
7998 2011-10-14  Bruno Haible  <bruno@clisp.org>
7999
8000         Tests for module 'integer_length'.
8001         * modules/integer_length-tests: New file.
8002         * tests/test-integer_length.c: New file.
8003
8004         New module 'integer_length'.
8005         * lib/integer_length.h: New file.
8006         * lib/integer_length.c: New file.
8007         * modules/integer_length: New file.
8008
8009 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8010
8011         popen: Fix dependency conditions.
8012         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8013
8014 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8015
8016         perror: Fix autoconf test.
8017         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8018         <stdlib.h> and <string.h>.
8019
8020 2011-10-14  Bruno Haible  <bruno@clisp.org>
8021
8022         ffsl: Optimize on 64-bit platforms.
8023         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8024         unrolling.
8025
8026 2011-10-13  Bruno Haible  <bruno@clisp.org>
8027
8028         ffsl: Optimize on 32-bit platforms.
8029         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8030         use ffs() without a loop.
8031
8032         ffsl, ffsll: Optimize for GCC.
8033         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8034         * lib/ffsl.c (GCC_BUILTIN): New macro.
8035         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8036
8037 2011-10-13  Bruno Haible  <bruno@clisp.org>
8038
8039         ffs, bcopy, memset: Support symbol renaming via config.h.
8040         * lib/ffs.c: Include <config.h>.
8041         * lib/bcopy.c: Likewise.
8042         * lib/memset.c: Likewise.
8043
8044 2011-10-10  Bruno Haible  <bruno@clisp.org>
8045
8046         atanl: Simplify for platforms where 'long double' == 'double'.
8047         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8048         alternative implementation.
8049         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8050         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8051         * modules/atanl (Depends-on): Add atan. Update conditions.
8052
8053 2011-10-10  Bruno Haible  <bruno@clisp.org>
8054
8055         acosl: Simplify for platforms where 'long double' == 'double'.
8056         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8057         alternative implementation.
8058         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8059         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8060         * modules/acosl (Depends-on): Add acos. Update conditions.
8061
8062 2011-10-10  Bruno Haible  <bruno@clisp.org>
8063
8064         asinl: Simplify for platforms where 'long double' == 'double'.
8065         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8066         alternative implementation.
8067         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8068         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8069         * modules/asinl (Depends-on): Add asin. Update conditions.
8070
8071 2011-10-10  Bruno Haible  <bruno@clisp.org>
8072
8073         tanl: Simplify for platforms where 'long double' == 'double'.
8074         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8075         implementation.
8076         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8077         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8078         * modules/tanl (Depends-on): Add tan. Update conditions.
8079         (configure.ac): Don't compile trigl.c if
8080         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8081
8082 2011-10-10  Bruno Haible  <bruno@clisp.org>
8083
8084         cosl: Simplify for platforms where 'long double' == 'double'.
8085         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8086         implementation.
8087         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8088         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8089         * modules/cosl (Depends-on): Add cos. Update conditions.
8090         (configure.ac): Don't compile sincosl.c and trigl.c if
8091         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8092
8093 2011-10-10  Bruno Haible  <bruno@clisp.org>
8094
8095         sinl: Simplify for platforms where 'long double' == 'double'.
8096         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8097         implementation.
8098         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8099         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8100         * modules/sinl (Depends-on): Add sin. Update conditions.
8101         (configure.ac): Don't compile sincosl.c and trigl.c if
8102         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8103
8104 2011-10-10  Bruno Haible  <bruno@clisp.org>
8105
8106         logl: Simplify for platforms where 'long double' == 'double'.
8107         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8108         implementation.
8109         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8110         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8111         * modules/logl (Depends-on): Add log. Update conditions.
8112
8113 2011-10-10  Bruno Haible  <bruno@clisp.org>
8114
8115         expl: Simplify for platforms where 'long double' == 'double'.
8116         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8117         implementation.
8118         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8119         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8120         * modules/expl (Depends-on): Add exp. Update conditions.
8121
8122 2011-10-10  Bruno Haible  <bruno@clisp.org>
8123
8124         sqrtl: Simplify for platforms where 'long double' == 'double'.
8125         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8126         alternative implementation.
8127         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8128         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8129         * modules/sqrtl (Depends-on): Update conditions.
8130
8131 2011-10-10  Bruno Haible  <bruno@clisp.org>
8132
8133         ldexpl: Simplify for platforms where 'long double' == 'double'.
8134         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8135         alternative implementation.
8136         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8137         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8138         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8139
8140 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8141
8142         ffsll: set correct witness
8143         * modules/ffsll (configure.ac): Fix typo.
8144
8145 2011-10-10  Bruno Haible  <bruno@clisp.org>
8146
8147         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8148         * lib/printf-frexpl.c: Include <config.h>.
8149         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8150         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8151         second time.
8152         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8153         gl_LONG_DOUBLE_VS_DOUBLE.
8154         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8155         conditions.
8156
8157 2011-10-10  Bruno Haible  <bruno@clisp.org>
8158
8159         frexpl: Simplify for platforms where 'long double' == 'double'.
8160         * lib/frexpl.c: Include <config.h>.
8161         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8162         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8163         time.
8164         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8165         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8166         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8167         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8168         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8169         conditions.
8170
8171 2011-10-10  Jim Meyering  <meyering@redhat.com>
8172
8173         test-renameat: don't leave behind a temporary file
8174         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
8175           ERROR: files left in build directory after distclean:
8176           ./gltests/test-renameat.too
8177           make[1]: *** [distcleancheck] Error 1
8178         Reported by Tom G. Christensen.
8179
8180 2011-10-09  Bruno Haible  <bruno@clisp.org>
8181
8182         rint: Determine RINT_LIBM correctly on AIX 7.
8183         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
8184         directly, not only through a function pointer. Also accept an optional
8185         4th argument with extra code.
8186         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
8187         rintf() call by gcc when optimizing.
8188
8189         mathfunc.m4: Refactor.
8190         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
8191         m4 variable.
8192
8193 2011-10-09  Bruno Haible  <bruno@clisp.org>
8194
8195         rintl: Simplify for platforms where 'long double' == 'double'.
8196         * lib/rintl.c: Include <config.h>.
8197         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8198         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8199         time.
8200         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8201         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8202         * modules/rintl (Depends-on): Add rint. Update conditions.
8203
8204 2011-10-09  Bruno Haible  <bruno@clisp.org>
8205
8206         roundl: Simplify for platforms where 'long double' == 'double'.
8207         * lib/roundl.c: Include <config.h>.
8208         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8209         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8210         time.
8211         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8212         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8213         * modules/roundl (Depends-on): Add round. Update conditions.
8214
8215 2011-10-09  Bruno Haible  <bruno@clisp.org>
8216
8217         truncl: Simplify for platforms where 'long double' == 'double'.
8218         * lib/truncl.c: Include <config.h>.
8219         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8220         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8221         time.
8222         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8223         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8224         * modules/truncl (Depends-on): Add trunc. Update conditions.
8225
8226 2011-10-09  Bruno Haible  <bruno@clisp.org>
8227
8228         ceill: Simplify for platforms where 'long double' == 'double'.
8229         * lib/ceill.c: Include <config.h>.
8230         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8231         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8232         time.
8233         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8234         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8235         * modules/ceill (Depends-on): Add ceil. Update conditions.
8236
8237 2011-10-09  Bruno Haible  <bruno@clisp.org>
8238
8239         floorl: Simplify for platforms where 'long double' == 'double'.
8240         * lib/floorl.c: Include <config.h>.
8241         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8242         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8243         time.
8244         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8245         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8246         * modules/floorl (Depends-on): Add floor. Update conditions.
8247
8248 2011-10-09  Bruno Haible  <bruno@clisp.org>
8249
8250         rint: Fix ordering constraints.
8251         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
8252         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
8253         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
8254
8255 2011-10-09  Bruno Haible  <bruno@clisp.org>
8256
8257         copysignl: Simplify for platforms where 'long double' == 'double'.
8258         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8259         alternative.
8260         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8261         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8262         * modules/copysignl (Depends-on): Add copysign. Update conditions.
8263
8264 2011-10-09  Bruno Haible  <bruno@clisp.org>
8265
8266         Tests for module 'rintl'.
8267         * modules/rintl-tests: New file.
8268         * tests/test-rintl.c: New file.
8269
8270         New module 'rintl'.
8271         * lib/math.in.h (rintl): New declaration.
8272         * lib/rintl.c: New file.
8273         * m4/rintl.m4: New file.
8274         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
8275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
8276         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
8277         * modules/rintl: New file.
8278         * tests/test-math-c++.cc: Check the declaration of rintl.
8279         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8280         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
8281         * doc/posix-functions/rintl.texi: Mention the new module.
8282
8283 2011-10-09  Bruno Haible  <bruno@clisp.org>
8284
8285         Tests for module 'rintf'.
8286         * modules/rintf-tests: New file.
8287         * tests/test-rintf.c: New file.
8288
8289         New module 'rintf'.
8290         * lib/math.in.h (rintf): New declaration.
8291         * lib/rintf.c: New file.
8292         * m4/rintf.m4: New file.
8293         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
8294         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
8295         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
8296         * modules/rintf: New file.
8297         * tests/test-math-c++.cc: Check the declaration of rintf.
8298         * doc/posix-functions/rintf.texi: Mention the new module.
8299
8300 2011-10-09  Bruno Haible  <bruno@clisp.org>
8301
8302         rint: Support for MSVC.
8303         * lib/math.in.h (rint): New declaration.
8304         * lib/rint.c: New file.
8305         * m4/rint.m4: New file.
8306         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
8307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
8308         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
8309         * modules/rint (Description): Fix.
8310         (Files): Add lib/rint.c, m4/rint.m4.
8311         (Depends-on): Add math.
8312         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
8313         gl_MATH_MODULE_INDICATOR.
8314         * tests/test-math-c++.cc: Check the declaration of rint.
8315         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8316         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
8317         * doc/posix-functions/rint.texi: Mention the replacement provided by
8318         the module.
8319
8320         rint tests: More tests.
8321         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
8322         minus-zero.h, infinity.h, nan.h.
8323         (main): Skip the test if the current rounding mode is not standard. Add
8324         tests for negative numbers, minus zero, infinity, NaN.
8325         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
8326         tests/nan.h.
8327         (Depends-on): Add isnand-nolibm.
8328
8329 2011-10-09  Bruno Haible  <bruno@clisp.org>
8330
8331         Tests for module 'copysignl'.
8332         * modules/copysignl-tests: New file.
8333         * tests/test-copysignl.c: New file.
8334
8335         New module 'copysignl'.
8336         * lib/math.in.h (copysignl): New declaration.
8337         * lib/copysignl.c: New file.
8338         * m4/copysignl.m4: New file.
8339         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
8340         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
8341         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
8342         HAVE_COPYSIGNL.
8343         * modules/copysignl: New file.
8344         * tests/test-math-c++.cc: Check the declaration of copysignl.
8345         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
8346         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
8347         * doc/posix-functions/copysignl.texi: Mention the new module.
8348
8349 2011-10-09  Bruno Haible  <bruno@clisp.org>
8350
8351         Tests for module 'copysignf'.
8352         * modules/copysignf-tests: New file.
8353         * tests/test-copysignf.c: New file.
8354
8355         New module 'copysignf'.
8356         * lib/math.in.h (copysignf): New declaration.
8357         * lib/copysignf.c: New file.
8358         * m4/copysignf.m4: New file.
8359         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
8360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
8361         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
8362         HAVE_COPYSIGNF.
8363         * modules/copysignf: New file.
8364         * tests/test-math-c++.cc: Check the declaration of copysignf.
8365         * doc/posix-functions/copysignf.texi: Mention the new module.
8366
8367 2011-10-09  Bruno Haible  <bruno@clisp.org>
8368
8369         Ensure that HAVE_* variables are set to 1 before they are set to 0.
8370         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
8371         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
8372         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
8373         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
8374         gl_SIGNAL_H_DEFAULTS.
8375
8376 2011-10-09  Bruno Haible  <bruno@clisp.org>
8377
8378         poll: Make macro safer.
8379         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
8380         ac_cv_header_poll_h is not set.
8381
8382 2011-10-09  Bruno Haible  <bruno@clisp.org>
8383
8384         copysign: Provide replacement.
8385         * lib/math.in.h (copysign): New declaration.
8386         * lib/copysign.c: New file.
8387         * m4/copysign.m4: New file.
8388         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
8389         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
8390         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
8391         HAVE_COPYSIGN.
8392         * modules/copysign (Description): Clarify.
8393         (Files): Add lib/copysign.c, m4/copysign.m4.
8394         (Depends-on): Add math, signbit.
8395         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
8396         gl_MATH_MODULE_INDICATOR.
8397         * tests/test-math-c++.cc: Check the declaration of copysign.
8398         * doc/posix-functions/copysign.texi: Mention the effects of the module
8399         on Minix and MSVC.
8400
8401 2011-10-09  Bruno Haible  <bruno@clisp.org>
8402
8403         isinf: Ensure macro on AIX 5.1.
8404         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
8405         macro.
8406         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
8407
8408 2011-10-09  Bruno Haible  <bruno@clisp.org>
8409
8410         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
8411         * modules/snprintf-posix-tests (configure.ac): Require
8412         gl_LONG_DOUBLE_VS_DOUBLE.
8413         * modules/sprintf-posix-tests (configure.ac): Likewise.
8414         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
8415         * modules/vasprintf-posix-tests (configure.ac): Likewise.
8416         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
8417         * modules/vsprintf-posix-tests (configure.ac): Likewise.
8418         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
8419         tests on platforms where 'long double' is the same as 'double'.
8420         * tests/test-sprintf-posix.h (test_function): Likewise.
8421         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8422         * tests/test-vasprintf-posix.c (test_function): Likewise.
8423
8424         *printf: Fix for platforms where 'long double' == 'double'.
8425         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
8426         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
8427         * modules/dprintf-posix (Files): Add m4/math_h.m4.
8428         * modules/fprintf-posix (Files): Likewise.
8429         * modules/obstack-printf-posix (Files): Likewise.
8430         * modules/snprintf-posix (Files): Likewise.
8431         * modules/sprintf-posix (Files): Likewise.
8432         * modules/vasnprintf (Files): Likewise.
8433         * modules/vasnprintf-posix (Files): Likewise.
8434         * modules/vasprintf-posix (Files): Likewise.
8435         * modules/vdprintf-posix (Files): Likewise.
8436         * modules/vfprintf-posix (Files): Likewise.
8437         * modules/vsnprintf-posix (Files): Likewise.
8438         * modules/vsprintf-posix (Files): Likewise.
8439         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8440         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8441         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8442         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8443         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8444         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8445         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8446
8447         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
8448         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
8449         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8450         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
8451         'long double'.
8452         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
8453
8454         isinf: Fix for platforms where 'long double' == 'double'.
8455         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8456         Don't blindly assume 80-bit 'long double'.
8457
8458         isfinite: Fix for platforms where 'long double' == 'double'.
8459         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
8460         Don't blindly assume 80-bit 'long double'.
8461
8462         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
8463         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
8464         * modules/isfinite-tests (configure.ac): Require
8465         gl_LONG_DOUBLE_VS_DOUBLE.
8466         * modules/isinf-tests (configure.ac): Likewise.
8467         * modules/isnan-tests (configure.ac): Likewise.
8468         * modules/isnanl-tests (configure.ac): Likewise.
8469         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
8470         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
8471         tests on platforms where 'long double' is the same as 'double'.
8472         * tests/test-isinf.c (test_isinfl): Likewise.
8473         * tests/test-isnan.c (test_long_double): Likewise.
8474         * tests/test-isnanl.h (main): Likewise.
8475
8476 2011-10-08  Bruno Haible  <bruno@clisp.org>
8477
8478         Tests for module 'tanhf'.
8479         * modules/tanhf-tests: New file.
8480         * tests/test-tanhf.c: New file.
8481
8482         New module 'tanhf'.
8483         * lib/math.in.h (tanhf): New declaration.
8484         * lib/tanhf.c: New file.
8485         * m4/tanhf.m4: New file.
8486         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
8487         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
8488         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
8489         * modules/tanhf: New file.
8490         * tests/test-math-c++.cc: Check the declaration of tanhf.
8491         * doc/posix-functions/tanhf.texi: Mention the new module.
8492
8493         tanh: Use a .m4 file.
8494         * m4/tanh.m4: New file.
8495         * modules/tanh (Files): Add it.
8496         (configure.ac): Just invoke gl_FUNC_TANH.
8497
8498 2011-10-08  Bruno Haible  <bruno@clisp.org>
8499
8500         Tests for module 'coshf'.
8501         * modules/coshf-tests: New file.
8502         * tests/test-coshf.c: New file.
8503
8504         New module 'coshf'.
8505         * lib/math.in.h (coshf): New declaration.
8506         * lib/coshf.c: New file.
8507         * m4/coshf.m4: New file.
8508         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
8509         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
8510         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
8511         * modules/coshf: New file.
8512         * tests/test-math-c++.cc: Check the declaration of coshf.
8513         * doc/posix-functions/coshf.texi: Mention the new module.
8514
8515         cosh: Use a .m4 file.
8516         * m4/cosh.m4: New file.
8517         * modules/cosh (Files): Add it.
8518         (configure.ac): Just invoke gl_FUNC_COSH.
8519
8520 2011-10-08  Bruno Haible  <bruno@clisp.org>
8521
8522         Tests for module 'sinhf'.
8523         * modules/sinhf-tests: New file.
8524         * tests/test-sinhf.c: New file.
8525
8526         New module 'sinhf'.
8527         * lib/math.in.h (sinhf): New declaration.
8528         * lib/sinhf.c: New file.
8529         * m4/sinhf.m4: New file.
8530         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
8531         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
8532         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
8533         * modules/sinhf: New file.
8534         * tests/test-math-c++.cc: Check the declaration of sinhf.
8535         * doc/posix-functions/sinhf.texi: Mention the new module.
8536
8537         sinh: Use a .m4 file.
8538         * m4/sinh.m4: New file.
8539         * modules/sinh (Files): Add it.
8540         (configure.ac): Just invoke gl_FUNC_SINH.
8541
8542 2011-10-08  Bruno Haible  <bruno@clisp.org>
8543
8544         Tests for module 'atan2f'.
8545         * modules/atan2f-tests: New file.
8546         * tests/test-atan2f.c: New file.
8547
8548         New module 'atan2f'.
8549         * lib/math.in.h (atan2f): New declaration.
8550         * lib/atan2f.c: New file.
8551         * m4/atan2f.m4: New file.
8552         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
8553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
8554         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
8555         * modules/atan2f: New file.
8556         * tests/test-math-c++.cc: Check the declaration of atan2f.
8557         * doc/posix-functions/atan2f.texi: Mention the new module.
8558
8559         atan2: Use a .m4 file.
8560         * m4/atan2.m4: New file.
8561         * modules/atan2 (Files): Add it.
8562         (configure.ac): Just invoke gl_FUNC_ATAN2.
8563
8564 2011-10-08  Bruno Haible  <bruno@clisp.org>
8565
8566         Tests for module 'atanf'.
8567         * modules/atanf-tests: New file.
8568         * tests/test-atanf.c: New file.
8569
8570         New module 'atanf'.
8571         * lib/math.in.h (atanf): New declaration.
8572         * lib/atanf.c: New file.
8573         * m4/atanf.m4: New file.
8574         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
8575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
8576         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
8577         * modules/atanf: New file.
8578         * tests/test-math-c++.cc: Check the declaration of atanf.
8579         * doc/posix-functions/atanf.texi: Mention the new module.
8580
8581         atan: Use a .m4 file.
8582         * m4/atan.m4: New file.
8583         * modules/atan (Files): Add it.
8584         (configure.ac): Just invoke gl_FUNC_ATAN.
8585
8586 2011-10-08  Bruno Haible  <bruno@clisp.org>
8587
8588         Tests for module 'acosf'.
8589         * modules/acosf-tests: New file.
8590         * tests/test-acosf.c: New file.
8591
8592         New module 'acosf'.
8593         * lib/math.in.h (acosf): New declaration.
8594         * lib/acosf.c: New file.
8595         * m4/acosf.m4: New file.
8596         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
8597         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
8598         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
8599         * modules/acosf: New file.
8600         * tests/test-math-c++.cc: Check the declaration of acosf.
8601         * doc/posix-functions/acosf.texi: Mention the new module.
8602
8603         acos: Use a .m4 file.
8604         * m4/acos.m4: New file.
8605         * modules/acos (Files): Add it.
8606         (configure.ac): Just invoke gl_FUNC_ACOS.
8607
8608 2011-10-08  Bruno Haible  <bruno@clisp.org>
8609
8610         Tests for module 'asinf'.
8611         * modules/asinf-tests: New file.
8612         * tests/test-asinf.c: New file.
8613
8614         New module 'asinf'.
8615         * lib/math.in.h (asinf): New declaration.
8616         * lib/asinf.c: New file.
8617         * m4/asinf.m4: New file.
8618         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
8619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
8620         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
8621         * modules/asinf: New file.
8622         * tests/test-math-c++.cc: Check the declaration of asinf.
8623         * doc/posix-functions/asinf.texi: Mention the new module.
8624
8625         asin: Use a .m4 file.
8626         * m4/asin.m4: New file.
8627         * modules/asin (Files): Add it.
8628         (configure.ac): Just invoke gl_FUNC_ASIN.
8629
8630 2011-10-08  Bruno Haible  <bruno@clisp.org>
8631
8632         Tests for module 'tanf'.
8633         * modules/tanf-tests: New file.
8634         * tests/test-tanf.c: New file.
8635
8636         New module 'tanf'.
8637         * lib/math.in.h (tanf): New declaration.
8638         * lib/tanf.c: New file.
8639         * m4/tanf.m4: New file.
8640         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
8641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
8642         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
8643         * modules/tanf: New file.
8644         * tests/test-math-c++.cc: Check the declaration of tanf.
8645         * doc/posix-functions/tanf.texi: Mention the new module.
8646
8647         tan: Use a .m4 file.
8648         * m4/tan.m4: New file.
8649         * modules/tan (Files): Add it.
8650         (configure.ac): Just invoke gl_FUNC_TAN.
8651
8652 2011-10-08  Bruno Haible  <bruno@clisp.org>
8653
8654         Tests for module 'cosf'.
8655         * modules/cosf-tests: New file.
8656         * tests/test-cosf.c: New file.
8657
8658         New module 'cosf'.
8659         * lib/math.in.h (cosf): New declaration.
8660         * lib/cosf.c: New file.
8661         * m4/cosf.m4: New file.
8662         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
8663         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
8664         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
8665         * modules/cosf: New file.
8666         * tests/test-math-c++.cc: Check the declaration of cosf.
8667         * doc/posix-functions/cosf.texi: Mention the new module.
8668
8669         cos: Use a .m4 file.
8670         * m4/cos.m4: New file.
8671         * modules/cos (Files): Add it.
8672         (configure.ac): Just invoke gl_FUNC_COS.
8673
8674 2011-10-08  Bruno Haible  <bruno@clisp.org>
8675
8676         Tests for module 'sinf'.
8677         * modules/sinf-tests: New file.
8678         * tests/test-sinf.c: New file.
8679
8680         New module 'sinf'.
8681         * lib/math.in.h (sinf): New declaration.
8682         * lib/sinf.c: New file.
8683         * m4/sinf.m4: New file.
8684         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
8685         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
8686         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
8687         * modules/sinf: New file.
8688         * tests/test-math-c++.cc: Check the declaration of sinf.
8689         * doc/posix-functions/sinf.texi: Mention the new module.
8690
8691         sin: Use a .m4 file.
8692         * m4/sin.m4: New file.
8693         * modules/sin (Files): Add it.
8694         (configure.ac): Just invoke gl_FUNC_SIN.
8695
8696 2011-10-08  Bruno Haible  <bruno@clisp.org>
8697
8698         Tests for module 'powf'.
8699         * modules/powf-tests: New file.
8700         * tests/test-powf.c: New file.
8701
8702         New module 'powf'.
8703         * lib/math.in.h (powf): New declaration.
8704         * lib/powf.c: New file.
8705         * m4/powf.m4: New file.
8706         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
8707         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
8708         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
8709         * modules/powf: New file.
8710         * tests/test-math-c++.cc: Check the declaration of powf.
8711         * doc/posix-functions/powf.texi: Mention the new module.
8712
8713         pow: Use a .m4 file.
8714         * m4/pow.m4: New file.
8715         * modules/pow (Files): Add it.
8716         (configure.ac): Just invoke gl_FUNC_POW.
8717
8718 2011-10-08  Bruno Haible  <bruno@clisp.org>
8719
8720         Tests for module 'log10f'.
8721         * modules/log10f-tests: New file.
8722         * tests/test-log10f.c: New file.
8723
8724         New module 'log10f'.
8725         * lib/math.in.h (log10f): New declaration.
8726         * lib/log10f.c: New file.
8727         * m4/log10f.m4: New file.
8728         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
8729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
8730         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
8731         * modules/log10f: New file.
8732         * tests/test-math-c++.cc: Check the declaration of log10f.
8733         * doc/posix-functions/log10f.texi: Mention the new module.
8734
8735         log10: Use a .m4 file.
8736         * m4/log10.m4: New file.
8737         * modules/log10 (Files): Add it.
8738         (configure.ac): Just invoke gl_FUNC_LOG10.
8739
8740 2011-10-08  Bruno Haible  <bruno@clisp.org>
8741
8742         Tests for module 'logf'.
8743         * modules/logf-tests: New file.
8744         * tests/test-logf.c: New file.
8745
8746         New module 'logf'.
8747         * lib/math.in.h (logf): New declaration.
8748         * lib/logf.c: New file.
8749         * m4/logf.m4: New file.
8750         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
8751         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
8752         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
8753         * modules/logf: New file.
8754         * tests/test-math-c++.cc: Check the declaration of logf.
8755         * doc/posix-functions/logf.texi: Mention the new module.
8756
8757         log: Use a .m4 file.
8758         * m4/log.m4: New file.
8759         * modules/log (Files): Add it.
8760         (configure.ac): Just invoke gl_FUNC_LOG.
8761
8762 2011-10-08  Bruno Haible  <bruno@clisp.org>
8763
8764         Tests for module 'expf'.
8765         * modules/expf-tests: New file.
8766         * tests/test-expf.c: New file.
8767
8768         New module 'expf'.
8769         * lib/math.in.h (expf): New declaration.
8770         * lib/expf.c: New file.
8771         * m4/expf.m4: New file.
8772         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
8773         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
8774         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
8775         * modules/expf: New file.
8776         * tests/test-math-c++.cc: Check the declaration of expf.
8777         * doc/posix-functions/expf.texi: Mention the new module.
8778
8779         exp: Use a .m4 file.
8780         * m4/exp.m4: New file.
8781         * modules/exp (Files): Add it.
8782         (configure.ac): Just invoke gl_FUNC_EXP.
8783
8784 2011-10-08  Bruno Haible  <bruno@clisp.org>
8785
8786         Tests for module 'sqrtf'.
8787         * modules/sqrtf-tests: New file.
8788         * tests/test-sqrtf.c: New file.
8789
8790         New module 'sqrtf'.
8791         * lib/math.in.h (sqrtf): New declaration.
8792         * lib/sqrtf.c: New file.
8793         * m4/sqrtf.m4: New file.
8794         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
8795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
8796         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
8797         * modules/sqrtf: New file.
8798         * tests/test-math-c++.cc: Check the declaration of sqrtf.
8799         * doc/posix-functions/sqrtf.texi: Mention the new module.
8800
8801 2011-10-08  Bruno Haible  <bruno@clisp.org>
8802
8803         Tests: Avoid link failures w.r.t. libintl.
8804         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
8805         $(LIBINTL).
8806         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
8807         $(LIBINTL).
8808         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
8809         against $(LIBINTL).
8810         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
8811         $(LIBINTL).
8812         * modules/openat-tests (Makefile.am): Link test-fchmodat against
8813         $(LIBINTL).
8814         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
8815
8816 2011-10-08  Bruno Haible  <bruno@clisp.org>
8817
8818         pow tests: Defeat compiler optimizations.
8819         * tests/test-pow.c (main): Assign arguments to x and y before use.
8820
8821 2011-10-08  Bruno Haible  <bruno@clisp.org>
8822
8823         gnulib-tool: Improve last commit.
8824         * gnulib-tool (func_modules_transitive_closure): Simplify code.
8825         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
8826         ignore dependencies that are not among the modules list.
8827
8828 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
8829
8830         gnulib-tool: don't follow dependencies to avoided modules
8831         This fixes a bug that is related to the previous one.
8832         * gnulib-tool (func_modules_transitive_closure)
8833         (func_emit_autoconf_snippets):
8834         Check whether a dependency is acceptable before using it.
8835         (--extract-dependencies): Report an error if --avoid is also used,
8836         since this combination of options is not yet supported.
8837
8838         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
8839         Problem reported by Peter Dyballa in
8840         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
8841         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
8842         when echoing "$condition".
8843
8844 2011-10-07  Bruno Haible  <bruno@clisp.org>
8845
8846         Fix documentation about math functions on MacOS X.
8847         * doc/posix-functions/exp2.texi: Don't say the function is missing on
8848         MacOS X 10.5.
8849         * doc/posix-functions/fdim.texi: Likewise.
8850         * doc/posix-functions/feclearexcept.texi: Likewise.
8851         * doc/posix-functions/fegetenv.texi: Likewise.
8852         * doc/posix-functions/fegetround.texi: Likewise.
8853         * doc/posix-functions/feholdexcept.texi: Likewise.
8854         * doc/posix-functions/feraiseexcept.texi: Likewise.
8855         * doc/posix-functions/fesetenv.texi: Likewise.
8856         * doc/posix-functions/fesetround.texi: Likewise.
8857         * doc/posix-functions/fetestexcept.texi: Likewise.
8858         * doc/posix-functions/feupdateenv.texi: Likewise.
8859         * doc/posix-functions/fmax.texi: Likewise.
8860         * doc/posix-functions/fmin.texi: Likewise.
8861         * doc/posix-functions/log2.texi: Likewise.
8862         * doc/posix-functions/modff.texi: Likewise.
8863         * doc/posix-functions/nan.texi: Likewise.
8864         * doc/posix-functions/nanf.texi: Likewise.
8865         * doc/posix-functions/nextafterf.texi: Likewise.
8866         * doc/posix-functions/remquo.texi: Likewise.
8867
8868 2011-10-07  Bruno Haible  <bruno@clisp.org>
8869
8870         modff: Drop assumption about library that defines modff.
8871         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
8872         AC_CHECK_FUNCS.
8873         * modules/modff (Files): Add m4/mathfunc.m4.
8874
8875 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
8876
8877         raise tests: Avoid a GCC warning.
8878         * tests/test-raise.c (handler): Use _Noreturn.
8879
8880 2011-10-07  Bruno Haible  <bruno@clisp.org>
8881
8882         Tests for module 'ldexpf'.
8883         * modules/ldexpf-tests: New file.
8884         * tests/test-ldexpf.c: New file.
8885
8886         New module 'ldexpf'.
8887         * lib/math.in.h (ldexpf): New declaration.
8888         * lib/ldexpf.c: New file.
8889         * m4/ldexpf.m4: New file.
8890         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
8891         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
8892         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
8893         * modules/ldexpf: New file.
8894         * tests/test-math-c++.cc: Check the declaration of ldexpf.
8895         * doc/posix-functions/ldexpf.texi: Mention the new module.
8896
8897 2011-10-06  Bruno Haible  <bruno@clisp.org>
8898
8899         frexpf: Work around problems on IRIX and mingw.
8900         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
8901         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
8902         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
8903         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
8904         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
8905         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
8906         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
8907
8908 2011-10-06  Bruno Haible  <bruno@clisp.org>
8909
8910         fabsf: Drop assumption about library that defines fabsf.
8911         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
8912         AC_CHECK_FUNCS.
8913         * modules/fabsf (Files): Add m4/mathfunc.m4.
8914
8915 2011-10-06  Bruno Haible  <bruno@clisp.org>
8916
8917         frexpf: Drop assumption about library that defines frexpf.
8918         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
8919         'int *', 'float *', 'long double *', 'float', 'long double'.
8920         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
8921         AC_CHECK_FUNCS.
8922         * modules/frexpf (Files): Add m4/mathfunc.m4.
8923
8924         Tests for module 'frexpf'.
8925         * modules/frexpf-tests: New file.
8926         * tests/test-frexpf.c: New file.
8927
8928         New module 'frexpf'.
8929         * lib/math.in.h (frexpf): New declaration.
8930         * lib/frexpf.c: New file.
8931         * m4/frexpf.m4: New file.
8932         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
8933         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
8934         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
8935         * modules/frexpf: New file.
8936         * tests/test-math-c++.cc: Check the declaration of frexpf.
8937         * doc/posix-functions/frexpf.texi: Mention the new module.
8938
8939 2011-10-06  Bruno Haible  <bruno@clisp.org>
8940
8941         math: Sort function declarations of math.in.h.
8942         * lib/math.in.h (frexp, logb): Move declarations.
8943
8944 2011-10-05  Bruno Haible  <bruno@clisp.org>
8945
8946         Tests for module 'modff'.
8947         * modules/modff-tests: New file.
8948         * tests/test-modff.c: New file.
8949
8950         New module 'modff'.
8951         * lib/math.in.h (modff): New declaration.
8952         * lib/modff.c: New file.
8953         * m4/modff.m4: New file.
8954         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
8955         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
8956         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
8957         * modules/modff: New file.
8958         * tests/test-math-c++.cc: Check the declaration of modff.
8959         * doc/posix-functions/modff.texi: Mention the new module.
8960
8961         modf tests: Make test sharper.
8962         * tests/test-modf.c (main): Strengthen upper bound.
8963
8964         modf: Use a .m4 file.
8965         * m4/modf.m4: New file.
8966         * modules/modf (Files): Add it.
8967         (configure.ac): Just invoke gl_FUNC_MODF.
8968
8969 2011-10-05  Bruno Haible  <bruno@clisp.org>
8970
8971         Tests for module 'fmodf'.
8972         * modules/fmodf-tests: New file.
8973         * tests/test-fmodf.c: New file.
8974
8975         New module 'fmodf'.
8976         * lib/math.in.h (fmodf): New declaration.
8977         * lib/fmodf.c: New file.
8978         * m4/fmodf.m4: New file.
8979         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
8980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
8981         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
8982         * modules/fmodf: New file.
8983         * tests/test-math-c++.cc: Check the declaration of fmodf.
8984         * doc/posix-functions/fmodf.texi: Mention the new module.
8985
8986         fmod: Use a .m4 file.
8987         * m4/fmod.m4: New file.
8988         * modules/fmod (Files): Add it.
8989         (configure.ac): Just invoke gl_FUNC_FMOD.
8990
8991 2011-10-05  Bruno Haible  <bruno@clisp.org>
8992
8993         Tests for module 'fabsf'.
8994         * modules/fabsf-tests: New file.
8995         * tests/test-fabsf.c: New file.
8996
8997         New module 'fabsf'.
8998         * lib/math.in.h (fabsf): New declaration.
8999         * lib/fabsf.c: New file.
9000         * m4/fabsf.m4: New file.
9001         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9002         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9003         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9004         * modules/fabsf: New file.
9005         * tests/test-math-c++.cc: Check the declaration of fabsf.
9006         * doc/posix-functions/fabsf.texi: Mention the new module.
9007
9008         fabs: Use a .m4 file.
9009         * m4/fabs.m4: New file.
9010         * modules/fabs (Files): Add it.
9011         (configure.ac): Just invoke gl_FUNC_FABS.
9012
9013 2011-10-05  Jim Meyering  <meyering@redhat.com>
9014
9015         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9016         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9017         ls -lL regression introduced in coreutils-8.12, it does so at the
9018         cost of an additional stat call in the common case.  Besides, now
9019         that the kernel change that prompted commit 95f7c57f has been reverted
9020         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9021         we have no use for commit 95f7c57f, "file-has-acl: use
9022         acl_extended_file_nofollow if available".
9023
9024 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9025
9026         file-has-acl: revert unintended change in behavior of ls -L
9027         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9028         derived from...
9029         (file_has_acl): ...code here.  Call it.
9030         This problem was introduced with 2011-07-22 commit 95f7c57f,
9031         "file-has-acl: use acl_extended_file_nofollow if available".
9032         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9033
9034 2011-10-03  Bruno Haible  <bruno@clisp.org>
9035
9036         poll: Avoid link errors on MSVC.
9037         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9038         * modules/poll (Depends-on): Add sockets.
9039         (Link): New section.
9040         * NEWS: Mention the change.
9041         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9042         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9043         $(LIB_POLL) instead of $(LIBSOCKET).
9044
9045 2011-10-03  Bruno Haible  <bruno@clisp.org>
9046
9047         sys_select tests: Fix link error on MSVC 9.
9048         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9049         with $(LIB_SELECT) instead of $(LIBSOCKET).
9050
9051 2011-10-03  Bruno Haible  <bruno@clisp.org>
9052
9053         sys_select: Fix compilation error on mingw.
9054         * lib/sys_select.in.h: On native Windows, include <io.h>.
9055
9056 2011-10-03  Bruno Haible  <bruno@clisp.org>
9057
9058         wmemset: Support for MSVC.
9059         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9060         whether wmemset() exists.
9061
9062 2011-10-03  Bruno Haible  <bruno@clisp.org>
9063
9064         wmemmove: Support for MSVC.
9065         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9066         whether wmemmove() exists.
9067
9068 2011-10-03  Bruno Haible  <bruno@clisp.org>
9069
9070         wmemcpy: Support for MSVC.
9071         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9072         whether wmemcpy() exists.
9073
9074 2011-10-03  Bruno Haible  <bruno@clisp.org>
9075
9076         wmemcmp: Support for MSVC.
9077         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9078         whether wmemcmp() exists.
9079
9080 2011-10-03  Bruno Haible  <bruno@clisp.org>
9081
9082         wmemchr: Support for MSVC.
9083         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9084         whether wmemchr() exists.
9085
9086 2011-10-03  Bruno Haible  <bruno@clisp.org>
9087
9088         glthread/*, strsignal: Support for MSVC.
9089         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9090         including <winsock.h> on MSVC 9.
9091         * lib/glthread/lock.h: Likewise.
9092         * lib/glthread/thread.h: Likewise.
9093         * lib/glthread/tls.h: Likewise.
9094         * lib/glthread/yield.h: Likewise.
9095         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9096         if HAVE_UNISTD_H is false.
9097         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9098
9099 2011-10-03  Bruno Haible  <bruno@clisp.org>
9100
9101         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9102         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9103         Set to 100000.
9104
9105 2011-10-03  Bruno Haible  <bruno@clisp.org>
9106
9107         acl: Fix specification.
9108         * lib/file-has-acl.c (file_has_acl): Fix specification.
9109
9110 2011-10-03  Bruno Haible  <bruno@clisp.org>
9111
9112         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9113         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9114         (compute_curr_prefix, shared_library_fullname,
9115         find_shared_library_fullname, get_shared_library_fullname, relocate):
9116         Use it together with PIC && INSTALLDIR.
9117         Reported by <jojelino@gmail.com>
9118         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9119
9120 2011-10-01  Jim Meyering  <meyering@redhat.com>
9121
9122         maint.mk: adjust a release-related rule not to require use of gzip
9123         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9124         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9125         projects that build only .tar.xz files.  Also fix an erroneous test.
9126
9127         test-linkat: don't leave behind a temporary file
9128         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9129         Otherwise, coreutils' "make distcheck" would fail with this:
9130           Only in /c/cu/tests/torture/coreutils/test/\
9131             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9132           make[2]: *** [my-distcheck] Error 1
9133
9134         float, math: add omitted file
9135         * lib/itold.c: Add file, required for yesterday's float change.
9136
9137 2011-10-01  Bruno Haible  <bruno@clisp.org>
9138
9139         isinf: Fix for OpenBSD/x86.
9140         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9141         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9142         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9143
9144 2011-10-01  Bruno Haible  <bruno@clisp.org>
9145
9146         isfinite: Fix syntax error in configure test.
9147         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9148
9149         isfinite: Fix typo.
9150         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9151         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9152
9153 2011-10-01  Bruno Haible  <bruno@clisp.org>
9154
9155         nonblocking tests: Fix test failure on Linux/IA-64.
9156         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9157         Set to 270000.
9158
9159 2011-10-01  Bruno Haible  <bruno@clisp.org>
9160
9161         mkfifoat tests: Fix a test failure on mingw.
9162         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9163         with error ENOSYS.
9164
9165 2011-09-30  Bruno Haible  <bruno@clisp.org>
9166
9167         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9168         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9169         'long double'. Set REPLACE_ITOLD.
9170         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
9171         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
9172         * lib/itold.c: New file.
9173         * modules/float (Files): Add lib/itold.c.
9174         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
9175         (Makefile.am): Substitute REPLACE_ITOLD.
9176         * modules/math (Depends-on): Add float.
9177         (Makefile.am): Substitute REPLACE_ITOLD.
9178         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
9179         * doc/posix-headers/math.texi: Likewise.
9180         * doc/posix-functions/logl.texi: Likewise.
9181
9182 2011-09-30  Bruno Haible  <bruno@clisp.org>
9183
9184         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
9185         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
9186         Set to 140000.
9187
9188 2011-09-30  Bruno Haible  <bruno@clisp.org>
9189
9190         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
9191         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
9192         invocation, say "right after AC_PROG_CC_STDC", not "right after
9193         AC_PROG_CC".
9194         Reported by Gary V. Vaughan <gary@gnu.org>.
9195
9196 2011-09-30  Bruno Haible  <bruno@clisp.org>
9197
9198         Centralize C99 requirement.
9199         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
9200         * modules/stdarg (configure.ac-early): Invoke it instead of
9201         AC_PROG_CC_STDC.
9202         Reported by Gary V. Vaughan and Paul Eggert.
9203
9204 2011-09-29  Bruno Haible  <bruno@clisp.org>
9205
9206         float: Fix LDBL_MAX value on Linux/PowerPC.
9207         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
9208         on Linux/PowerPC.
9209         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
9210         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
9211         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
9212         platform.
9213         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
9214
9215 2011-09-29  Bruno Haible  <bruno@clisp.org>
9216
9217         doc: Improve doc about gl_EARLY.
9218         * doc/gnulib-tool.texi (Initial import): Mention where to place an
9219         AC_PROG_CC_STDC invocation.
9220         Reported by Gary V. Vaughan <gary@gnu.org>.
9221
9222 2011-09-28  Bruno Haible  <bruno@clisp.org>
9223
9224         fgetc, fputc, fread, fwrite tests: Fix link error.
9225         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
9226         on non-MSVC platforms.
9227         * tests/test-fputc.c (main): Likewise.
9228         * tests/test-fread.c (main): Likewise.
9229         * tests/test-fwrite.c (main): Likewise.
9230         Reported by Jim Meyering.
9231
9232 2011-09-27  Bruno Haible  <bruno@clisp.org>
9233
9234         fputc, fwrite tests: Avoid test failure on MSVC.
9235         * tests/test-fgetc.c: Include msvc-inval.h.
9236         (main): Invoke gl_msvc_inval_ensure_handler.
9237         * tests/test-fputc.c: Include msvc-inval.h.
9238         (main): Invoke gl_msvc_inval_ensure_handler.
9239         * tests/test-fread.c: Include msvc-inval.h.
9240         (main): Invoke gl_msvc_inval_ensure_handler.
9241         * tests/test-fwrite.c: Include msvc-inval.h.
9242         (main): Invoke gl_msvc_inval_ensure_handler.
9243         * modules/fgetc-tests (Depends-on): Add msvc-inval.
9244         * modules/fputc-tests (Depends-on): Likewise.
9245         * modules/fread-tests (Depends-on): Likewise.
9246         * modules/fwrite-tests (Depends-on): Likewise.
9247
9248 2011-09-27  Bruno Haible  <bruno@clisp.org>
9249
9250         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
9251         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
9252         (raise): Remove older, duplicated declaration.
9253         (_gl_raise_SIGPIPE): New declaration.
9254         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
9255         (rpl_raise): Remove function.
9256         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
9257         a gnulib-defined SIGPIPE here.
9258         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
9259         'sigprocmask' has detected missing signal-blocking and the module
9260         'sigpipe' is enabled.
9261         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9262
9263 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
9264
9265         base64-tests: avoid memory leak
9266         * tests/test-base64.c (main): Plug memory leak.
9267
9268         base32: new module
9269         * modules/base32: New module.
9270         * lib/base32.c: New file.
9271         * lib/base32.h: Likewise.
9272         * m4/base32.m4: Likewise.
9273         * modules/base32-tests: New test.
9274         * tests/test-base32.c: Likewise.
9275         * MODULES.html.sh (Misc): Mention it.
9276
9277 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
9278
9279         gnulib: use more-standard license notice wording
9280         * gnulib-tool (func_emit_copyright_notice): When emitting a
9281         license notice into a file, use the standard wording as suggested
9282         by the current information for GNU maintainers, except say "file"
9283         rather than "program".  The new wording gives a license version
9284         number, which addresses an issue raised by Glenn Morris in
9285         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
9286         * m4/onceonly.m4: Use that same wording here, too.
9287
9288         dup2: minor simplification
9289         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
9290         as lib/dup2.c no longer uses 'inline'.
9291
9292 2011-09-25  Bruno Haible  <bruno@clisp.org>
9293
9294         strings: Fix compilation error on MSVC.
9295         * lib/strings.in.h: Include <stddef.h> for size_t.
9296
9297 2011-09-25  Bruno Haible  <bruno@clisp.org>
9298
9299         fflush et al.: Document limitation on MSVC.
9300         * doc/posix-functions/fflush.texi: Document possible crash in handling
9301         mode other than DEFAULT_HANDLING.
9302         * doc/posix-functions/fgetc.texi: Likewise.
9303         * doc/posix-functions/fputc.texi: Likewise.
9304         * doc/posix-functions/fread.texi: Likewise.
9305         * doc/posix-functions/fwrite.texi: Likewise.
9306
9307 2011-09-25  Bruno Haible  <bruno@clisp.org>
9308
9309         msvc-inval: Allow three invalid parameter handling modes.
9310         * lib/msvc-inval.h: Don't include <stdlib.h> here.
9311         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
9312         macros.
9313         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
9314         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
9315         SANE_LIBRARY_HANDLING as a no-op.
9316         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
9317         <stdlib.h>.
9318         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
9319
9320 2011-09-25  Bruno Haible  <bruno@clisp.org>
9321
9322         msvc-inval: Make handler multithread-safe.
9323         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
9324         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
9325         declarations.
9326         (gl_msvc_inval_current): New declaration.
9327         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9328         Operate on the structure returned by gl_msvc_inval_current().
9329         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
9330         Remove varaiables.
9331         (tls_index, tls_initialized): New variables.
9332         (not_per_thread): New variable.
9333         (gl_msvc_inval_current): New function.
9334         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
9335         returned by gl_msvc_inval_current().
9336
9337 2011-09-25  Bruno Haible  <bruno@clisp.org>
9338
9339         msvc-inval: Install handler globally.
9340         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
9341         !_MSC_VER.
9342         (gl_msvc_invalid_parameter_handler): Remove declaration.
9343         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
9344         declarations.
9345         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
9346         Install the handler globally, don't uninstall it.
9347         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
9348         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
9349         currently valid, call RaiseException instead.
9350         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
9351         for !_MSC_VER.
9352
9353 2011-09-25  Bruno Haible  <bruno@clisp.org>
9354
9355         strerror_r-posix: Fix for MSVC 9.
9356         * lib/strerror_r.c (local_snprintf): New function.
9357         (snprintf): Define to local_snprintf, not to _snprintf.
9358
9359 2011-09-25  Bruno Haible  <bruno@clisp.org>
9360
9361         ftruncate: Support for MSVC 9.
9362         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
9363         (chsize_nothrow): New function.
9364         (chsize): Redefine as a macro.
9365         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
9366         * modules/ftruncate (Depends-on): Add msvc-inval.
9367
9368 2011-09-25  Bruno Haible  <bruno@clisp.org>
9369
9370         New module 'fstat'.
9371         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
9372         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
9373         * lib/fchdir.c (rpl_fstat): Remove function.
9374         * m4/fstat.m4: New file.
9375         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
9376         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
9377         declared.
9378         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
9379         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
9380         * modules/fstat: New file.
9381         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
9382         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
9383         is set.
9384         * doc/posix-functions/fstat.texi: Mention the new module and the
9385         problem on MSVC.
9386         * NEWS: Mention the change.
9387         * modules/acl (Depends-on): Add fstat.
9388         * modules/chdir-safer (Depends-on): Likewise.
9389         * modules/chown (Depends-on): Likewise.
9390         * modules/copy-file (Depends-on): Likewise.
9391         * modules/fchdir (Depends-on): Likewise.
9392         * modules/fdopendir (Depends-on): Likewise.
9393         * modules/fopen (Depends-on): Likewise.
9394         * modules/fts (Depends-on): Likewise.
9395         * modules/getcwd (Depends-on): Likewise.
9396         * modules/isapipe (Depends-on): Likewise.
9397         * modules/linkat (Depends-on): Likewise.
9398         * modules/lseek (Depends-on): Likewise.
9399         * modules/mkdir-p (Depends-on): Likewise.
9400         * modules/open (Depends-on): Likewise.
9401         * modules/openat (Depends-on): Likewise.
9402         * modules/read-file (Depends-on): Likewise.
9403         * modules/renameat (Depends-on): Likewise.
9404         * modules/utimens (Depends-on): Likewise.
9405
9406 2011-09-25  Bruno Haible  <bruno@clisp.org>
9407
9408         linkat: Fix compilation on MSVC 9.
9409         * lib/linkat.c: Don't include <stdint.h>.
9410
9411 2011-09-25  Bruno Haible  <bruno@clisp.org>
9412
9413         fclose: Support for MSVC 9.
9414         * lib/fclose.c: Include msvc-inval.h.
9415         (fclose_nothrow): New function.
9416         (rpl_fclose): Use it.
9417         * modules/fclose (Depends-on): Add msvc-inval.
9418         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
9419
9420 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
9421
9422         dup2: minor simplifications
9423         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
9424         that it's a performance win.
9425         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
9426         ! defined __CYGWIN__)" to "ifdef F_GETFL".
9427
9428 2011-09-24  Jim Meyering  <meyering@redhat.com>
9429
9430         test-futimens: avoid a warning from gcc -Wshadow
9431         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
9432         to avoid a shadowing warning.
9433
9434 2011-09-24  Bruno Haible  <bruno@clisp.org>
9435
9436         fdopen: Support for MSVC 9.
9437         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
9438         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
9439         * lib/fdopen.c: Include msvc-inval.h.
9440         (fdopen_nothrow): New function.
9441         (rpl_fdopen): Use it.
9442         * modules/fdopen (Depends-on): Add msvc-inval.
9443         * modules/fclose-tests (Depends-on): Add fdopen.
9444         * modules/fflush-tests (Depends-on): Likewise.
9445         * modules/fgetc-tests (Depends-on): Likewise.
9446         * modules/fputc-tests (Depends-on): Likewise.
9447         * modules/fread-tests (Depends-on): Likewise.
9448         * modules/freopen-tests (Depends-on): Likewise.
9449         * modules/fseeko-tests (Depends-on): Likewise.
9450         * modules/ftello-tests (Depends-on): Likewise.
9451         * modules/fwrite-tests  (Depends-on): Likewise.
9452         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
9453
9454 2011-09-24  Bruno Haible  <bruno@clisp.org>
9455
9456         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
9457         * modules/fgetc-tests (Depends-on): Add unistd.
9458         * modules/fputc-tests (Depends-on): Likewise.
9459         * modules/fread-tests (Depends-on): Likewise.
9460         * modules/fwrite-tests (Depends-on): Likewise.
9461
9462 2011-09-24  Bruno Haible  <bruno@clisp.org>
9463
9464         dup: Simplify autoconf test.
9465         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
9466         on gl_MSVC_INVAL's result.
9467
9468 2011-09-24  Bruno Haible  <bruno@clisp.org>
9469
9470         Tests for function fwrite().
9471         * modules/fwrite-tests: New file.
9472         * tests/test-fwrite.c: New file.
9473         * modules/stdio-tests (Depends-on): Add fwrite-tests.
9474
9475         Tests for function fread().
9476         * modules/fread-tests: New file.
9477         * tests/test-fread.c: New file.
9478         * modules/stdio-tests (Depends-on): Add fread-tests.
9479
9480         Activate fputc tests.
9481         * modules/stdio-tests (Depends-on): Add fputc-tests.
9482
9483         Enhance fgetc, fputc tests.
9484         * tests/test-fgetc.c (main): Also test the stream's error indicator.
9485         * tests/test-fputc.c (main): Likewise.
9486
9487 2011-09-24  Bruno Haible  <bruno@clisp.org>
9488
9489         write: Support for MSVC 9.
9490         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9491         is not 1.
9492         * lib/write.c (write_nothrow): New function.
9493         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
9494         not 1. Use write_nothrow.
9495         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
9496         invalid parameter handler.
9497         (gl_PREREQ_WRITE): New macro.
9498         * modules/write (Depends-on): Add msvc-inval.
9499         (configure.ac): Invoke gl_PREREQ_WRITE.
9500         * doc/posix-functions/write.texi: Mention the problem on MSVC.
9501
9502 2011-09-24  Bruno Haible  <bruno@clisp.org>
9503
9504         read: Fix last commit.
9505         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
9506
9507 2011-09-24  Bruno Haible  <bruno@clisp.org>
9508
9509         dup2: Fix last commit.
9510         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
9511         (rpl_dup2): Disable fcntl workaround on native Windows.
9512
9513         sigprocmask: Make code safer.
9514         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
9515         section that changes macro definitions for this compilation unit.
9516
9517 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
9518
9519         dup2: clarify by coalescing Windows-specific material
9520         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
9521         "msvc-nothrow.h"' to the Windows-specific section, so that the
9522         Emacs source need not contain these include files.
9523         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
9524         Windows-specific fixes into this function rather than just the
9525         nothrow fix, as this shortens and clarifies the code.  Always
9526         define as a function, as that's a bit cleaner than having it be
9527         sometimes a function and sometimes a macro.
9528         (rpl_dup2): Move the Windows-specific stuff out of here and into
9529         ms_windows_dup2.  Don't protect the Haiku-related fix with
9530         "#if !defined __linux__", as the same code also works around
9531         a Linux kernel bug, and it doesn't add any system calls on any
9532         platform.  Add comment about FreeBSD 6.1.
9533
9534         sigprocmask: move #include directive
9535         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
9536         Windows-specific section, so that the Emacs source need not
9537         contain msvc-inval.h.
9538
9539 2011-09-23  Bruno Haible  <bruno@clisp.org>
9540
9541         read: Support for MSVC 9.
9542         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
9543         is not 1.
9544         * lib/read.c (read_nothrow): New function.
9545         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
9546         read_nothrow.
9547         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
9548         invalid parameter handler.
9549         (gl_PREREQ_READ): New macro.
9550         * modules/read (Depends-on): Add msvc-inval.
9551         (configure.ac): Invoke gl_PREREQ_READ.
9552         * doc/posix-functions/read.texi: Mention the problem on MSVC.
9553
9554 2011-09-23  Bruno Haible  <bruno@clisp.org>
9555
9556         close: Support for MSVC 9.
9557         * lib/close.c: Include <errno.h>, msvc-inval.h.
9558         (close_nothrow): New function.
9559         (rpl_close): Use it.
9560         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
9561         invalid parameter handler.
9562         * modules/close (Depends-on): Add msvc-inval.
9563         * modules/dup2-tests (Depends-on): Add close.
9564         * modules/dup3-tests (Depends-on): Likewise.
9565         * modules/fcntl-tests (Depends-on): Likewise.
9566         * modules/spawn-pipe-tests (Depends-on): Likewise.
9567         * modules/unistd-safer-tests (Depends-on): Likewise.
9568         * doc/posix-functions/close.texi: Mention the problem on MSVC.
9569
9570 2011-09-23  Bruno Haible  <bruno@clisp.org>
9571
9572         New module 'dup'.
9573         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
9574         Allow replacement.
9575         * lib/dup.c: New file.
9576         * lib/fchdir.c (rpl_dup): Remove function.
9577         * m4/dup.m4: New file.
9578         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
9579         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
9580         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
9581         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
9582         * modules/dup: New file.
9583         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
9584         'dup' module is in use.
9585         * modules/fdopendir (Depends-on): Add dup.
9586         * modules/fdutimensat-tests (Depends-on): Likewise.
9587         * modules/fts (Depends-on): Likewise.
9588         * modules/futimens-tests (Depends-on): Likewise.
9589         * modules/posix_spawnp-tests (Depends-on): Likewise.
9590         * modules/unistd-safer-tests (Depends-on): Likewise.
9591         * modules/utimens-tests (Depends-on): Likewise.
9592         * doc/posix-functions/dup.texi: Mention the new module and the problem
9593         on MSVC.
9594
9595 2011-09-23  Bruno Haible  <bruno@clisp.org>
9596
9597         getdtablesize: Support for MSVC 9.
9598         * lib/getdtablesize.c: Include msvc-inval.h.
9599         (_setmaxstdio_nothrow): New function.
9600         (_setmaxstdio): Redefine it.
9601         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
9602         * modules/getdtablesize (Depends-on): Add msvc-inval.
9603         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
9604
9605 2011-09-23  Bruno Haible  <bruno@clisp.org>
9606
9607         signal-h: Rename from signal.
9608         * modules/signal-h: Renamed from modules/signal.
9609         * modules/pthread_sigmask (Depends-on): Update.
9610         * modules/raise (Depends-on): Likewise.
9611         * modules/sigaction (Depends-on): Likewise.
9612         * modules/sigpipe (Depends-on): Likewise.
9613         * modules/sigprocmask (Depends-on): Likewise.
9614         * modules/sys_select (Depends-on): Likewise.
9615         * modules/signal-h-tests: Renamed from modules/signal-tests.
9616         (Files, Depends-on, Makefile.am): Update.
9617         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
9618         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
9619         (Files, Makefile.am): Update.
9620         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
9621         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
9622         * modules/signal: New placeholder file.
9623         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
9624         * doc/posix-headers/signal.texi: Update.
9625         * NEWS: Mention the change.
9626
9627 2011-09-23  Bruno Haible  <bruno@clisp.org>
9628
9629         sigprocmask: Avoid crashes through signal() on MSVC 9.
9630         * lib/sigprocmask.c: Include msvc-inval.h.
9631         (signal_nothrow): New function.
9632         (signal): Redefine it.
9633         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
9634         * modules/sigprocmask (Depends-on): Add msvc-inval.
9635         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
9636
9637 2011-09-23  Bruno Haible  <bruno@clisp.org>
9638
9639         Tests for module 'raise'.
9640         * modules/raise-tests: New file.
9641         * tests/test-raise.c: New file.
9642
9643         raise: Support for MSVC.
9644         * lib/signal.in.h (raise): New declaration.
9645         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
9646         for native Windows platforms.
9647         * m4/raise.m4: New file.
9648         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
9649         HAVE_RAISE, REPLACE_RAISE.
9650         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
9651         REPLACE_RAISE.
9652         * modules/raise (Status, Notice): Remove fields.
9653         (Files): Add m4/raise.m4.
9654         (Depends-on): Add signal, msvc-inval.
9655         (configure.ac): Use the common idioms.
9656         (Maintainer): Add me.
9657         * tests/test-signal-c++.cc: Check the signature of raise.
9658         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
9659
9660 2011-09-23  Bruno Haible  <bruno@clisp.org>
9661
9662         pipe2: Fix compilation on pre-C99 compilers.
9663         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
9664
9665 2011-09-23  Bruno Haible  <bruno@clisp.org>
9666
9667         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
9668         * lib/msvc-nothrow.h: New file.
9669         * lib/msvc-nothrow.c: New file.
9670         * m4/msvc-nothrow.m4: New file.
9671         * modules/msvc-nothrow: New file.
9672         * lib/dup2.c: Include msvc-nothrow.h.
9673         (rpl_dup2): No need to protect _get_osfhandle call here.
9674         * lib/accept4.c: Include msvc-nothrow.h.
9675         * lib/error.c: Likewise.
9676         * lib/fcntl.c: Likewise.
9677         * lib/lseek.c: Likewise.
9678         * lib/nonblocking.c: Likewise.
9679         * lib/poll.c: Likewise.
9680         * lib/read.c: Likewise.
9681         * lib/select.c: Likewise.
9682         * lib/sockets.h: Likewise.
9683         * lib/sockets.c: Likewise.
9684         * lib/stdio-read.c: Likewise.
9685         * lib/stdio-write.c: Likewise.
9686         * lib/write.c: Likewise.
9687         * lib/w32sock.h: Likewise.
9688         * lib/w32spawn.h: Likewise.
9689         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
9690         * lib/fsync.c: Likewise.
9691         * lib/isapipe.c: Likewise.
9692         * modules/dup2 (Depends-on): Add msvc-nothrow.
9693         * modules/accept4 (Depends-on): Likewise.
9694         * modules/error (Depends-on): Likewise.
9695         * modules/fcntl (Depends-on): Likewise.
9696         * modules/lseek (Depends-on): Likewise.
9697         * modules/nonblocking (Depends-on): Likewise.
9698         * modules/poll (Depends-on): Likewise.
9699         * modules/read (Depends-on): Likewise.
9700         * modules/select (Depends-on): Likewise.
9701         * modules/sockets (Depends-on): Likewise.
9702         * modules/sigpipe (Depends-on): Likewise.
9703         * modules/write (Depends-on): Likewise.
9704         * modules/accept (Depends-on): Likewise.
9705         * modules/bind (Depends-on): Likewise.
9706         * modules/connect (Depends-on): Likewise.
9707         * modules/gethostname (Depends-on): Likewise.
9708         * modules/getpeername (Depends-on): Likewise.
9709         * modules/getsockname (Depends-on): Likewise.
9710         * modules/getsockopt (Depends-on): Likewise.
9711         * modules/ioctl (Depends-on): Likewise.
9712         * modules/listen (Depends-on): Likewise.
9713         * modules/recv (Depends-on): Likewise.
9714         * modules/recvfrom (Depends-on): Likewise.
9715         * modules/send (Depends-on): Likewise.
9716         * modules/sendto (Depends-on): Likewise.
9717         * modules/setsockopt (Depends-on): Likewise.
9718         * modules/shutdown (Depends-on): Likewise.
9719         * modules/socket (Depends-on): Likewise.
9720         * modules/execute (Depends-on): Likewise.
9721         * modules/spawn-pipe (Depends-on): Likewise.
9722         * modules/flock (Depends-on): Likewise.
9723         * modules/fsync (Depends-on): Likewise.
9724         * modules/isapipe (Depends-on): Likewise.
9725         * tests/test-cloexec.c: Include msvc-nothrow.h.
9726         * tests/test-dup-safer.c: Likewise.
9727         * tests/test-dup2.c: Likewise.
9728         * tests/test-dup3.c: Likewise.
9729         * tests/test-fcntl.c: Likewise.
9730         * tests/test-pipe.c: Likewise.
9731         * tests/test-pipe2.c: Likewise.
9732         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
9733         * modules/unistd-safer-tests (Depends-on): Likewise.
9734         * modules/dup2-tests (Depends-on): Likewise.
9735         * modules/dup3-tests (Depends-on): Likewise.
9736         * modules/fcntl-tests (Depends-on): Likewise.
9737         * modules/pipe-posix-tests (Depends-on): Likewise.
9738         * modules/pipe2-tests (Depends-on): Likewise.
9739
9740 2011-09-23  Bruno Haible  <bruno@clisp.org>
9741
9742         dup2: Make code more maintainable.
9743         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
9744         (rpl_dup2): Use it.
9745         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
9746         * modules/dup2 (configure.ac): Invoke it.
9747         Reported by Paul Eggert.
9748
9749 2011-09-23  Bruno Haible  <bruno@clisp.org>
9750
9751         msvc-inval: Fix compilation error.
9752         * lib/msvc-inval.h: Include <excpt.h>.
9753
9754 2011-09-23  Bruno Haible  <bruno@clisp.org>
9755
9756         mkdir: Tweak for MSVC 9.
9757         * lib/sys_stat.in.h: Update comments.
9758         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
9759
9760         Tests for module 'chdir'.
9761         * modules/chdir-tests: New file.
9762         * tests/test-chdir.c: New file.
9763
9764         New module 'chdir'.
9765         * modules/chdir: New file.
9766         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
9767         (chdir): New declaration.
9768         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
9769         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
9770         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
9771         * tests/test-unistd-c++.cc: Check signature of chdir.
9772         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
9773         * modules/chdir-long (Depends-on): Add chdir.
9774         * modules/fchdir (Depends-on): Likewise.
9775         * modules/rename (Depends-on): Likewise.
9776         * modules/savewd (Depends-on): Likewise.
9777
9778         rmdir: Support for mingw, MSVC 9.
9779         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
9780         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
9781
9782         getcwd: Tweak for MSVC 9.
9783         * lib/unistd.in.h: Update comments.
9784         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
9785
9786 2011-09-22  Bruno Haible  <bruno@clisp.org>
9787
9788         strerror_r-posix: Avoid a link error on MSVC.
9789         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
9790         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
9791
9792 2011-09-22  Bruno Haible  <bruno@clisp.org>
9793
9794         select: Avoid link errors on MSVC.
9795         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
9796         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
9797         * modules/pselect (Link): Likewise.
9798         * NEWS: Mention the change.
9799         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
9800         test-select-stdin against $(LIB_SELECT).
9801         * modules/pselect-tests (Makefile.am): Link test-pselect against
9802         $(LIB_SELECT).
9803
9804 2011-09-22  Bruno Haible  <bruno@clisp.org>
9805
9806         select: Avoid compilation error on MSVC.
9807         * lib/select.c: Don't include <stdbool.h>.
9808
9809 2011-09-21  Bruno Haible  <bruno@clisp.org>
9810
9811         Consolidate all uses of PATH_MAX in *.m4 files.
9812         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
9813         macros.
9814         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
9815         and gl_PATHMAX_SNIPPET.
9816         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
9817         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
9818         * modules/chdir-long (Files): Add m4/pathmax.m4.
9819         * modules/getcwd (Files): Likewise.
9820
9821 2011-09-21  Bruno Haible  <bruno@clisp.org>
9822
9823         ftruncate: Un-deprecate, concentrate on Win32 support.
9824         * modules/ftruncate (Status, Notice): Remove sections.
9825         (Depends-on): Add largefile.
9826         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
9827         non-mingw platforms.
9828         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
9829         include <io.h>.
9830         * modules/perror-tests (Depends-on): Add ftruncate.
9831         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
9832         'ftruncate' module.
9833
9834 2011-09-21  Bruno Haible  <bruno@clisp.org>
9835
9836         Add dependencies to new dirent related modules.
9837         * modules/opendir (Depends-on): Add closedir.
9838         * modules/getcwd (Depends-on): Add opendir, closedir.
9839         * modules/dirent-safer-tests (Depends-on): Likewise.
9840         * modules/fdopendir-tests (Depends-on): Likewise.
9841         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
9842         * modules/renameat-tests (Depends-on): Likewise.
9843
9844 2011-09-21  Bruno Haible  <bruno@clisp.org>
9845
9846         opendir: Avoid compilation error on mingw.
9847         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
9848         * modules/opendir (Depends-on): Add unistd.
9849
9850 2011-09-21  Bruno Haible  <bruno@clisp.org>
9851
9852         ftruncate tests: Avoid a test failure on mingw.
9853         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
9854
9855 2011-09-21  Bruno Haible  <bruno@clisp.org>
9856
9857         select tests: Avoid test failures on OSF/1 5.1 and mingw.
9858         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
9859         native Windows.
9860
9861 2011-09-21  Bruno Haible  <bruno@clisp.org>
9862
9863         New module 'fdopen'.
9864         * lib/stdio.in.h (fdopen): New declaration.
9865         * lib/fdopen.c: New file.
9866         * m4/fdopen.m4: New file.
9867         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
9868         REPLACE_FDOPEN.
9869         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
9870         REPLACE_FDOPEN.
9871         * modules/fdopen: New file.
9872         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
9873         * tests/test-stdio-c++.cc: Check signature of fdopen.
9874         * doc/posix-functions/fdopen.texi: Mention the new module.
9875
9876 2011-09-21  Bruno Haible  <bruno@clisp.org>
9877
9878         unlockpt tests: Avoid test failure on NetBSD 5.1.
9879         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
9880         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
9881
9882 2011-09-21  Bruno Haible  <bruno@clisp.org>
9883
9884         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
9885         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
9886         * tests/test-getlogin_r.c (main): Likewise.
9887
9888 2011-09-20  Bruno Haible  <bruno@clisp.org>
9889
9890         time tests: Don't require pid_t.
9891         * doc/posix-headers/time.texi: Revert last change.
9892         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
9893         * tests/test-time.c: Comment out the check for pid_t.
9894
9895 2011-09-20  Bruno Haible  <bruno@clisp.org>
9896
9897         fsync tests: Avoid a test failure on mingw.
9898         * tests/test-fsync.c (main): Allow a failure with EIO.
9899
9900 2011-09-20  Bruno Haible  <bruno@clisp.org>
9901
9902         euidaccess: Update comments.
9903         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
9904
9905 2011-09-20  Bruno Haible  <bruno@clisp.org>
9906
9907         Ensure EBADF returns for socket functions on mingw.
9908         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
9909         descriptor is invalid.
9910         * lib/bind.c (rpl_bind): Likewise.
9911         * lib/connect.c (rpl_connect): Likewise.
9912         * lib/getpeername.c (rpl_getpeername): Likewise.
9913         * lib/getsockname.c (rpl_getsockname): Likewise.
9914         * lib/getsockopt.c (rpl_getsockopt): Likewise.
9915         * lib/listen.c (rpl_listen): Likewise.
9916         * lib/recv.c (rpl_recv): Likewise.
9917         * lib/recvfrom.c (rpl_recvfrom): Likewise.
9918         * lib/send.c (rpl_send): Likewise.
9919         * lib/sendto.c (rpl_sendto): Likewise.
9920         * lib/setsockopt.c (rpl_setsockopt): Likewise.
9921         * lib/shutdown.c (rpl_shutdown): Likewise.
9922
9923 2011-09-20  Bruno Haible  <bruno@clisp.org>
9924
9925         select tests: EBADF tests.
9926         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
9927         test_bad_fd): New functions.
9928         (test_function): Invoke also test_bad_fd.
9929
9930 2011-09-20  Bruno Haible  <bruno@clisp.org>
9931
9932         Tests for module 'posix_spawn_file_actions_addopen.
9933         * modules/posix_spawn_file_actions_addopen-tests: New file.
9934         * tests/test-posix_spawn_file_actions_addopen.c: New file.
9935
9936         Tests for module 'posix_spawn_file_actions_adddup2'.
9937         * modules/posix_spawn_file_actions_adddup2-tests: New file.
9938         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
9939
9940         Tests for module 'posix_spawn_file_actions_addclose'.
9941         * modules/posix_spawn_file_actions_addclose-tests: New file.
9942         * tests/test-posix_spawn_file_actions_addclose.c: New file.
9943
9944 2011-09-20  Bruno Haible  <bruno@clisp.org>
9945
9946         Tests for module 'unlockpt'.
9947         * modules/unlockpt-tests: New file.
9948         * tests/test-unlockpt.c: New file.
9949         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
9950
9951         Tests for module 'grantpt'.
9952         * modules/grantpt-tests: New file.
9953         * tests/test-grantpt.c: New file.
9954         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
9955
9956 2011-09-20  Bruno Haible  <bruno@clisp.org>
9957
9958         freopen tests: EBADF tests.
9959         * tests/test-freopen.c: Include errno.h, unistd.h.
9960         (main): Add tests for EBADF, commented out for the moment.
9961
9962         fclose tests: EBADF tests.
9963         * tests/test-fclose.c (main): Add tests for EBADF.
9964
9965         fflush tests: EBADF tests.
9966         * tests/test-fflush.c: Include errno.h, macros.h.
9967         (main): Add tests for EBADF.
9968
9969         ftello tests: EBADF tests.
9970         * tests/test-ftello4.sh: New file.
9971         * tests/test-ftello4.c: New file.
9972         * modules/ftello-tests (Files): Add them.
9973         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
9974
9975         fseeko tests: EBADF tests.
9976         * tests/test-fseeko4.sh: New file.
9977         * tests/test-fseeko4.c: New file.
9978         * modules/fseeko-tests (Files): Add them.
9979         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
9980
9981         Tests for function fputc().
9982         * modules/fputc-tests: New file.
9983         * tests/test-fputc.c: New file.
9984         * modules/stdio-tests (Depends-on): Add fputc-tests.
9985
9986         Tests for function fgetc().
9987         * modules/fgetc-tests: New file.
9988         * tests/test-fgetc.c: New file.
9989         * modules/stdio-tests (Depends-on): Add fgetc-tests.
9990
9991         Tests for function fdopen().
9992         * modules/fdopen-tests: New file.
9993         * tests/test-fdopen.c: New file.
9994         * modules/stdio-tests (Depends-on): Add fdopen-tests.
9995
9996         Tests for module 'vdprintf'.
9997         * modules/vdprintf-tests: New file.
9998         * tests/test-vdprintf.c: New file.
9999
10000         Tests for module 'dprintf'.
10001         * modules/dprintf-tests: New file.
10002         * tests/test-dprintf.c: New file.
10003
10004 2011-09-20  Bruno Haible  <bruno@clisp.org>
10005
10006         Tests for module 'ioctl'.
10007         * modules/ioctl-tests: New file.
10008         * tests/test-ioctl.c: New file.
10009
10010 2011-09-20  Bruno Haible  <bruno@clisp.org>
10011
10012         fcntl tests: EBADF tests.
10013         * tests/test-fcntl.c (main): Add more tests for EBADF.
10014
10015 2011-09-20  Bruno Haible  <bruno@clisp.org>
10016
10017         utimensat tests: EBADF tests.
10018         * tests/test-utimensat.c (main): Add tests for EBADF.
10019
10020         renameat tests: EBADF tests.
10021         * tests/test-renameat.c (main): Add tests for EBADF.
10022
10023         mkfifoat tests: EBADF tests.
10024         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10025
10026         readlinkat tests: EBADF tests.
10027         * tests/test-readlinkat.c (main): Add tests for EBADF.
10028
10029         symlinkat tests: EBADF tests.
10030         * tests/test-symlinkat.c (main): Add tests for EBADF.
10031
10032         linkat tests: EBADF tests.
10033         * tests/test-linkat.c (main): Add tests for EBADF.
10034
10035         Tests for module 'faccessat'.
10036         * modules/faccessat-tests: New file.
10037         * tests/test-faccessat.c: New file.
10038
10039         fdopendir tests: EBADF tests.
10040         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10041
10042         openat tests: EBADF tests.
10043         * tests/test-fchownat.c (main): Add tests for EBADF.
10044         * tests/test-fstatat.c (main): Likewise.
10045         * tests/test-mkdirat.c (main): Likewise.
10046         * tests/test-openat.c (main): Likewise.
10047         * tests/test-unlinkat.c (main): Likewise.
10048         * tests/test-fchmodat.c: New file.
10049         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10050         (Makefile.am): Also run 'test-fchmodat'.
10051
10052 2011-09-20  Bruno Haible  <bruno@clisp.org>
10053
10054         utimens, futimens, fdutimensat tests: EBADF tests.
10055         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10056
10057         Tests for function fstat().
10058         * modules/fstat-tests: New file.
10059         * tests/test-fstat.c: New file.
10060         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10061
10062 2011-09-20  Bruno Haible  <bruno@clisp.org>
10063
10064         test-ttyname_r tests: EBADF tests.
10065         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10066
10067         Tests for module 'isatty'.
10068         * modules/isatty-tests: New file.
10069         * tests/test-isatty.c: New file.
10070
10071         Tests for module 'write'.
10072         * modules/write-tests: New file.
10073         * tests/test-write.c: New file.
10074
10075         Tests for module 'read'.
10076         * modules/read-tests: New file.
10077         * tests/test-read.c: New file.
10078
10079         pwrite tests: EBADF tests.
10080         * tests/test-pwrite.c (main): Add tests for EBADF.
10081
10082         pread tests: EBADF tests.
10083         * tests/test-pread.c (main): Add tests for EBADF.
10084
10085         lseek tests: EBADF tests.
10086         * tests/test-lseek.c (main): Add more tests for EBADF.
10087
10088         Tests for module 'ftruncate'.
10089         * modules/ftruncate-tests: New file.
10090         * tests/test-ftruncate.sh: New file.
10091         * tests/test-ftruncate.c: New file.
10092
10093         fsync tests: EBADF tests.
10094         * tests/test-fsync.c (main): Add more tests for EBADF.
10095
10096         fdatasync tests: EBADF tests.
10097         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10098
10099         Tests for module 'fchown'.
10100         * modules/fchown-tests: New file.
10101         * tests/test-fchown.c: New file.
10102
10103         Tests for module 'fchmod'.
10104         * modules/fchmod-tests: New file.
10105         * tests/test-fchmod.c: New file.
10106
10107         fchdir tests: EBADF tests.
10108         * tests/test-fchdir.c (main): Add more tests for EBADF.
10109
10110         dup2 tests: EBADF tests.
10111         * tests/test-dup2.c (main): Add more tests for EBADF.
10112
10113         Tests for module 'dup'.
10114         * modules/dup-tests: New file.
10115         * tests/test-dup.c: New file.
10116
10117         Tests for module 'close'.
10118         * modules/close-tests: New file.
10119         * tests/test-close.c: New file.
10120
10121 2011-09-20  Bruno Haible  <bruno@clisp.org>
10122
10123         Tests for module 'shutdown'.
10124         * modules/shutdown-tests: New file.
10125         * tests/test-shutdown.c: New file.
10126
10127         Tests for module 'setsockopt'.
10128         * modules/setsockopt-tests: New file.
10129         * tests/test-setsockopt.c: New file.
10130
10131         Tests for module 'sendto'.
10132         * modules/sendto-tests: New file.
10133         * tests/test-sendto.c: New file.
10134
10135         Tests for module 'send'.
10136         * modules/send-tests: New file.
10137         * tests/test-send.c: New file.
10138
10139         Tests for module 'recvfrom'.
10140         * modules/recvfrom-tests: New file.
10141         * tests/test-recvfrom.c: New file.
10142
10143         Tests for module 'recv'.
10144         * modules/recv-tests: New file.
10145         * tests/test-recv.c: New file.
10146
10147         Tests for module 'listen'.
10148         * modules/listen-tests: New file.
10149         * tests/test-listen.c: New file.
10150
10151         Tests for module 'getsockopt'.
10152         * modules/getsockopt-tests: New file.
10153         * tests/test-getsockopt.c: New file.
10154
10155         Tests for module 'getsockname'.
10156         * modules/getsockname-tests: New file.
10157         * tests/test-getsockname.c: New file.
10158
10159         Tests for module 'getpeername'.
10160         * modules/getpeername-tests: New file.
10161         * tests/test-getpeername.c: New file.
10162
10163         Tests for module 'connect'.
10164         * modules/connect-tests: New file.
10165         * tests/test-connect.c: New file.
10166
10167         Tests for module 'bind'.
10168         * modules/bind-tests: New file.
10169         * tests/test-bind.c: New file.
10170
10171         accept4 tests: Fix for native Windows.
10172         * tests/test-accept4.c: Include sockets.h.
10173         (main): Invoke gl_sockets_startup.
10174         * modules/accept4-tests (Depends-on): Add sockets.
10175
10176         accept tests: Fix for native Windows.
10177         * tests/test-accept.c: Include sockets.h.
10178         (main): Invoke gl_sockets_startup.
10179         * modules/accept-tests (Depends-on): Add sockets.
10180
10181 2011-09-19  Bruno Haible  <bruno@clisp.org>
10182
10183         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
10184         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
10185         do...while(0).
10186         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
10187         Suggested by Paul Eggert.
10188
10189 2011-09-19  Bruno Haible  <bruno@clisp.org>
10190
10191         sched: Ensure pid_t is defined.
10192         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
10193         not define pid_t.
10194         * lib/sched.in.h: Include <sys/types.h>.
10195         * doc/posix-headers/sched.texi: Mention the pid_t problem.
10196         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10197
10198 2011-09-19  Bruno Haible  <bruno@clisp.org>
10199
10200         msvc-inval: Ensure the entire expansion is a single statement.
10201         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
10202         of braces.
10203
10204 2011-09-19  Jim Meyering  <meyering@redhat.com>
10205
10206         tests: use printf, not echo in init.sh's warn_ function
10207         * tests/init.sh (warn_): Use printf, not echo.  The latter would
10208         misbehave when given strings containing a backslash or starting
10209         with e.g., -n.  James Youngman suggested setting IFS.
10210
10211 2011-09-19  Eric Blake  <eblake@redhat.com>
10212
10213         futimens: enhance test
10214         * tests/test-futimens.h (test_futimens): Also check for EBADF on
10215         closed non-negative fd.
10216
10217         date: accept 'hence' as opposite of 'ago'
10218         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
10219         * tests/test-parse-datetime.c (main): Enhance test.
10220         Suggested by Jesse Wilson.
10221
10222 2011-09-19  Jim Meyering  <meyering@redhat.com>
10223
10224         getcwd: don't fail in a deep directory on a system without openat
10225         Before this change, getcwd would fail when called from a directory
10226         of depth PATH_MAX / 3 or greater.  That was due to the fact that
10227         the non-openat implementation used "..", "../..", "../../..", etc.
10228         to access ancestor directories.  With too many, that string would
10229         be longer than PATH_MAX.
10230         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
10231         using gnulib's openat replacement.
10232         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
10233         we're using the replacement function.
10234
10235 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
10236
10237         maint.mk: avoid warnings from perl about missing files
10238         * top/maint.mk (def_sym_regex): Ignore files listed in
10239         $(gl_other_headers_) that do not exist, say because a project
10240         does not use a corresponding module.
10241
10242 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
10243
10244         stat: use pathmax.h only if needed
10245         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
10246         This is better for Emacs, which does not have a mingw port and
10247         therefore can avoid the pathmax module.
10248
10249         utimens: remove dependency on dup2
10250         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
10251         to work around the Linux kernel bug.
10252         * modules/utimens (Depends-on): Remove dup2.
10253
10254 2011-09-18  Bruno Haible  <bruno@clisp.org>
10255
10256         inet_ntop, inet_pton: Look for it also in libresolv.
10257         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
10258         libnsl, search for it in libresolv.
10259         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10260         Needed on Solaris 7.
10261
10262 2011-09-18  Bruno Haible  <bruno@clisp.org>
10263
10264         accept, accept4 tests: Avoid link error on Solaris.
10265         * modules/accept-tests (Makefile.am): Link test-accept against
10266         $(LIBSOCKET).
10267         * modules/accept4-tests (Makefile.am): Link test-accept4 against
10268         $(LIBSOCKET).
10269
10270         accept4: Avoid link error on Solaris.
10271         * modules/accept4 (Link): New section.
10272
10273         socket functions: Avoid link errors on Solaris.
10274         * modules/accept (Depends-on): Add socketlib.
10275         (Link): New section.
10276         * modules/bind (Depends-on): Add socketlib.
10277         (Link): New section.
10278         * modules/connect (Depends-on): Add socketlib.
10279         (Link): New section.
10280         * modules/getpeername (Depends-on): Add socketlib.
10281         (Link): New section.
10282         * modules/getsockname (Depends-on): Add socketlib.
10283         (Link): New section.
10284         * modules/getsockopt (Depends-on): Add socketlib.
10285         (Link): New section.
10286         * modules/listen (Depends-on): Add socketlib.
10287         (Link): New section.
10288         * modules/recv (Depends-on): Add socketlib.
10289         (Link): New section.
10290         * modules/recvfrom (Depends-on): Add socketlib.
10291         (Link): New section.
10292         * modules/send (Depends-on): Add socketlib.
10293         (Link): New section.
10294         * modules/sendto (Depends-on): Add socketlib.
10295         (Link): New section.
10296         * modules/setsockopt (Depends-on): Add socketlib.
10297         (Link): New section.
10298         * modules/shutdown (Depends-on): Add socketlib.
10299         (Link): New section.
10300         * modules/socket (Depends-on): Add socketlib.
10301         (Link): New section.
10302
10303 2011-09-18  Bruno Haible  <bruno@clisp.org>
10304
10305         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
10306         * tests/test-ptsname.c (main): Terminate the test if it takes longer
10307         than 5 seconds.
10308         * modules/ptsname-tests (configure.ac): Test for alarm.
10309
10310 2011-09-18  Bruno Haible  <bruno@clisp.org>
10311
10312         posix_spawn_file_actions_add*: Fix module dependencies.
10313         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
10314         posix_spawn_file_actions_init.
10315         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
10316         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
10317
10318 2011-09-18  Bruno Haible  <bruno@clisp.org>
10319
10320         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
10321         * tests/test-rename.h (test_rename): Allow error code EEXIST.
10322         * tests/test-renameat.c (main): Likewise.
10323
10324 2011-09-18  Bruno Haible  <bruno@clisp.org>
10325
10326         Tests for module 'accept4'.
10327         * modules/accept4-tests: New file.
10328         * tests/test-accept4.c: New file.
10329
10330 2011-09-18  Bruno Haible  <bruno@clisp.org>
10331
10332         Tests for module 'accept'.
10333         * modules/accept-tests: New file.
10334         * tests/test-accept.c: New file.
10335
10336 2011-09-18  Bruno Haible  <bruno@clisp.org>
10337
10338         dup2: Support for MSVC.
10339         * lib/dup2.c: Include msvc-inval.h.
10340         (rpl_dup2): Handle invalid parameter notifications during dup2 and
10341         _get_osfhandle calls.
10342         * modules/dup2 (Depends-on): Add msvc-inval.
10343         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
10344
10345         New module 'msvc-inval'.
10346         * lib/msvc-inval.h: New file.
10347         * lib/msvc-inval.c: New file.
10348         * m4/msvc-inval.m4: New file.
10349         * modules/msvc-inval: New file.
10350
10351 2011-09-17  Bruno Haible  <bruno@clisp.org>
10352
10353         Tests for module 'pclose'.
10354         * modules/pclose-tests: New file.
10355
10356         New module 'pclose'.
10357         * lib/stdio.in.h (pclose): New declaration.
10358         * lib/pclose.c: New file.
10359         * m4/pclose.m4: New file.
10360         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
10361         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
10362         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
10363         * modules/pclose: New file.
10364         * modules/popen-tests (Depends-on): Add pclose.
10365         * modules/popen-safer-tests (Depends-on): Likewise.
10366         * doc/posix-functions/pclose.texi: Mention the new module.
10367
10368 2011-09-17  Bruno Haible  <bruno@clisp.org>
10369
10370         popen: Support for MSVC.
10371         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
10372         * lib/popen.c (popen): Provide alternate definition for native Windows.
10373         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
10374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
10375         * modules/popen (Depends-on, configure.ac): Update condition.
10376         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
10377         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
10378         fixed.
10379
10380 2011-09-17  Bruno Haible  <bruno@clisp.org>
10381
10382         isnanl, isnand, isnanf: Work around MSVC bug.
10383         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
10384
10385 2011-09-17  Bruno Haible  <bruno@clisp.org>
10386
10387         sys_socket tests: Fix recent mistake.
10388         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
10389
10390 2011-09-17  Bruno Haible  <bruno@clisp.org>
10391
10392         putenv: Support for MSVC.
10393         * modules/putenv (Depends-on): Add environ.
10394         * lib/putenv.c (environ): Disable declaration.
10395         * lib/unistd.in.h: Update comment.
10396
10397 2011-09-17  Bruno Haible  <bruno@clisp.org>
10398
10399         math: Avoid macro redefinition warnings on MSVC.
10400         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
10401         Undefine before redefining.
10402
10403 2011-09-17  Bruno Haible  <bruno@clisp.org>
10404
10405         doc: Mention functions which are declared as macros.
10406         * doc/posix-functions/*[fl].texi: Mention that some functions are
10407         defined as macros with arguments only.
10408
10409 2011-09-17  Bruno Haible  <bruno@clisp.org>
10410
10411         Add dependencies to new dirent related modules.
10412         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
10413         * modules/fts (Depends-on): Likewise.
10414         * modules/glob (Depends-on): Likewise.
10415         * modules/savedir (Depends-on): Likewise.
10416         * modules/scandir (Depends-on): Likewise.
10417         * modules/dirent-safer (Depends-on): Add opendir, closedir.
10418         * modules/fdopendir (Depends-on): Add opendir.
10419
10420 2011-09-17  Bruno Haible  <bruno@clisp.org>
10421
10422         inet_pton: Support for MSVC on Windows Vista or newer.
10423         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
10424         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
10425         HAVE_DECL_INET_PTON is defined.
10426         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10427         On platforms with <winsock2.h>, test whether inet_pton is declared in
10428         <ws2tcpip.h>. If so, arrange to replace it.
10429         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10430         REPLACE_INET_PTON.
10431         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
10432         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
10433         (Depends-on, configure.ac): Update condition.
10434         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
10435
10436 2011-09-17  Bruno Haible  <bruno@clisp.org>
10437
10438         inet_ntop: Support for MSVC on Windows Vista or newer.
10439         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
10440         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
10441         HAVE_DECL_INET_NTOP is defined.
10442         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
10443         On platforms with <winsock2.h>, test whether inet_ntop is declared in
10444         <ws2tcpip.h>. If so, arrange to replace it.
10445         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
10446         REPLACE_INET_NTOP.
10447         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
10448         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
10449         (Depends-on, configure.ac): Update condition.
10450         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
10451
10452 2011-09-16  Eric Blake  <eblake@redhat.com>
10453
10454         test-fsync: yet another enhancement
10455         * tests/test-fsync.c (main): Also test behavior on read-only text
10456         file.
10457
10458 2011-09-16  Bruno Haible  <bruno@clisp.org>
10459
10460         Enhance fsync, fdatasync tests.
10461         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
10462         * tests/test-fdatasync.c (main): Likewise.
10463
10464 2011-09-16  Bruno Haible  <bruno@clisp.org>
10465
10466         Support for MSVC compiler: Ensure mode_t gets defined.
10467         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
10468         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10469         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
10470         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
10471         * tests/test-fcntl-h.c: Check that mode_t is defined.
10472         * tests/test-sys_stat.c: Likewise.
10473         * tests/test-sys_types.c: Likewise.
10474         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
10475         * doc/posix-headers/sys_stat.texi: Likewise.
10476         * doc/posix-headers/sys_types.texi: Likewise.
10477
10478 2011-09-16  Bruno Haible  <bruno@clisp.org>
10479
10480         sys_stat: Support for MSVC.
10481         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
10482         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
10483         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
10484         MSVC.
10485
10486 2011-09-16  Bruno Haible  <bruno@clisp.org>
10487
10488         Support for MSVC compiler: Ensure off_t gets defined.
10489         * lib/unistd.in.h: Include <sys/types.h>.
10490         * tests/test-fcntl-h.c: Check that off_t is defined.
10491         * tests/test-sys_stat.c: Likewise.
10492         * tests/test-sys_types.c: Likewise.
10493
10494 2011-09-16  Eric Blake  <eblake@redhat.com>
10495
10496         fdatasync: port to Solaris
10497         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
10498         * modules/fdatasync (Link): Document it.
10499         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
10500
10501         fdatasync: port to MacOS X 10.7
10502         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
10503         declared.
10504         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
10505         * modules/unistd (Makefile.am): Substitute it.
10506         * lib/unistd.in.h (fdatasync): Declare on MacOS.
10507         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
10508
10509         fdatasync: minor improvements
10510         * modules/fdatasync (Depends-on): Add condition for fsync.
10511         * lib/fdatasync.c (fdatasync): Add comment.
10512         * tests/test-unistd-c++.cc: Test fdatasync.
10513
10514         unistd: update refs to newer POSIX
10515         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
10516         Suggested by Bruno Haible.
10517
10518         fdatasync: new module
10519         * modules/fsync (Description): Document difference to fdatasync.
10520         * modules/fdatasync: New module.
10521         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
10522         * lib/fdatasync.c (fdatasync): Likewise.
10523         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
10524         defaults.
10525         * modules/unistd (Makefile.am): Set witnesses.
10526         * lib/unistd.in.h (fdatasync): Declare.
10527         * MODULES.html.sh: Document it.
10528         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
10529         * modules/fdatasync-tests: New test.
10530         * tests/test-fdatasync.c: Likewise.
10531
10532 2011-09-16  Eric Blake  <eblake@redhat.com>
10533
10534         test-fsync: enhance tests
10535         * modules/fsync-tests (Depends-on): Add errno, for mingw.
10536         * tests/test-fsync.c (main): Enhance test.
10537
10538 2011-09-15  Bruno Haible  <bruno@clisp.org>
10539
10540         Support for MSVC compiler: Ensure ssize_t gets defined.
10541         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
10542         * doc/posix-headers/stdio.texi: Likewise.
10543         * modules/stdio (Depends-on): Add ssize_t.
10544         * modules/sys_socket (Depends-on): Likewise.
10545         * modules/sys_types (Depends-on): Likewise.
10546         * modules/sys_uio (Depends-on): Likewise.
10547         * modules/unistd (Depends-on): Likewise.
10548         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
10549         * tests/test-sys_types.c: Check that ssize_t is defined.
10550
10551 2011-09-14  Bruno Haible  <bruno@clisp.org>
10552
10553         Avoid using #, the m4 comment starter character, near brackets.
10554         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
10555         delimiter character in sed expressions.
10556         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10557         Suggested by Eric Blake.
10558
10559         Properly quote AC_CHECK_DECLS' 4th argument.
10560         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
10561         argument.
10562         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10563         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10564         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
10565         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
10566         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
10567         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
10568         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
10569         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
10570         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
10571         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
10572         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
10573         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10574         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
10575         * m4/isinf.m4 (gl_ISINF): Likewise.
10576         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10577         * m4/readutmp.m4 (gl_READUTMP): Likewise.
10578         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10579         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10580         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10581         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10582         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10583         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
10584         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
10585         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10586         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10587         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10588         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
10589         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10590         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10591         Reported by Eric Blake.
10592
10593         Properly quote AC_CHECK_DECL's 4th argument.
10594         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
10595         argument.
10596         * m4/argp.m4 (gl_ARGP): Likewise.
10597         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10598         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10599         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10600         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10601         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
10602         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
10603         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
10604         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10605         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10606         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10607         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10608         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10609         Reported by Eric Blake.
10610
10611 2011-09-14  Eric Blake  <eblake@redhat.com>
10612
10613         opendir: avoid compile warning
10614         * lib/opendir.c (includes): Always include errno.h.
10615         Reported by Tatsuro MATSUOKA.
10616
10617 2011-09-14  Jim Meyering  <meyering@redhat.com>
10618
10619         maint.mk: sc_tight_scope: propagate failure from sub-make
10620         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
10621         Reported by Martin von Gagern.
10622
10623 2011-09-13  Bruno Haible  <bruno@clisp.org>
10624
10625         tempname: Support for MSVC.
10626         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
10627         MSVC.
10628         * modules/tempname (Depends-on): Add fcntl-h.
10629
10630 2011-09-13  Bruno Haible  <bruno@clisp.org>
10631
10632         sys_time: Support for MSVC.
10633         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
10634         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
10635         include <winsock2.h>.
10636         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
10637         function declarations that collide with POSIX.
10638         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
10639         (Makefile.am): Substitute HAVE_WINSOCK2_H.
10640
10641 2011-09-13  Bruno Haible  <bruno@clisp.org>
10642
10643         stat: Support for MSVC.
10644         * lib/stat.c: Include pathmax.h.
10645         * modules/stat (Depends-on): Add pathmax.
10646
10647         pathmax: Support for native Windows.
10648         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
10649
10650 2011-09-12  Bruno Haible  <bruno@clisp.org>
10651
10652         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
10653         * lib/dirent.in.h (struct dirent): New type.
10654         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
10655         DT_WHT): New macros.
10656         (DIR): New type.
10657         (opendir, closedir): Declare only if the module 'opendir' is enabled.
10658         (readdir, rewinddir): New declarations.
10659         * lib/dirent-private.h: New file.
10660         * lib/opendir.c: New file.
10661         * lib/readdir.c: New file.
10662         * lib/rewinddir.c: New file.
10663         * lib/closedir.c: New file.
10664         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
10665         * m4/opendir.m4: New file.
10666         * m4/readdir.m4: New file.
10667         * m4/rewinddir.m4: New file.
10668         * m4/closedir.m4: New file.
10669         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
10670         REPLACE_CLOSEDIR here.
10671         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
10672         readdir, rewinddir are declared.
10673         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
10674         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
10675         HAVE_REWINDDIR, HAVE_CLOSEDIR.
10676         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
10677         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
10678         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
10679         * modules/opendir: New file.
10680         * modules/readdir: New file.
10681         * modules/rewinddir: New file.
10682         * modules/closedir: New file.
10683         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
10684         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
10685         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
10686         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
10687         * NEWS: Mention the 'fchdir' change.
10688
10689 2011-09-11  Bruno Haible  <bruno@clisp.org>
10690
10691         asm-underscore.m4: Support for MSVC.
10692         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
10693         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
10694
10695 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
10696
10697         Doc about crypt functions.
10698         * doc/posix-functions/crypt.texi: Expand range of glibc versions
10699         needing for _GNU_SOURCE to get crypt.
10700         * doc/posix-functions/encrypt.texi: Likewise.
10701         * doc/posix-functions/setkey.texi: Likewise.
10702
10703 2011-09-11  Bruno Haible  <bruno@clisp.org>
10704
10705         doc: Update regarding MSVC 9.
10706         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
10707         tested".
10708         * doc/posix-functions/*.texi: Update with info about MSVC 9.
10709         * doc/posix-headers/*.texi: Likewise.
10710         * doc/pastposix-functions/*.texi: Likewise.
10711         * doc/glibc-functions/*.texi: Likewise.
10712         * doc/glibc-headers/*.texi: Likewise.
10713
10714 2011-09-11  Bruno Haible  <bruno@clisp.org>
10715
10716         unistd et al.: Don't assume <unistd.h> exists.
10717         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
10718         does not exist.
10719         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
10720         exist. But include <stdlib.h>.
10721         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
10722         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
10723         symlink() does not exist.
10724         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
10725         include <io.h> instead.
10726         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
10727         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
10728         include <direct.h> instead.
10729         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10730         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10731         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
10732         <io.h> instead.
10733         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
10734         correctly if the system does not have hard links.
10735         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
10736         <direct.h> instead.
10737         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
10738         it when looking for function declarations.
10739         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
10740         <direct.h> and <io.h> instead.
10741         * doc/posix-headers/unistd.texi: More details about MSVC problem.
10742
10743 2011-09-11  Bruno Haible  <bruno@clisp.org>
10744
10745         strcase: Support for MSVC.
10746         * modules/strcase (Status, Notice): Remove obsoletion mark.
10747         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
10748         * doc/posix-functions/strncasecmp.texi: Likewise.
10749
10750         strings: Don't assume <strings.h> exists.
10751         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
10752         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
10753         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
10754         * doc/posix-headers/strings.texi: Mention the MSVC problem.
10755
10756 2011-09-11  Bruno Haible  <bruno@clisp.org>
10757
10758         dirent: Don't assume <dirent.h> exists.
10759         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
10760         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
10761         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
10762         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
10763
10764 2011-09-11  Bruno Haible  <bruno@clisp.org>
10765
10766         Fix wint_t on MSVC.
10767         * lib/wchar.in.h (wint_t): On MSVC, override it.
10768         * lib/wctype.in.h (wint_t): Likewise.
10769         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
10770         MSVC.
10771         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
10772         * doc/posix-headers/wctype.texi: Likewise.
10773
10774 2011-09-11  Bruno Haible  <bruno@clisp.org>
10775
10776         sys_types: Fix typo.
10777         * lib/sys_types.in.h: Fix typo in comment.
10778         Reported by Paul Eggert.
10779
10780         Support for MSVC compiler: Ensure size_t gets defined.
10781         * modules/strings (Depends-on): Add 'sys_types'.
10782         * modules/sys_uio (Depends-on): Likewise.
10783         * lib/sys_uio.in.h: Update comment.
10784
10785         C++ tests for module 'sys_types'.
10786         * modules/sys_types-c++-tests: New file.
10787         * tests/test-sys_types-c++.cc: New file.
10788
10789         Tests for module 'sys_types'.
10790         * modules/sys_types-tests: New file.
10791         * tests/test-sys_types.c: New file.
10792
10793         New module 'sys_types'.
10794         * lib/sys_types.in.h: New file.
10795         * m4/sys_types_h.m4: New file.
10796         * modules/sys_types: New file.
10797         * doc/posix-headers/sys_types.texi: Mention the new module and the
10798         size_t problem on MSVC 9.
10799
10800 2011-09-11  Bruno Haible  <bruno@clisp.org>
10801
10802         Support for MSVC compiler: Avoid division by a literal 0.
10803         * lib/math.in.h (NAN): Define through a function call also on MSVC.
10804         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
10805         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
10806         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
10807         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
10808         * tests/infinity.h: New file.
10809         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
10810         on MSVC.
10811         * tests/test-ceilf1.c: Include infinity.h.
10812         (main): Use Infinityf.
10813         * tests/test-ceil1.c: Include infinity.h.
10814         (main): Use Infinityd.
10815         * tests/test-ceill.c: Include infinity.h.
10816         (main): Use Infinityl.
10817         * tests/test-dprintf-posix.c: Include infinity.h.
10818         (test_function): Use Infinityd.
10819         * tests/test-floorf1.c: Include infinity.h.
10820         (main): Use Infinityf.
10821         * tests/test-floor1.c: Include infinity.h.
10822         (main): Use Infinityd.
10823         * tests/test-floorl.c: Include infinity.h.
10824         (main): Use Infinityl.
10825         * tests/test-fprintf-posix.c: Include infinity.h.
10826         (test_function): Use Infinityd.
10827         * tests/test-frexp.c: Include infinity.h.
10828         (main): Use Infinityd.
10829         * tests/test-frexpl.c: Include infinity.h.
10830         (main): Use Infinityl.
10831         * tests/test-isfinite.c: Include infinity.h.
10832         (test_isfinitef): Use Infinityf.
10833         (test_isfinited): Use Infinityd.
10834         (test_isfinitel): Use Infinityl.
10835         * tests/test-isinf.c: Include infinity.h.
10836         (test_isinff): Use Infinityf.
10837         (test_isinfd): Use Infinityd.
10838         (test_isinfl): Use Infinityl.
10839         * tests/test-isnan.c: Include infinity.h.
10840         (test_float): Use Infinityf.
10841         (test_double): Use Infinityd.
10842         (test_long_double): Use Infinityl.
10843         * tests/test-isnanf.h: Include infinity.h.
10844         (main): Use Infinityf.
10845         * tests/test-isnand.h: Include infinity.h.
10846         (main): Use Infinityd.
10847         * tests/test-isnanl.h: Include infinity.h.
10848         (main): Use Infinityl.
10849         * tests/test-ldexpl.c: Include infinity.h.
10850         (main): Use Infinityl.
10851         * tests/test-printf-posix.h: Include infinity.h.
10852         (test_function): Use Infinityd.
10853         * tests/test-roundf1.c: Include infinity.h.
10854         (main): Use Infinityf.
10855         * tests/test-round1.c: Include infinity.h.
10856         (main): Use Infinityd.
10857         * tests/test-roundl.c: Include infinity.h.
10858         (main): Use Infinityl.
10859         * tests/test-signbit.c: Include infinity.h.
10860         (test_signbitf): Use Infinityf.
10861         (test_signbitd): Use Infinityd.
10862         (test_signbitl): Use Infinityl.
10863         * tests/test-snprintf-posix.h: Include infinity.h.
10864         (test_function): Use Infinityd, Infinityl.
10865         * tests/test-sprintf-posix.h: Include infinity.h.
10866         (test_function): Use Infinityd, Infinityl.
10867         * tests/test-truncf1.c: Include infinity.h.
10868         (main): Use Infinityf.
10869         * tests/test-trunc1.c: Include infinity.h.
10870         (main): Use Infinityd.
10871         * tests/test-truncl.c: Include infinity.h.
10872         (main): Use Infinityl.
10873         * tests/test-vasnprintf-posix.c: Include infinity.h.
10874         (test_function): Use Infinityd, Infinityl.
10875         * tests/test-vasprintf-posix.c: Include infinity.h.
10876         (test_function): Use Infinityd, Infinityl.
10877         * modules/ceilf-tests (Files): Add tests/infinity.h.
10878         * modules/ceil-tests (Files): Likewise.
10879         * modules/ceill-tests (Files): Likewise.
10880         * modules/dprintf-posix-tests (Files): Likewise.
10881         * modules/floorf-tests (Files): Likewise.
10882         * modules/floor-tests (Files): Likewise.
10883         * modules/floorl-tests (Files): Likewise.
10884         * modules/fprintf-posix-tests (Files): Likewise.
10885         * modules/frexp-tests (Files): Likewise.
10886         * modules/frexp-nolibm-tests (Files): Likewise.
10887         * modules/frexpl-tests (Files): Likewise.
10888         * modules/frexpl-nolibm-tests (Files): Likewise.
10889         * modules/isfinite-tests (Files): Likewise.
10890         * modules/isinf-tests (Files): Likewise.
10891         * modules/isnan-tests (Files): Likewise.
10892         * modules/isnanf-tests (Files): Likewise.
10893         * modules/isnanf-nolibm-tests (Files): Likewise.
10894         * modules/isnand-tests (Files): Likewise.
10895         * modules/isnand-nolibm-tests (Files): Likewise.
10896         * modules/isnanl-tests (Files): Likewise.
10897         * modules/isnanl-nolibm-tests (Files): Likewise.
10898         * modules/ldexpl-tests (Files): Likewise.
10899         * modules/printf-posix-tests (Files): Likewise.
10900         * modules/roundf-tests (Files): Likewise.
10901         * modules/round-tests (Files): Likewise.
10902         * modules/roundl-tests (Files): Likewise.
10903         * modules/signbit-tests (Files): Likewise.
10904         * modules/snprintf-posix-tests (Files): Likewise.
10905         * modules/sprintf-posix-tests (Files): Likewise.
10906         * modules/truncf-tests (Files): Likewise.
10907         * modules/trunc-tests (Files): Likewise.
10908         * modules/truncl-tests (Files): Likewise.
10909         * modules/vasnprintf-posix-tests (Files): Likewise.
10910         * modules/vasprintf-posix-tests (Files): Likewise.
10911         * modules/vdprintf-posix-tests (Files): Likewise.
10912         * modules/vfprintf-posix-tests (Files): Likewise.
10913         * modules/vprintf-posix-tests (Files): Likewise.
10914         * modules/vsnprintf-posix-tests (Files): Likewise.
10915         * modules/vsprintf-posix-tests (Files): Likewise.
10916         * modules/xprintf-posix-tests (Files): Likewise.
10917
10918 2011-09-11  Bruno Haible  <bruno@clisp.org>
10919
10920         Ensure pid_t gets defined.
10921         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
10922         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
10923         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
10924         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
10925         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
10926         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
10927         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
10928         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
10929         * tests/test-fcntl-h.c: Check that pid_t is defined.
10930         * tests/test-sched.c: Likewise.
10931         * tests/test-termios.c: Likewise.
10932         * tests/test-time.c: Likewise.
10933         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
10934         * doc/posix-headers/signal.texi: Likewise.
10935         * doc/posix-headers/sys_types.texi: Likewise.
10936         * doc/posix-headers/time.texi: Likewise.
10937
10938 2011-09-11  Bruno Haible  <bruno@clisp.org>
10939
10940         acl: Fix compilation on Solaris 10 (older version).
10941         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
10942         of ACE_EVERYONE.
10943         * lib/set-mode-acl.c (qset_acl): Likewise.
10944         Reported by Christian Jullien <eligis@orange.fr>.
10945
10946 2011-09-10  Bruno Haible  <bruno@clisp.org>
10947
10948         iconv, unsetenv: Add support for MSVC compiler.
10949         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
10950         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
10951
10952 2011-09-10  Bruno Haible  <bruno@clisp.org>
10953
10954         *printf: Add support for MSVC compiler.
10955         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
10956         handles the exception caused by the %n directive. When cross-compiling,
10957         guess no on native Windows.
10958         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10959         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
10960         emulate it through vsnprintf.
10961         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
10962         * doc/posix-functions/dprintf.texi: Update documentation regarding
10963         MSVC 9.
10964         * doc/posix-functions/fprintf.texi: Likewise.
10965         * doc/posix-functions/printf.texi: Likewise.
10966         * doc/posix-functions/snprintf.texi: Likewise.
10967         * doc/posix-functions/sprintf.texi: Likewise.
10968         * doc/posix-functions/swprintf.texi: Likewise.
10969         * doc/posix-functions/vdprintf.texi: Likewise.
10970         * doc/posix-functions/vfprintf.texi: Likewise.
10971         * doc/posix-functions/vprintf.texi: Likewise.
10972         * doc/posix-functions/vsnprintf.texi: Likewise.
10973         * doc/posix-functions/vsprintf.texi: Likewise.
10974         * doc/glibc-functions/asprintf.texi: Likewise.
10975         * doc/glibc-functions/obstack_printf.texi: Likewise.
10976         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
10977         * doc/glibc-functions/vasprintf.texi: Likewise.
10978
10979 2011-09-10  Bruno Haible  <bruno@clisp.org>
10980
10981         nocrash: Add support for native Windows.
10982         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
10983
10984 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
10985             Bruno Haible  <bruno@clisp.org>
10986
10987         absolute-header, include-next: Add support for MSVC compiler.
10988         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
10989         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
10990         directory separator in #line directives.
10991         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
10992         recognize also backslash as directory separator in #line directives.
10993
10994 2011-09-08  Jim Meyering  <meyering@redhat.com>
10995
10996         maint.mk: mark the post-release commit log with "maint: " prefix
10997         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
10998         one-line commit-log summary.
10999
11000 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11001             Bruno Haible  <bruno@clisp.org>
11002
11003         Doc about crypt functions.
11004         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11005         systems.
11006         * doc/posix-functions/encrypt.texi: Likewise.
11007         * doc/posix-functions/setkey.texi: Likewise.
11008
11009 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11010
11011         * lib/gc.h: Fix copyright header.
11012
11013 2011-09-07  Bruno Haible  <bruno@clisp.org>
11014
11015         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11016         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11017         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11018
11019 2011-09-07  Bruno Haible  <bruno@clisp.org>
11020
11021         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11022         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11023         * lib/freopen.c: Likewise.
11024         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11025         * lib/lstat.c: Likewise.
11026         * lib/stat.c: Likewise.
11027         * lib/open.c: Use different syntax for include of <fcntl.h>.
11028         * lib/openat.c: Include fcntl.h again, explicitly.
11029
11030 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11031
11032         parse-datetime: document the newly accepted format
11033         * doc/parse-datetime.texi (Combined date and time of day items):
11034         New section.
11035
11036 2011-09-06  Bruno Haible  <bruno@clisp.org>
11037
11038         acl: Fix a test failure on newer Solaris 10 with ZFS.
11039         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11040         ENOSYS as no ACL.
11041         Reported by Jim Meyering.
11042
11043 2011-09-06  Bruno Haible  <bruno@clisp.org>
11044
11045         acl: Update for AIX >= 5.3 with NFS.
11046         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11047         ENOSYS as no ACL.
11048
11049         acl: Fix a test failure on AIX >= 5.3 with NFS.
11050         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11051         as no ACL.
11052
11053 2011-09-06  Bruno Haible  <bruno@clisp.org>
11054
11055         acl: Fix a test failure on IRIX 6.5 with NFS.
11056         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11057         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11058         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11059         * lib/copy-acl.c (qcopy_acl): Likewise.
11060
11061 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11062
11063         openat: port to AIX 7.1 with large files
11064         AIX 7.1 does a "#define openat open64at" if large files are in use,
11065         so we can't simply #undef openat.  Use the orig_openat trick (similar
11066         to orig_open in lib/open.c) to work around the problem.  Problem
11067         reported by Kevin Brott for GNU tar, in the thread containing
11068         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11069         * lib/openat.c (__need_system_fcntl_h): Define first.
11070         Include <fcntl.h> and <sys/types.h> before undefining.
11071         (orig_openat) [HAVE_OPENAT]: New inline function.
11072         (openat) [HAVE_OPENAT]: Do not undef.
11073         (rpl_openat): Use orig_openat, not openat.
11074
11075 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11076             Bruno Haible  <bruno@clisp.org>
11077
11078         acl: Avoid errors on NonStop Kernel.
11079         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11080         ENOTSUP errors.
11081
11082 2011-09-05  Bruno Haible  <bruno@clisp.org>
11083
11084         acl: Clean up Solaris code.
11085         * lib/acl-internal.h: Remove no-op #if.
11086         * lib/file-has-acl.c: Likewise.
11087         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11088         * lib/copy-acl.c (qcopy_acl): Likewise.
11089
11090 2011-09-05  Bruno Haible  <bruno@clisp.org>
11091
11092         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11093         binaries built on the original Solaris 10.
11094         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11095         trivial.
11096
11097 2011-09-05  Bruno Haible  <bruno@clisp.org>
11098
11099         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11100         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11101         10.
11102         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11103         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11104         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11105         instead of acl_get, facl_get, acl_set, facl_set.
11106
11107 2011-09-05  Bruno Haible  <bruno@clisp.org>
11108
11109         copy-file: Try unit tests on more file systems.
11110         * tests/test-copy-file-1.sh: New file.
11111         * tests/test-copy-file-2.sh: New file.
11112         * modules/copy-file-tests (Files): Add them.
11113         (Makefile.am): Add them to TESTS.
11114
11115         acl: Try unit tests on more file systems.
11116         * tests/test-file-has-acl-1.sh: New file.
11117         * tests/test-file-has-acl-2.sh: New file.
11118         * tests/test-set-mode-acl-1.sh: New file.
11119         * tests/test-set-mode-acl-2.sh: New file.
11120         * tests/test-copy-acl-1.sh: New file.
11121         * tests/test-copy-acl-2.sh: New file.
11122         * modules/acl-tests (Files): Add them.
11123         (Makefile.am): Add them to TESTS.
11124
11125 2011-09-04  Bruno Haible  <bruno@clisp.org>
11126
11127         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11128         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11129         10.
11130         (OLD_ALLOW, OLD_DENY): New macros.
11131         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11132         ACE_ACCESS_ALLOWED_ACE_TYPE.
11133         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11134         ACE_ACCESS_DENIED_ACE_TYPE.
11135         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11136         (NEW_ACE_EXECUTE): Fix value.
11137         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11138         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11139         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11140         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11141         NEW_ACE_SYNCHRONIZE): New macros.
11142         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11143         instead of acl_fromtext, acl_set, facl_set.
11144         Fixes a coreutils/tests/cp/perm failure.
11145
11146 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11147
11148         openat: test for fstatat (..., 0) bug
11149         Further testing with tar suggests that fstatat (..., 0)
11150         does not work in general, on AIX 7.1; see
11151         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11152         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11153         replacement fstatat (which is what older AIX releases were using
11154         anyway).
11155         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11156         use is now changed to orig_fstatat.  This was probably the right
11157         thing to do anyway.
11158         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11159         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11160         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11161         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11162         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11163         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11164         if the bug is found.
11165
11166         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11167         This tests for another fstatat bug on AIX 7.1:
11168         fstatat (AT_FDCWD, ..., 0) does not work.  See
11169         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11170         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
11171         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
11172         (rpl_fstatat): Adjust so that it works around either (or both)
11173         bugs if present.
11174         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
11175
11176 2011-09-03  Karl Berry  <karl@gnu.org>
11177
11178         * doc/regex.texi (Character Class Operators): Avoid literal ":"
11179         in index entries.
11180
11181 2011-09-02  Bruno Haible  <bruno@clisp.org>
11182
11183         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
11184         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
11185         values of AR, ARFLAGS, RANLIB.
11186         Reported by John W. Eaton <jwe@gnu.org> for Octave.
11187
11188 2011-09-02  Bruno Haible  <bruno@clisp.org>
11189
11190         Find 'ar' program that fits with --host argument.
11191         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
11192
11193 2011-09-02  Bruno Haible  <bruno@clisp.org>
11194
11195         tests: init.sh: Support any non-GNU diff.
11196         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
11197         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
11198         Solaris 8.
11199
11200 2011-09-02  Bruno Haible  <bruno@clisp.org>
11201
11202         tests: init.sh: work also with any non-GNU diff that supports -u
11203         * tests/init.sh: Relax check for diff -u support.
11204         Rather than checking for GNU diff via --version, simply check
11205         for support for -u itself.  Useful at least on OpenBSD 4.9,
11206         AIX 7.1, IRIX 6.5, and Solaris 10.
11207
11208 2011-09-01  Bruno Haible  <bruno@clisp.org>
11209
11210         strtoimax, strtoumax: Document problem on HP-UX 11.
11211         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
11212         * doc/posix-functions/strtoumax.texi: Likewise.
11213
11214 2011-09-01  Bruno Haible  <bruno@clisp.org>
11215
11216         strtoumax: Avoid link error on OSF/1 with DTK cc.
11217         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
11218         defined as a function.
11219         * modules/strtoumax (Depends-on, configure.ac): Test only whether
11220         strtoumax is defined, not whether it is declared.
11221
11222 2011-09-01  Bruno Haible  <bruno@clisp.org>
11223
11224         strtoimax: Avoid link error on OSF/1 with DTK cc.
11225         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
11226         defined as a function.
11227         * modules/strtoimax (Depends-on, configure.ac): Test only whether
11228         strtoimax is defined, not whether it is declared.
11229
11230 2011-09-01  Bruno Haible  <bruno@clisp.org>
11231
11232         imaxdiv: Avoid link error on OSF/1 with DTK cc.
11233         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
11234         as a function.
11235         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
11236         whether it is declared.
11237
11238 2011-09-01  Bruno Haible  <bruno@clisp.org>
11239
11240         imaxabs: Avoid link error on OSF/1 with DTK cc.
11241         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
11242         as a function.
11243         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
11244         whether it is declared.
11245
11246 2011-09-01  Bruno Haible  <bruno@clisp.org>
11247
11248         Tests for module 'strtoumax'.
11249         * modules/strtoumax-tests: New file.
11250         * tests/test-strtoumax.c: New file.
11251
11252         Tests for module 'strtoimax'.
11253         * modules/strtoimax-tests: New file.
11254         * tests/test-strtoimax.c: New file.
11255
11256         Tests for module 'imaxdiv'.
11257         * modules/imaxdiv-tests: New file.
11258         * tests/test-imaxdiv.c: New file.
11259
11260         Tests for module 'imaxabs'.
11261         * modules/imaxabs-tests: New file.
11262         * tests/test-imaxabs.c: New file.
11263
11264 2011-09-01  Bruno Haible  <bruno@clisp.org>
11265
11266         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
11267         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
11268         pthread_create.
11269
11270 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11271
11272         openat: work around AIX 7.1 fstatat issue
11273         This should fix the problem that was not properly fixed
11274         in the previous change, dated 2011-08-30.
11275         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
11276         __need_system_stat_h defined.
11277         (orig_fstatat) [HAVE_FSTATAT]: New function.
11278         (rpl_fstatat): Go back to the old way of doing things,
11279         except call orig_fstatat instead of fstatat.
11280         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
11281         Remove unnecessary check whether fstatat fills in st_size etc.
11282
11283 2011-09-01  Bruno Haible  <bruno@clisp.org>
11284
11285         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
11286         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
11287         just include the system's header.
11288
11289 2011-08-31  Jim Meyering  <meyering@redhat.com>
11290
11291         tests: avoid spurious assertion failure in test-float.c on ppc64
11292         * tests/test-float.c (test_long_double): Comment out an assertion,
11293         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
11294         with gcc-4.4.4.
11295
11296         maint: indent with spaces, not TABs
11297         I need to get in the habit of running gnulib's "make check".
11298         Both of these would have been caught.
11299         * m4/largefile.m4: Indent with spaces, not TABs.
11300         * lib/parse-datetime.y (iso_8601_time): Likewise.
11301         Spotted by Pádraig Brady.
11302
11303         test-parse-datetime.c: accommodate a relatively strict gcc warning
11304         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
11305         to avoid a warning from gcc's -Werror=missing-declarations.
11306         Insert a few spaces-before-funcall-parenthesis.
11307
11308 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
11309
11310         parse-datetime: accept ISO 8601 date and time rep with "T" separator
11311         The parser now accepts ISO 8601 date-time strings with "T" as the
11312         separator.  It has long parsed dates like "2004-02-29 16:21:42"
11313         with a space between the date and time strings.  Now it also parses
11314         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
11315         variants like "2004-02-29T16:21:42.333-07:00"
11316         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
11317         of day representation using the 'T' separator character.
11318         * doc/parse-datetime.texi (General date syntax): replace use of
11319         deprecated --iso-8601 option with --rfc-3339 in example of date
11320         command output formats that can be parsed.
11321         * tests/test-parse-datetime.c (tm_diff): New function, taken from
11322         lib/parse-datetime.y.
11323         (gmt_offset): New function.
11324         (main): Add additional test cases to validate ISO8601 extended
11325         date and time of day parsing.
11326
11327 2011-08-31  Bruno Haible  <bruno@clisp.org>
11328
11329         freopen: Documentation.
11330         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
11331         name.
11332         Reported by Claudio Bley <claudio.bley@gmail.com>.
11333
11334 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
11335
11336         freopen: Don't crash if the filename argument is NULL.
11337         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
11338         NULL.
11339
11340 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11341
11342         openat: work around AIX 7.1 fstatat bug
11343         Problem reported by Kevin Brott for GNU tar, in the thread containing
11344         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
11345         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
11346         FSTATAT_ST_SIZE_ETC_BROKEN.
11347         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
11348         rpl_fstatat.
11349         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
11350         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
11351         AC_CHECK_FUNCS_ONCE for fstatat.
11352         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
11353         fchmodat, mkdirat, openat and unlinkat.
11354
11355 2011-08-30  Bruno Haible  <bruno@clisp.org>
11356
11357         Avoid endless recursions if config.h includes some header files.
11358         * lib/fopen.c (__need_FILE): Define already before including config.h.
11359         * lib/freopen.c (__need_FILE): Likewise.
11360         * lib/open.c (__need_system_fcntl_h): Likewise.
11361         * lib/stat.c (__need_system_sys_stat_h): Likewise.
11362         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
11363         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11364
11365 2011-08-25  Karl Berry  <karl@gnu.org>
11366
11367         * config/srclist.txt (ylwrap): new try.
11368         * build-aux/ylwrap: new file.
11369
11370 2011-08-23  Bruno Haible  <bruno@clisp.org>
11371
11372         tmpdir: Use a good default directory on native Windows.
11373         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
11374         (P_tmpdir): Default to _P_tmpdir on native Windows.
11375         (path_search): On native Windows, try the value returned by GetTempPath
11376         before trying P_tmpdir.
11377         * modules/tmpdir (Depends-on): Add pathmax.
11378         Suggested by John Darrington <john@darrington.wattle.id.au>.
11379
11380 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
11381
11382         doc: fix typo in README-release
11383         * top/README-release: Capitalize first word of a sentence.
11384
11385 2011-08-19  Jim Meyering  <meyering@redhat.com>
11386
11387         fts: do not exhaust memory when processing million-entry directories
11388         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
11389         directory would require about 256*N bytes of memory.  Thus, it was
11390         easy to construct a directory too large to be processed by any of
11391         those tools.  With this change, fts' maximum memory utilization is
11392         now limited to around 30MB.
11393         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
11394         (fts_read): When we've processed the final entry (i.e., when
11395         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
11396         using the parent entry to read any remaining entries.  Dispatch
11397         depending on what fts_build returns:
11398         - NULL+stop, aka failure: stop
11399         - NULL otherwise: move up in the dir hierarchy
11400         - non-NULL: handle this new entry
11401         (fts_build): Declare and use new local, continue_readdir.
11402         Prepare to be called from fts_read, when the entries
11403         from a partially-read directory have just been exhausted.
11404         In that case, we'll skip the opendir and instead use the parent's
11405         fts_dirp and derive dir_fd from that.
11406         Finally, in the readdir loop, if we read max_entries entries,
11407         exit the loop ensuring *not* to call closedir.  This is required
11408         so that fts_dirp can be reused on a subsequent call.
11409         Prompted by Ben England's report of memory exhaustion in find
11410         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
11411
11412         maint: fts: move decl of `dp' down into while loop; split a long line
11413         * lib/fts.c (fts_build): No semantic change.
11414
11415         fts: add/use new struct member, fts_dirp
11416         We are about to use this to manage any directory with
11417         too many entries to read all of them into memory at once.
11418         To do that, we'll need to save the DIR* pointer in each
11419         affected FTSENT struct.
11420         * lib/fts_.h: Include <dirent.h>.
11421         (struct FTSENT) [fts_dirp]: New member.
11422         * lib/fts.c (closedir_and_clear): Define.
11423         Use it in place of closedir so that we are sure to
11424         clear the new fts_dirp member when done with it.
11425         (fts_alloc): Initialize the new member.
11426         (fts_lfree): Free, if needed.
11427
11428         maint: fts: give __opendir2 a new parameter and rename
11429         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
11430         than surreptitiously using sole caller's "dir_fd".
11431         (fts_opendir): Rename from __opendir2.
11432
11433         maint: fts.c: remove __opendir2's now-unused parameter, oflag
11434         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
11435
11436         maint: fts.c: correct off-by-one indentation
11437         * lib/fts.c (fts_build): Correct indentation, change style
11438         of a couple of block comments, and bracing style.
11439
11440         maint: fts.c: move __opendir2 #define "up" out of function body
11441         * lib/fts.c (__opendir2): Move "up".  No semantic change.
11442
11443         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
11444         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
11445         out for a long time and besides was useful only on BSD systems.
11446
11447 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11448
11449         regex: port to Stratus OpenVOS
11450         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
11451         define to empty, rather than attempting nonportable optimizations.
11452         Problem reported by Paul Green in:
11453         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
11454         and fix suggested by Eric Blake in:
11455         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
11456
11457 2011-08-17  Eric Blake  <eblake@redhat.com>
11458
11459         getcwd: fix test failures on mingw
11460         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
11461         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
11462         test if long directory cannot be created, and allow mingw errno.
11463
11464         getcwd-lgpl: fix m4 to match relaxed test for BSD
11465         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
11466         (gl_FUNC_GETCWD_SIGNATURE): New macro.
11467         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
11468         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
11469         signature problem.
11470
11471         getcwd: fix compilation on mingw64
11472         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
11473         getcwd.
11474         Reported by Marc-André Lureau.
11475
11476         pipe2: silence compiler warning
11477         * lib/pipe2.c (pipe2): Hide label if it is not used.
11478
11479 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
11480
11481         relocatable-prog: fix link error
11482         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
11483         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
11484         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
11485         into modules/relocatable-lib without noticing that
11486         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
11487         also needs to build relocatable.c.
11488
11489 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11490
11491         getaddrinfo: fix sh typo in gai_strerrorA decl checking
11492         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
11493         shell code: it contained a 'break' that was not in a loop.
11494         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
11495         via a shell-language loop; this may have been true in old Autoconf
11496         versions, but it's not true in Autoconf 2.68.  I found this bug
11497         when testing coreutils git on Solaris 8, whose shell complains
11498         about the syntax error.
11499
11500 2011-08-12  Simon Josefsson  <simon@josefsson.org>
11501
11502         * lib/base64.c: Fix comment to reference RFC 4648.
11503         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
11504         <gvtulder@gmail.com>.
11505
11506 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11507
11508         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
11509
11510         po/Makefile.in.in: fix make -q problem
11511         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
11512         rule, since there's no file named 'check-macro-version' and its
11513         use as a file breaks make -q.
11514         (all): Don't depend on check-macro-version.
11515         (CHECK_MACRO_VERSION): New macro.
11516         (stamp-po): Use it.
11517
11518         configmake: fix make -q problem
11519         * modules/configmake (configmake.h): Update configmake.h's time stamp
11520         even if the file does not change.  Otherwise, 'make -q' fails.
11521         Problem reported by Simon Josefsson in
11522         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
11523
11524 2011-08-11  Jim Meyering  <meyering@redhat.com>
11525
11526         git-version-gen: correct the advice in a comment
11527         * build-aux/git-version-gen: Correct comment.
11528         Don't recommend to list .tarball-version in .gitignore.
11529
11530 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11531
11532         base64: fix off-by-one buffer size bug
11533         Problem and (trivial) fix reported by Gijs van Tulder in
11534         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
11535         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
11536         * tests/test-base64.c (main): Catch the bug.
11537
11538 2011-08-10  Eric Blake  <eblake@redhat.com>
11539
11540         closein: correct comments
11541         * lib/closein.c (close_stdin): Improve comments.
11542
11543 2011-08-09  Bruno Haible  <bruno@clisp.org>
11544
11545         More tests for 'fseeko'.
11546         * tests/test-fseeko3.c: New file, from Eric Blake.
11547         * tests/test-fseeko3.sh: New file.
11548         * modules/fseeko-tests (Files): Add them.
11549         (TESTS): Add test-fseeko3.sh.
11550         (check_PROGRAMS): Add test-fseeko3.
11551
11552 2011-08-09  Eric Blake  <eblake@redhat.com>
11553
11554         fseeko: remove unneeded hack
11555         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
11556
11557         fseeko: fix bug on glibc
11558         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
11559         Reported by John W. Eaton.
11560
11561 2011-08-08  Bruno Haible  <bruno@clisp.org>
11562
11563         unictype/base: Fix interoperability with preinstalled libunistring.
11564         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
11565         Reported by Simon Josefsson.
11566
11567 2011-08-08  Bruno Haible  <bruno@clisp.org>
11568
11569         iswblank: Detect declaration correctly.
11570         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
11571         AC_CHECK_DECLS invocation.
11572
11573 2011-08-08  Bruno Haible  <bruno@clisp.org>
11574
11575         tcgetsid: Detect declaration correctly.
11576         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
11577         AC_CHECK_DECLS invocation.
11578         Reported by Simon Josefsson.
11579
11580 2011-08-08  Eric Blake  <eblake@redhat.com>
11581
11582         largefile: fix typo that regressed large file support
11583         * modules/largefile (configure.ac-early): Fix section name.
11584
11585 2011-08-06  Karl Berry  <karl@gnu.org>
11586
11587         * MODULES.html.sh (func_all_files): _Noreturn is no longer
11588         a separate module.
11589
11590 2011-08-05  Simon Josefsson  <simon@josefsson.org>
11591
11592         openat: Fix warnings and commens when building unlinkat.c on Hurd.
11593         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
11594         get prototype for free.
11595
11596 2011-08-04  Bruno Haible  <bruno@clisp.org>
11597
11598         Tests for module 'pathmax'.
11599         * modules/pathmax-tests: New file.
11600         * tests/test-pathmax.c: New file.
11601
11602         canonicalize-lgpl: Support larger filenames on the Hurd.
11603         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
11604         Reported by Paul Eggert.
11605
11606         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
11607         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
11608         * lib/chdir-long.h: Include pathmax.h.
11609         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
11610         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
11611         (PATH_MAX): Remove code that is done by pathmax.h.
11612         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
11613         * lib/tmpfile.c: Add a comment.
11614         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
11615         * modules/chdir-long (Depends-on): Add pathmax.
11616         * modules/getcwd (Depends-on): Add pathmax.
11617         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
11618         is not defined.
11619         * doc/posix-headers/limits.texi: Mention the pathmax module.
11620         * NEWS: Mention the change.
11621
11622 2011-08-02  Bruno Haible  <bruno@clisp.org>
11623
11624         pthread_sigmask: Actually use results of gl_THREADLIB.
11625         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
11626         gl_THREADLIB, not gl_[]THREADLIB.
11627         Reported by Eric Blake.
11628
11629 2011-08-02  Jim Meyering  <meyering@redhat.com>
11630
11631         maint.mk: relax the default _gl_TS_function_match regexp
11632         * top/maint.mk (_gl_TS_function_match): Don't require at least one
11633         space between function name and "(" in an "extern" declaration.
11634         That would fail to match a decl with no space there: extern void foo();
11635
11636 2011-07-31  Iain Nicol  <iain@thenicols.net>
11637
11638         git-version-gen: document that EXTRA_DIST must include .version
11639         * build-aux/git-version-gen: In the how-to-use comment, document
11640         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
11641         will fail when run from an unpacked distribution tarball.
11642
11643 2011-08-01  Bruno Haible  <bruno@clisp.org>
11644
11645         wctype-h: Fix last change.
11646         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
11647         REPLACE_TOWLOWER to 0.
11648         Reported by Sam Steingold <sds@gnu.org>.
11649
11650 2011-07-31  Bruno Haible  <bruno@clisp.org>
11651
11652         frexpl: Update autoconf test.
11653         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
11654         according to changes of 2011-06-20.
11655
11656 2011-07-31  Bruno Haible  <bruno@clisp.org>
11657
11658         sys_utsname: Add support for Minix.
11659         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
11660         <sys/utsname.h>.
11661         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11662         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
11663
11664 2011-07-31  Bruno Haible  <bruno@clisp.org>
11665
11666         strings: Add support for Minix.
11667         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
11668         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
11669         * doc/posix-headers/strings.texi: Document the Minix problem.
11670
11671 2011-07-31  Bruno Haible  <bruno@clisp.org>
11672
11673         wctype-h: Add support for Minix.
11674         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
11675         REPLACE_TOWLOWER.
11676         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
11677         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
11678         REPLACE_ISWCNTRL.
11679
11680 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
11681
11682         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
11683         This is a performance improvement for 64-bit hosts: it causes the
11684         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
11685
11686 2011-07-31  Bruno Haible  <bruno@clisp.org>
11687
11688         stdioext: Add support for Minix.
11689         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
11690         * lib/fpurge.c (fpurge): Likewise.
11691         * lib/freadahead.c (freadahead): Likewise.
11692         * lib/freadable.c (freadable): Likewise.
11693         * lib/freading.c (freading): Likewise.
11694         * lib/freadptr.c (freadptr): Likewise.
11695         * lib/freadseek.c (freadptrinc): Likewise.
11696         * lib/fseeko.c (rpl_fseeko): Likewise.
11697         * lib/fseterr.c (fseterr): Likewise.
11698         * lib/fwritable.c (fwritable): Likewise.
11699         * lib/fwriting.c (fwriting): Likewise.
11700         * lib/fflush.c (clear_ungetc_buffer): Update comment.
11701         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
11702
11703 2011-07-31  Bruno Haible  <bruno@clisp.org>
11704
11705         errno: Port to Minix.
11706         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
11707         ECONNABORTED are defined.
11708         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
11709         GNULIB_defined_ECONNABORTED): New macros.
11710         * lib/strerror-override.h (strerror_override): Test also
11711         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
11712         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
11713         ECONNABORTED.
11714         * doc/posix-headers/errno.texi: Mention the Minix problem.
11715
11716 2011-07-31  Bruno Haible  <bruno@clisp.org>
11717
11718         Work around declaration collisions on Minix.
11719         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
11720         defined, set REPLACE_MBSINIT.
11721         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
11722         defined, set REPLACE_MBRTOWC.
11723         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
11724         set REPLACE_MBRLEN.
11725         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
11726         defined, set REPLACE_MBSRTOWCS.
11727         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
11728         defined, set REPLACE_WCRTOMB.
11729         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
11730         defined, set REPLACE_WCSRTOMBS.
11731
11732 2011-07-31  Bruno Haible  <bruno@clisp.org>
11733
11734         Add support for Minix with ACK compiler.
11735         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
11736         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
11737         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
11738
11739 2011-07-31  Bruno Haible  <bruno@clisp.org>
11740
11741         Documentation about Minix.
11742         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
11743         * doc/glibc-headers/*.texi: Likewise.
11744         * doc/posix-functions/*.texi: Likewise.
11745         * doc/glibc-functions/*.texi: Likewise.
11746
11747 2011-07-31  Bruno Haible  <bruno@clisp.org>
11748
11749         snippet/warn-on-use: Fix indentation.
11750         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
11751
11752 2011-07-25  Jim Meyering  <meyering@redhat.com>
11753
11754         tests: test-update-copyright.sh: remove unnecessary "rm" commands
11755         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
11756         commands.
11757
11758 2011-07-27  Jim Meyering  <meyering@redhat.com>
11759
11760         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
11761         * top/maint.mk (gl_extract_significant_defines_): Now that
11762         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
11763         gnulib/lib/signal.in.h, and now that we recommend to
11764         define-if-undefined those two symbols in application code,
11765         we must filter them out of the "significant" list.
11766         This avoids a "make syntax-check" failure in coreutils.
11767
11768 2011-07-26  Eric Blake  <eblake@redhat.com>
11769
11770         warnings: add comments about previous patch
11771         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
11772         * m4/include_next.m4: Likewise.
11773         * m4/warn-on-use.m4: Likewise.
11774         * m4/warnings.m4: Likewise, and simplify use.
11775         Suggested by Stefano Lattarini.
11776
11777         include-next, warnings: support older autoconf
11778         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
11779         AS_VAR_PUSHDEF in a way that works with older autoconf.
11780         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
11781         Reported by Daniel P. Berrange.
11782
11783 2011-07-25  Bruno Haible  <bruno@clisp.org>
11784
11785         fseek, ftell: Fix doc.
11786         * doc/posix-functions/fseek.texi: Reword statement about
11787         AC_SYS_LARGEFILE.
11788         * doc/posix-functions/ftell.texi: Likewise.
11789
11790 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11791             Bruno Haible  <bruno@clisp.org>
11792
11793         Add dependencies to the 'largefile' module.
11794         * modules/fopen (Depends-on): Add 'largefile'.
11795         * modules/freopen (Depends-on): Likewise.
11796         * modules/fseeko (Depends-on): Likewise.
11797         * modules/ftello (Depends-on): Likewise.
11798         * modules/glob (Depends-on): Likewise.
11799         * modules/lseek (Depends-on): Likewise.
11800         * modules/lstat (Depends-on): Likewise.
11801         * modules/mkostemp (Depends-on): Likewise.
11802         * modules/mkostemps (Depends-on): Likewise.
11803         * modules/mkstemp (Depends-on): Likewise.
11804         * modules/mkstemps (Depends-on): Likewise.
11805         * modules/open (Depends-on): Likewise.
11806         * modules/openat (Depends-on): Likewise.
11807         * modules/pread (Depends-on): Likewise.
11808         * modules/pwrite (Depends-on): Likewise.
11809         * modules/scandir (Depends-on): Likewise.
11810         * modules/stat (Depends-on): Likewise.
11811         * modules/tmpfile (Depends-on): Likewise.
11812         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
11813         since the containing module now depends on the largefile module.
11814         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
11815         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
11816         off_t is fixed by gnulib.
11817         * doc/posix-functions/freopen.texi: Likewise.
11818         * doc/posix-functions/fseeko.texi: Likewise.
11819         * doc/posix-functions/fstatat.texi: Likewise.
11820         * doc/posix-functions/ftello.texi: Likewise.
11821         * doc/posix-functions/glob.texi: Likewise.
11822         * doc/posix-functions/lseek.texi: Likewise.
11823         * doc/posix-functions/lstat.texi: Likewise.
11824         * doc/posix-functions/mkstemp.texi: Likewise.
11825         * doc/posix-functions/open.texi: Likewise.
11826         * doc/posix-functions/openat.texi: Likewise.
11827         * doc/posix-functions/pread.texi: Likewise.
11828         * doc/posix-functions/pwrite.texi: Likewise.
11829         * doc/posix-functions/scandir.texi: Likewise.
11830         * doc/posix-functions/stat.texi: Likewise.
11831         * doc/posix-functions/tmpfile.texi: Likewise.
11832         * doc/glibc-functions/mkostemp.texi: Likewise.
11833         * doc/glibc-functions/mkostemps.texi: Likewise.
11834         * doc/glibc-functions/mkstemps.texi: Likewise.
11835
11836 2011-07-25  Bruno Haible  <bruno@clisp.org>
11837
11838         fcntl: Move AC_LIBOBJ invocation to module description.
11839         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
11840         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
11841
11842         fcntl: Remove call-in from fchdir.m4.
11843         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
11844         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
11845
11846         dup3: Remove potential call-in from fchdir.m4.
11847         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
11848         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
11849
11850         dup2: Move AC_LIBOBJ invocation to module description.
11851         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
11852         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
11853         Don't invoke AC_LIBOBJ.
11854         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
11855
11856         dup2: Remove call-in from fchdir.m4.
11857         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
11858         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
11859
11860         fclose: Move AC_LIBOBJ invocation to module description.
11861         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
11862         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
11863         to 1.
11864         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
11865
11866         fclose: Remove call-in from close.m4.
11867         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
11868         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
11869
11870         close: Move AC_LIBOBJ invocation to module description.
11871         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
11872         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
11873         1.
11874         * modules/close (configure.ac): Invoke AC_LIBOBJ.
11875
11876         close: Remove call-in from fchdir.m4.
11877         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
11878         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
11879
11880         open: Move AC_LIBOBJ invocation to module description.
11881         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
11882         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
11883         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
11884
11885         open: Remove call-in from fchdir.m4.
11886         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
11887         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
11888
11889         fchdir: Start to remove gl_REPLACE_* idiom.
11890         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
11891         (gl_FUNC_FCHDIR): Invoke it.
11892
11893 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
11894
11895         * lib/ftell.c (ftell): Comment out cast.
11896
11897         close: use gl_REPLACE_FCLOSE only if defined
11898         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
11899         is defined.  The close module doesn't depend on the fclose module
11900         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
11901         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
11902         I reproduced the problem with "./gnulib-tool --test close sys_socket".
11903
11904 2011-07-24  Jim Meyering  <meyering@redhat.com>
11905
11906         test-select.h: avoid warning when using gcc's -Wmissing-declarations
11907         * tests/test-select.h (test_function): Declare as "static".
11908
11909 2011-07-24  Bruno Haible  <bruno@clisp.org>
11910
11911         doc: Mention the effects of AC_SYS_LARGEFILE.
11912         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
11913         on this function.
11914         * doc/posix-functions/aio_error.texi: Likewise.
11915         * doc/posix-functions/aio_fsync.texi: Likewise.
11916         * doc/posix-functions/aio_read.texi: Likewise.
11917         * doc/posix-functions/aio_return.texi: Likewise.
11918         * doc/posix-functions/aio_suspend.texi: Likewise.
11919         * doc/posix-functions/aio_write.texi: Likewise.
11920         * doc/posix-functions/fgetpos.texi: Likewise.
11921         * doc/posix-functions/fopen.texi: Likewise.
11922         * doc/posix-functions/freopen.texi: Likewise.
11923         * doc/posix-functions/fsetpos.texi: Likewise.
11924         * doc/posix-functions/fstatvfs.texi: Likewise.
11925         * doc/posix-functions/ftruncate.texi: Likewise.
11926         * doc/posix-functions/ftw.texi: Likewise.
11927         * doc/posix-functions/getrlimit.texi: Likewise.
11928         * doc/posix-functions/glob.texi: Likewise.
11929         * doc/posix-functions/lio_listio.texi: Likewise.
11930         * doc/posix-functions/lockf.texi: Likewise.
11931         * doc/posix-functions/mkstemp.texi: Likewise.
11932         * doc/posix-functions/mmap.texi: Likewise.
11933         * doc/posix-functions/nftw.texi: Likewise.
11934         * doc/posix-functions/openat.texi: Likewise.
11935         * doc/posix-functions/opendir.texi: Likewise.
11936         * doc/posix-functions/posix_fadvise.texi: Likewise.
11937         * doc/posix-functions/posix_fallocate.texi: Likewise.
11938         * doc/posix-functions/pread.texi: Likewise.
11939         * doc/posix-functions/pwrite.texi: Likewise.
11940         * doc/posix-functions/readdir.texi: Likewise.
11941         * doc/posix-functions/readdir_r.texi: Likewise.
11942         * doc/posix-functions/rewinddir.texi: Likewise.
11943         * doc/posix-functions/scandir.texi: Likewise.
11944         * doc/posix-functions/seekdir.texi: Likewise.
11945         * doc/posix-functions/setrlimit.texi: Likewise.
11946         * doc/posix-functions/statvfs.texi: Likewise.
11947         * doc/posix-functions/telldir.texi: Likewise.
11948         * doc/posix-functions/tmpfile.texi: Likewise.
11949         * doc/posix-functions/truncate.texi: Likewise.
11950         * doc/glibc-functions/fallocate.texi: Likewise.
11951         * doc/glibc-functions/fstatfs.texi: Likewise.
11952         * doc/glibc-functions/fts_children.texi: Likewise.
11953         * doc/glibc-functions/fts_read.texi: Likewise.
11954         * doc/glibc-functions/getdirentries.texi: Likewise.
11955         * doc/glibc-functions/mkostemp.texi: Likewise.
11956         * doc/glibc-functions/mkostemps.texi: Likewise.
11957         * doc/glibc-functions/mkstemps.texi: Likewise.
11958         * doc/glibc-functions/preadv.texi: Likewise.
11959         * doc/glibc-functions/pwritev.texi: Likewise.
11960         * doc/glibc-functions/sendfile.texi: Likewise.
11961         * doc/glibc-functions/statfs.texi: Likewise.
11962
11963 2011-07-24  Bruno Haible  <bruno@clisp.org>
11964
11965         doc: Fix typo.
11966         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
11967
11968 2011-07-24  Bruno Haible  <bruno@clisp.org>
11969
11970         doc: Mention fsusage.
11971         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
11972
11973 2011-07-24  Bruno Haible  <bruno@clisp.org>
11974
11975         doc: Mention new glibc headers and functions.
11976         * doc/glibc-headers/gshadow.texi: New file.
11977         * doc/glibc-functions/endsgent.texi: New file.
11978         * doc/glibc-functions/fgetsgent.texi: New file.
11979         * doc/glibc-functions/fgetsgent_r.texi: New file.
11980         * doc/glibc-functions/getsgent.texi: New file.
11981         * doc/glibc-functions/getsgent_r.texi: New file.
11982         * doc/glibc-functions/getsgnam.texi: New file.
11983         * doc/glibc-functions/getsgnam_r.texi: New file.
11984         * doc/glibc-functions/putsgent.texi: New file.
11985         * doc/glibc-functions/setsgent.texi: New file.
11986         * doc/glibc-functions/sgetsgent.texi: New file.
11987         * doc/glibc-functions/sgetsgent_r.texi: New file.
11988         * doc/glibc-functions/malloc_info.texi: New file.
11989         * doc/glibc-functions/preadv.texi: New file.
11990         * doc/glibc-functions/pwritev.texi: New file.
11991         * doc/glibc-functions/register_printf_modifier.texi: New file.
11992         * doc/glibc-functions/register_printf_specifier.texi: New file.
11993         * doc/glibc-functions/register_printf_type.texi: New file.
11994         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
11995         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
11996         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
11997         * doc/glibc-functions/pthread_getname_np.texi: New file.
11998         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
11999         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12000         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12001         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12002         * doc/glibc-functions/pthread_setname_np.texi: New file.
12003         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12004         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12005         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12006         * doc/glibc-functions/qsort_r.texi: New file.
12007         * doc/glibc-functions/quick_exit.texi: New file.
12008         * doc/glibc-functions/syncfs.texi: New file.
12009         * doc/gnulib.texi: Include them.
12010         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12011         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12012         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12013         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12014         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12015         * doc/glibc-functions/execvpe.texi: Likewise.
12016
12017 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12018
12019         ftell: don't include <unistd.h>
12020         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12021         guaranteed to define off_t, and the ftell module depends on the
12022         stdio module.
12023
12024         ftell: do not assume wraparound signed arithmetic
12025         * lib/ftell.c: Include <limits.h>.
12026         (ftell): Don't assume wraparound signed arithmetic.
12027
12028 2011-07-24  Bruno Haible  <bruno@clisp.org>
12029
12030         close: No longer depend on module 'fclose'.
12031         * modules/close (Depends-on): Remove fclose.
12032         * NEWS: Mention the change.
12033         Suggested by Sam Steingold <sds@gnu.org>.
12034
12035 2011-07-24  Bruno Haible  <bruno@clisp.org>
12036
12037         fsusage: Enable large volume support on AIX >= 5.2.
12038         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12039         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12040         instead of STAT_STATVFS.
12041         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12042
12043         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12044         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12045         f_blocks field only on MacOS X.
12046
12047         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12048         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12049         * modules/fsusage (Depends-on): Add largefile.
12050
12051 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12052
12053         * README: Modernize discussion of signed integers.
12054         Assuming overflow wraparound is no longer safe.
12055         Mention ones' complement and signed magnitude.
12056
12057 2011-07-22  Bruno Haible  <bruno@clisp.org>
12058
12059         select tests, pselect tests: Refactor.
12060         * tests/test-select.h: New file, extracted from tests/test-select.c.
12061         (select_fn): New type.
12062         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12063         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12064         test_pipe): Add my_select argument.
12065         (test_function): Renamed from main. Add my_select argument.
12066         * tests/test-select.c: Move most code to tests/test-select.h. Include
12067         test-select.h.
12068         * modules/select-tests (Files): Add tests/test-select.h.
12069         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12070         (my_select, main): New functions.
12071         * modules/pselect-tests (Files): Add tests/test-select.h,
12072         tests/macros.h, tests/signature.h.
12073         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12074         (configure.ac): Check for <sys/wait.h>.
12075
12076 2011-07-22  Bruno Haible  <bruno@clisp.org>
12077
12078         sys_select tests: Check the signature of FD_*.
12079         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12080         signature tests from here...
12081         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12082         here.
12083         * modules/sys_select-tests (Files): Add tests/signature.h.
12084
12085 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12086
12087         largefile: new module, replacing large-inode
12088         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12089         * MODULES.html.sh: Add largefile, remove large-inode.
12090         * modules/largefile, m4/largefile.m4: New files.
12091         * modules/large-inode, m4/large-inode.m4: Remove.
12092
12093         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12094         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12095         implementations that use only 32 bits to count blocks.
12096         On typical hosts with 1024-byte blocks, this fails with file
12097         systems as small as 4 TiB.  Problem reported by Herb Wartens
12098         <http://debbugs.gnu.org/9140> and this should also fix a similar
12099         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12100
12101         large-inode: New module
12102         * MODULES.html.sh: Add it.
12103         * modules/large-inode, m4/large-inode.m4: New files.
12104
12105         extensions: Enable extensions on MacOS X 10.5 and later.
12106         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12107
12108 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12109
12110         file-has-acl: use acl_extended_file_nofollow if available
12111         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12112         (acl_extended_file): New macro.
12113         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12114         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12115
12116 2011-07-21  Bruno Haible  <bruno@clisp.org>
12117
12118         Declare system functions in a way that works with C++.
12119         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12120         declare fdopendir as extern "C".
12121         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12122         declare frexpl as extern "C".
12123         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12124         declare gai_strerror as extern "C".
12125         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12126         programs, declare gai_strerror as extern "C".
12127         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12128         declare getlogin_r as extern "C".
12129         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12130         as extern "C".
12131         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12132         declare ldexpl as extern "C".
12133         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12134         as extern "C".
12135         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12136         program, declare getmntinfo as extern "C".
12137         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12138         stpncpy as extern "C".
12139         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12140         program, declare __xpg_strerror_r as extern "C".
12141         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12142         strndup as extern "C".
12143         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12144         declare memset and bzero as extern "C".
12145         Reported by Sam Steingold <sds@gnu.org>.
12146
12147 2011-07-12  Jim Meyering  <meyering@redhat.com>
12148
12149         maint.mk: prohibit inclusion of "verify.h" without use
12150         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12151
12152 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12153
12154         timer-time: A new module to check for timer_settime()
12155         * m4/timer_time.m4: Check for the posix function.
12156         * modules/timer-time: Add the new module.
12157         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12158         Mention it.
12159
12160 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12161             Bruno Haible  <bruno@clisp.org>
12162
12163         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12164         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12165         not defined, assume POSIX threads and look for pthread_sigmask in
12166         $LIBS, without changing $CPPFLAGS.
12167
12168 2011-07-19  Bruno Haible  <bruno@clisp.org>
12169
12170         strstr: Update cross-compilation guess.
12171         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
12172         CPUs, guess no, in view of glibc
12173         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
12174         Suggested by Eric Blake. Reported by Reuben Thomas.
12175
12176 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12177
12178         getopt-gnu: suppress core dumps from detection code
12179         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
12180         to suppress core dumps that may well occur on glibc systems.
12181         * modules/getopt-gnu: Depend on nocrash.
12182
12183 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
12184
12185         pthread_sigmask: ensure usleep is declared
12186         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
12187         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
12188
12189 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12190
12191         doc: Document NonStop portability issues.
12192         * doc/posix-functions/sigaction.texi (sigaction):
12193         * doc/posix-headers/signal.texi (signal.h):
12194         Document NonStop.  See Joachim Schmitz in
12195         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
12196
12197 2011-07-15  Bruno Haible  <bruno@clisp.org>
12198
12199         ffsl, ffsll: Avoid unportable behaviour.
12200         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
12201
12202 2011-07-15  Bruno Haible  <bruno@clisp.org>
12203
12204         ffs: More tests.
12205         * tests/test-ffs.c (NBITS): New macro.
12206         (main): Add more tests.
12207         * tests/test-ffsl.c (NBITS): New macro.
12208         (main): Add more tests.
12209         * tests/test-ffsll.c (NBITS): New macro.
12210         (main): Add more tests.
12211
12212 2011-07-15  Eric Blake  <eblake@redhat.com>
12213
12214         ffsl, ffsll: new modules
12215         * modules/ffsl: New file.
12216         * modules/ffsll: Likewise.
12217         * m4/ffsl.m4: Likewise.
12218         * m4/ffsll.m4: Likewise.
12219         * lib/ffsl.c: Likewise.
12220         * lib/ffsl.h: Likewise.
12221         * lib/ffsll.c: Likewise.
12222         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
12223         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
12224         * modules/string (Makefile.am): Substitute witnesses.
12225         * lib/strings.in.h (ffsl, ffsll): Declare.
12226         * modules/ffsl-tests: New test file.
12227         * modules/ffsll-tests: Likewise.
12228         * tests/test-ffsl.c: Likewise.
12229         * tests/test-ffsll.c: Likewise.
12230         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12231         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
12232         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
12233
12234         ffs: fix m4 prerequisite
12235         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
12236
12237         ffs: avoid undefined behavior
12238         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
12239         * tests/test-ffs.c (naive, main): Avoid signed shifts.
12240         Reported by Bruno Haible.
12241
12242 2011-07-12  Bruno Haible  <bruno@clisp.org>
12243
12244         pthread_sigmask: Rely on module 'threadlib'.
12245         * modules/pthread_sigmask (Depends-on): Add threadlib.
12246         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
12247         is defined.
12248
12249 2011-07-12  Bruno Haible  <bruno@clisp.org>
12250
12251         regex: Depend on module 'strcase'.
12252         * modules/regex (Depends-on): Add strcase, for strcasecmp().
12253
12254 2011-07-12  Jim Meyering  <meyering@redhat.com>
12255
12256         warn-on-use: fix typo in file name
12257         * modules/snippet/warn-on-use (Files): Correct file name:
12258         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
12259
12260 2011-07-12  Bruno Haible  <bruno@clisp.org>
12261
12262         strings: Document module.
12263         * doc/posix-headers/strings.texi: Mention module 'strings'.
12264
12265 2011-07-12  Bruno Haible  <bruno@clisp.org>
12266
12267         Rename module '_Noreturn' to 'snippet/_Noreturn'.
12268         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
12269         (Files, Makefile.am): Update.
12270         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
12271         * modules/stdlib (Depends-on): Update.
12272
12273 2011-07-12  Bruno Haible  <bruno@clisp.org>
12274
12275         * NEWS: Mention the changes.
12276
12277         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
12278         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
12279         (Files, Makefile.am): Update.
12280         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
12281         * modules/arpa_inet (Depends-on): Update.
12282         * modules/ctype (Depends-on): Update.
12283         * modules/dirent (Depends-on): Update.
12284         * modules/fcntl-h (Depends-on): Update.
12285         * modules/glob (Depends-on): Update.
12286         * modules/iconv-h (Depends-on): Update.
12287         * modules/inttypes-incomplete (Depends-on): Update.
12288         * modules/langinfo (Depends-on): Update.
12289         * modules/locale (Depends-on): Update.
12290         * modules/math (Depends-on): Update.
12291         * modules/netdb (Depends-on): Update.
12292         * modules/poll-h (Depends-on): Update.
12293         * modules/pty (Depends-on): Update.
12294         * modules/search (Depends-on): Update.
12295         * modules/signal (Depends-on): Update.
12296         * modules/spawn (Depends-on): Update.
12297         * modules/stdio (Depends-on): Update.
12298         * modules/stdlib (Depends-on): Update.
12299         * modules/string (Depends-on): Update.
12300         * modules/strings (Depends-on): Update.
12301         * modules/sys_file (Depends-on): Update.
12302         * modules/sys_ioctl (Depends-on): Update.
12303         * modules/sys_select (Depends-on): Update.
12304         * modules/sys_socket (Depends-on): Update.
12305         * modules/sys_stat (Depends-on): Update.
12306         * modules/sys_time (Depends-on): Update.
12307         * modules/sys_times (Depends-on): Update.
12308         * modules/sys_utsname (Depends-on): Update.
12309         * modules/sys_wait (Depends-on): Update.
12310         * modules/termios (Depends-on): Update.
12311         * modules/time (Depends-on): Update.
12312         * modules/unistd (Depends-on): Update.
12313         * modules/wchar (Depends-on): Update.
12314         * modules/wctype-h (Depends-on): Update.
12315         * MODULES.html.sh (Support for building libraries and executables):
12316         Update.
12317
12318         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
12319         * modules/snippet/unused-parameter: Renamed from
12320         modules/unused-parameter.
12321         (Files, Makefile.am): Update.
12322         * build-aux/snippet/unused-parameter.h: Renamed from
12323         build-aux/unused-parameter.h.
12324         * modules/selinux-h (Depends-on): Update.
12325         * modules/unistr/base (Depends-on): Update.
12326         * MODULES.html.sh (Core language properties): Update.
12327
12328         Rename module 'link-warning' to 'snippet/link-warning'.
12329         * modules/snippet/link-warning: Renamed from modules/link-warning.
12330         (Files, Makefile.am): Update.
12331         * build-aux/snippet/link-warning.h: Renamed from
12332         build-aux/link-warning.h.
12333         * MODULES.html.sh (Support for building libraries and executables):
12334         Update.
12335
12336         Rename module 'c++defs' to 'snippet/c++defs'.
12337         * modules/snippet/c++defs: Renamed from modules/c++defs.
12338         (Files, Makefile.am): Update.
12339         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
12340         * modules/arpa_inet (Depends-on): Update.
12341         * modules/ctype (Depends-on): Update.
12342         * modules/dirent (Depends-on): Update.
12343         * modules/fcntl-h (Depends-on): Update.
12344         * modules/glob (Depends-on): Update.
12345         * modules/iconv-h (Depends-on): Update.
12346         * modules/langinfo (Depends-on): Update.
12347         * modules/locale (Depends-on): Update.
12348         * modules/math (Depends-on): Update.
12349         * modules/netdb (Depends-on): Update.
12350         * modules/poll-h (Depends-on): Update.
12351         * modules/pty (Depends-on): Update.
12352         * modules/search (Depends-on): Update.
12353         * modules/signal (Depends-on): Update.
12354         * modules/spawn (Depends-on): Update.
12355         * modules/stdio (Depends-on): Update.
12356         * modules/stdlib (Depends-on): Update.
12357         * modules/string (Depends-on): Update.
12358         * modules/strings (Depends-on): Update.
12359         * modules/sys_ioctl (Depends-on): Update.
12360         * modules/sys_select (Depends-on): Update.
12361         * modules/sys_socket (Depends-on): Update.
12362         * modules/sys_stat (Depends-on): Update.
12363         * modules/sys_time (Depends-on): Update.
12364         * modules/sys_wait (Depends-on): Update.
12365         * modules/termios (Depends-on): Update.
12366         * modules/time (Depends-on): Update.
12367         * modules/unistd (Depends-on): Update.
12368         * modules/wchar (Depends-on): Update.
12369         * modules/wctype-h (Depends-on): Update.
12370
12371         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
12372         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
12373         (Files, Makefile.am): Update.
12374         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
12375         * modules/argv-iter (Depends-on): Update.
12376         * modules/arpa_inet (Depends-on): Update.
12377         * modules/dirent (Depends-on): Update.
12378         * modules/fcntl-h (Depends-on): Update.
12379         * modules/fnmatch (Depends-on): Update.
12380         * modules/getopt-posix (Depends-on): Update.
12381         * modules/glob (Depends-on): Update.
12382         * modules/iconv-h (Depends-on): Update.
12383         * modules/inttypes-incomplete (Depends-on): Update.
12384         * modules/locale (Depends-on): Update.
12385         * modules/math (Depends-on): Update.
12386         * modules/netdb (Depends-on): Update.
12387         * modules/search (Depends-on): Update.
12388         * modules/signal (Depends-on): Update.
12389         * modules/spawn (Depends-on): Update.
12390         * modules/stdio (Depends-on): Update.
12391         * modules/stdlib (Depends-on): Update.
12392         * modules/string (Depends-on): Update.
12393         * modules/strings (Depends-on): Update.
12394         * modules/sys_socket (Depends-on): Update.
12395         * modules/sys_stat (Depends-on): Update.
12396         * modules/sys_time (Depends-on): Update.
12397         * modules/sys_times (Depends-on): Update.
12398         * modules/sys_utsname (Depends-on): Update.
12399         * modules/time (Depends-on): Update.
12400         * modules/unistd (Depends-on): Update.
12401         * modules/wchar (Depends-on): Update.
12402         * MODULES.html.sh (Support for building libraries and executables):
12403         Update.
12404
12405 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12406
12407         Improvements on _Noreturn and related modules.
12408
12409         modules/_Exit-tests: test _Noreturn too
12410         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
12411         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
12412         (main): Use them.
12413
12414         stdnoreturn, stdnoreturn-tests: remove modules
12415         They're not needed here and a bit premature for use elsewhere.  See
12416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
12417         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
12418         * tests/test-stdnoreturn.c: Remove files.
12419         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
12420         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
12421         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
12422         and using noreturn.
12423         * modules/openat, modules/sigpipe-die, modules/xalloc:
12424         * modules/xmemdup0, modules/xstrtol:
12425         Remove dependency on stdnoreturn.
12426
12427         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
12428         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
12429         Reparenthesize to avoid GCC warning.
12430         Support Microsoft's syntax.
12431         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
12432
12433         _Noreturn-tests: remove module
12434         * modules/_Noreturn-tests: Remove.
12435         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
12436         * tests/test-_Noreturn.c: Remove.
12437         * tests/test-stdnoreturn.c: Merge from the old
12438         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
12439
12440 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
12441
12442         _Noreturn, stdnoreturn, and related modules.
12443
12444         * top/maint.mk: Adjust to new noreturn support.
12445         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
12446         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
12447
12448         xalloc: use stdnoreturn.h
12449         * lib/xalloc.h: Include <stdnoreturn.h>.
12450         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12451         * modules/xalloc (Depends-on): Add stdnoreturn.
12452
12453         xstrtol: use stdnoreturn.h
12454         * lib/xstrtol.h: Include <stdnoreturn.h>.
12455         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12456         * modules/xstrtol (Depends-on): Add stdnoreturn.
12457
12458         xmemdup0: use stdnoreturn.h
12459         * lib/xmemdup0.h: Include <stdnoreturn.h>.
12460         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12461         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
12462
12463         sigpipe-die: use stdnoreturn.h
12464         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
12465         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12466         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
12467
12468         openat: use stdnoreturn.h
12469         * lib/openat.h: Include <stdnoreturn.h>.
12470         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
12471         * modules/openat (Depends-on): Add stdnoreturn.
12472
12473         * lib/openat-die.c (openat_save_fail): Modernize comment.
12474
12475         * lib/xalloc-die.c (xalloc_die): Modernize comment.
12476
12477         * lib/glthread/thread.h: Modernize comment.
12478
12479         obstack: use _Noreturn
12480         * lib/obstack.c (__attribute__): Remove macro.
12481         (print_and_abort): Use _Noreturn.
12482
12483         c-stack: use _Noreturn
12484         * lib/c-stack.c (die, overflow_handler, segv_handler):
12485         Use _Noreturn rather than __attribute__((noreturn)).
12486
12487         argmatch-tests, exclude_tests: use _Noreturn
12488         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
12489         Remove.
12490         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
12491
12492         stdlib: use _Noreturn
12493         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
12494         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
12495         * modules/stdlib (Depends-on): Add _Noreturn.
12496         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
12497
12498         stdnoreturn-tests: new module
12499         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
12500
12501         stdnoreturn: new module
12502         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
12503         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
12504
12505         _Noreturn-tests: new module
12506         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
12507
12508         _Noreturn: new module
12509         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
12510         New section, mentioning it.
12511         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
12512
12513         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
12514
12515 2011-07-11  Eric Blake  <eblake@redhat.com>
12516
12517         ffs: new module
12518         * modules/ffs: New file.
12519         * m4/ffs.m4: Likewise.
12520         * lib/ffs.c: Likewise.
12521         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
12522         * modules/strings (Makefile.am): Substitute witness.
12523         (Depends-on): Add c++defs.
12524         * lib/strings.in.h (ffs): Declare.
12525         * modules/ffs-tests: New test file.
12526         * tests/test-ffs.c: Test new module.
12527         * MODULES.html.sh (Integer arithmetic functions): Mention it.
12528         * doc/posix-functions/ffs.texi (ffs): Likewise.
12529
12530         regex: avoid compiler warning
12531         * lib/regex.c (includes): Include <strings.h>, for use of
12532         strcasecmp in regcomp.c.
12533         Reported by Joachim Schmitz.
12534
12535 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
12536
12537         stdint: respect system's intmax_t if INTMAX_MAX
12538         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
12539         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
12540         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
12541         long but int64_t is long long, and where we will clash with the
12542         system intmax_t if we override it.  See
12543         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
12544         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
12545         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
12546         similarly for UINTMAX_C.
12547
12548 2011-07-08  Bruno Haible  <bruno@clisp.org>
12549
12550         pthread_sigmask tests: Avoid a compiler warning.
12551         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
12552         non-zero.
12553
12554         sigprocmask tests: A better way to avoid a compiler warning.
12555         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
12556         (main): Complain if system() returns non-zero.
12557         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
12558
12559 2011-07-08  Bruno Haible  <bruno@clisp.org>
12560
12561         pthread_sigmask: Work around IRIX bug.
12562         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
12563         bug.
12564         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
12565         there may be unblocked pending signals.
12566         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
12567
12568 2011-07-08  Bruno Haible  <bruno@clisp.org>
12569
12570         pthread_sigmask: Work around Cygwin bug.
12571         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
12572         bug.
12573         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
12574         the system's pthread_sigmask function.
12575         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
12576
12577 2011-07-08  Bruno Haible  <bruno@clisp.org>
12578
12579         pthread_sigmask: Work around bug in single-threaded implementation.
12580         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
12581         FreeBSD, HP-UX, Solaris bug.
12582         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
12583         * lib/pthread_sigmask.c: Include <stddef.h>.
12584         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
12585         the system's pthread_sigmask function.
12586         * modules/pthread_sigmask (configure.ac): Invoke
12587         gl_PREREQ_PTHREAD_SIGMASK.
12588         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
12589         HP-UX, Solaris.
12590
12591 2011-07-08  Eric Blake  <eblake@redhat.com>
12592
12593         test-sigprocmask: avoid compiler warning
12594         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
12595         * tests/test-sigprocmask.c (main): Use it to silence warning.
12596         Reported by Jim Meyering.
12597
12598         test-snprintf: avoid compiler warning
12599         * tests/test-snprintf.c (main): Avoid shadowed declaration.
12600         * tests/test-vsnprintf.c (main): Likewise.
12601         Reported by Jim Meyering.
12602
12603 2011-07-08  Bruno Haible  <bruno@clisp.org>
12604
12605         Tests for module 'pthread_sigmask'.
12606         * modules/pthread_sigmask-tests: New file.
12607         * tests/test-pthread_sigmask1.c: New file, based on
12608         tests/test-sigprocmask.c.
12609         * tests/test-pthread_sigmask2.c: New file.
12610
12611 2011-07-08  Jim Meyering  <meyering@redhat.com>
12612
12613         test-getopt.h: avoid warning about an unused variable
12614         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
12615
12616 2011-07-07  Jim Meyering  <meyering@redhat.com>
12617
12618         maint: reduce list of files exempt from sc_prohibit_leading_TABs
12619         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
12620         now that it no longer contains leading TABs.
12621         Remove unused "url=FIXME" statement.
12622
12623 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
12624
12625         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
12626         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12627         When gl_THREADLIB is not in use, assume that the POSIX sematics
12628         are desired.  This is better for Emacs, which uses POSIX semantics
12629         on GNUish and/or POSIXish platforms, and does not use threads at
12630         all otherwise.
12631
12632         pthread_sigmask: fix typo when testing for libraries
12633         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
12634         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
12635
12636 2011-07-08  Eric Blake  <eblake@redhat.com>
12637
12638         fts: introduce FTS_NOATIME
12639         * lib/fts_.h (FTS_NOATIME): New bit flag.
12640         (FTS_OPTIONMASK): Adjust.
12641         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
12642         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
12643
12644 2011-07-08  Bruno Haible  <bruno@clisp.org>
12645
12646         Tests for module 'thread'.
12647         * modules/thread-tests: New file.
12648         * tests/test-thread_self.c: New file.
12649         * tests/test-thread_create.cc: New file.
12650
12651 2011-07-08  Bruno Haible  <bruno@clisp.org>
12652
12653         thread: Avoid gcc warnings when using gl_thread_self().
12654         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
12655         'void *'.
12656         (gl_thread_self_pointer): Update.
12657
12658 2011-07-07  Bruno Haible  <bruno@clisp.org>
12659
12660         signal-c++-tests: Check declaration of pthread_sigmask.
12661         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
12662         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
12663         $(LIB_PTHREAD_SIGMASK).
12664
12665 2011-07-07  Bruno Haible  <bruno@clisp.org>
12666
12667         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
12668         * lib/signal.in.h (pthread_sigmask): Override if
12669         REPLACE_PTHREAD_SIGMASK is 1.
12670         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12671         REPLACE_PTHREAD_SIGMASK.
12672         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
12673         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
12674         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
12675         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12676         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
12677
12678 2011-07-07  Bruno Haible  <bruno@clisp.org>
12679
12680         pthread_sigmask: Ensure declaration in <signal.h>.
12681         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
12682         include <pthread.h>.
12683         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
12684         problem.
12685
12686 2011-07-07  Bruno Haible  <bruno@clisp.org>
12687
12688         pthread_sigmask: Document the module.
12689         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
12690
12691 2011-07-07  Bruno Haible  <bruno@clisp.org>
12692
12693         pthread_sigmask: Follow gnulib conventions.
12694         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
12695         gl_PTHREAD_SIGMASK.
12696         * modules/pthread_sigmask (configure.ac): Update.
12697
12698 2011-07-07  Bruno Haible  <bruno@clisp.org>
12699
12700         pthread_sigmask: Make declaration C++ safe.
12701         * lib/signal.in.h: In two special conditions, just do an #include_next.
12702         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12703         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
12704         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
12705         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
12706         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
12707         not REPLACE_PTHREAD_MASK.
12708         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
12709         not REPLACE_PTHREAD_MASK.
12710         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
12711
12712 2011-07-07  Bruno Haible  <bruno@clisp.org>
12713
12714         pthread_sigmask: Fix return value.
12715         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
12716         * lib/pthread_sigmask.c: New file.
12717         * modules/pthread_sigmask (Files): Add it.
12718         (configure.ac): Invoke AC_LIBOBJ.
12719
12720 2011-07-07  Eric Blake  <eblake@redhat.com>
12721
12722         getopt: more portable argv creation
12723         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
12724         const, use char arrays rather than strings.
12725         Suggested by Paul Eggert.
12726
12727 2011-07-07  Bruno Haible  <bruno@clisp.org>
12728
12729         Tests for module 'sigprocmask'.
12730         * modules/sigprocmask-tests: New file.
12731         * tests/test-sigprocmask.c: New file.
12732
12733 2011-07-07  Bruno Haible  <bruno@clisp.org>
12734
12735         float tests: Tweak.
12736         * tests/test-float.c (main): Tweak skip message.
12737
12738 2011-07-07  Eric Blake  <eblake@redhat.com>
12739
12740         getopt: avoid compiler warning during configure
12741         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
12742         assigning string literals to non-const pointer.
12743
12744         getopt-gnu: avoid crash in glibc getopt
12745         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
12746         * tests/test-getopt.h (test_getopt): Enhance test.
12747         * tests/test-getopt_long.h (test_getopt_long): Likewise.
12748         * doc/posix-functions/getopt.texi (getopt): Document it.
12749         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
12750         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12751         Likewise.
12752
12753 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
12754
12755         getopt: handle W; without long options in getopt [BZ #12922]
12756         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
12757         but no long options are defined, just return 'W'.
12758
12759 2011-07-07  Bruno Haible  <bruno@clisp.org>
12760
12761         Avoid literal tabs.
12762         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
12763         variable containing a tab instead of a literal tab.
12764         Reported by Jim Meyering.
12765
12766 2011-07-07  Bruno Haible  <bruno@clisp.org>
12767
12768         Comments.
12769         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
12770
12771 2011-07-06  Bruno Haible  <bruno@clisp.org>
12772
12773         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
12774         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
12775         <winsock2.h>.
12776         (rpl_fd_isset, FD_ISSET): New definitions, copied from
12777         lib/sys_socket.in.h.
12778         (close, gethostname): Hide declarations from <winsock2.h>.
12779         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
12780         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
12781         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
12782         (select): Don't override if gnulib's <sys/select.h> was already
12783         included.
12784         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
12785         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
12786         setsockopt, shutdown, select): Tweak indentation.
12787
12788 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12789
12790         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
12791         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
12792         in an application that does not use the sys_select module.
12793
12794 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
12795
12796         poll: do not return 0 on timeout=-1
12797         * lib/poll.c: Loop with yield if no events occured
12798
12799 2011-07-06  Eric Blake  <eblake@redhat.com>
12800
12801         pthread_sigmask: always replace when not using pthread
12802         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
12803         replacement when using some threading other than pthread.  Fix
12804         logic bug.
12805
12806 2011-07-06  Bruno Haible  <bruno@clisp.org>
12807
12808         Comments.
12809         * m4/printf.m4: Update comments about mingw.
12810
12811 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12812
12813         sys_select: define sigset_t more portably
12814         * lib/sys_select.in.h: Always include <sys/types.h>, since
12815         we now need sigset_t and mingw defines it there.
12816         Include <signal.h> before split inclusion guard, to avoid
12817         mishaps on Solaris, whose <signal.h> eventually includes us.
12818         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
12819         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
12820         which come from ...
12821         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
12822         gl_CHECK_TYPE_SIGSET_T.
12823         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
12824         does the real work.
12825         * modules/sys_select (Depends-on): Add 'signal'.
12826
12827         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
12828         Suggested by Bruno Haible.
12829
12830         pselect: Use pthread_sigmask, not sigprocmask.
12831         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
12832         multithreaded apps better than sigprocmask does.
12833         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
12834         sigprocmask directly.
12835
12836 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
12837
12838         * lib/pselect.c (pselect): Use plain name, without "rpl_".
12839         Don't #undef,  since we don't need any underlying pselect.
12840         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
12841         (Depends-on): Add select.
12842         (Link): Add $(LIBSOCKET).
12843         These changes suggested by Bruno Haible.
12844
12845         pselect: document better
12846         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12847         * doc/posix-functions/pselect.texi (pselect): Document new module.
12848
12849         pthread_sigmask: new module
12850         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
12851         * doc/posix-functions/pthread_sigmask.texi: Document new module.
12852         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
12853         This is done only as a macro; I don't know how well that'll
12854         work for C++.  Move <sys/types.h> include before the include_next,
12855         to avoid mishap on Solaris.
12856         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
12857         * modules/signal (Makefile.am): Substitute the check's results.
12858         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
12859
12860         test-pselect: new module
12861         * modules/pselect-tests, tests/test-pselect.c: New files.
12862         * tests/test-select.c, tests/test-sys_select-c++.cc:
12863         If TEST_PSELECT is defined, test pselect instead of testing select.
12864
12865         * tests/test-sys_select.c (sigset_t): Test for it, too.
12866         Suggested by Bruno Haible.
12867
12868 2011-07-05  Eric Blake  <eblake@redhat.com>
12869
12870         snprintf: guarantee %1$d, for libintl
12871         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
12872         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
12873         * doc/posix-functions/snprintf.texi (snprintf): Update.
12874         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
12875         * tests/test-snprintf.c (main): Enhance test.
12876         * tests/test-vsnprintf.c (main): Likewise.
12877
12878 2011-07-05  Jim Meyering  <meyering@redhat.com>
12879
12880         maint: exempt stdio-read.c and stdio-write.c from the cppi check
12881         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
12882         per Bruno's request, to accommodate this idiom (no space after "#")
12883         even when the function is inside an #if block:
12884         char *
12885         gets (char *s)
12886         #undef gets
12887         {
12888           ...
12889         }
12890
12891 2011-07-04  Jim Meyering  <meyering@redhat.com>
12892
12893         maint: indent with spaces, not TABs, and add a rule to check this
12894         * tests/test-userspec.c: Indent with spaces, not TABs.
12895         * tests/test-argp.c: Likewise.
12896         * tests/test-c-stack2.sh: Likewise.
12897         * tests/test-parse-duration.sh: Likewise
12898         * m4/strtod.m4: Likewise.
12899         * m4/alloca.m4: Likewise.
12900         * m4/pselect.m4: Likewise.
12901         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
12902
12903 2011-07-03  Jim Meyering  <meyering@redhat.com>
12904
12905         maint.mk: correct omissions in prohibit_argmatch_without_use check
12906         This rule would mistakenly report that argmatch.h is included without
12907         use even when both the argmatch and invalid_arg macro were used.
12908         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
12909         of argmatch and invalid_arg.
12910
12911 2011-07-03  Bruno Haible  <bruno@clisp.org>
12912
12913         Comments about EINTR.
12914         * lib/safe-read.h: Explain the purpose of this module.
12915         * lib/safe-write.h: Likewise.
12916         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
12917         module.
12918         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
12919         module.
12920         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12921
12922 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
12923
12924         xnanosleep: Rewrite to use new dtotimespec module.
12925         It has the conversion code that used to be in xnanosleep.
12926         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
12927         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
12928         (TIME_T_MAX): Remove.
12929         (xnanosleep): Rewrite in terms of dtotimespec.
12930         * modules/xnanosleep (Depends-on): Add dtotimespec.
12931         Remove intprops, stdbool.
12932
12933         timespec-add, timespec-sub: new modules
12934         * lib/timespec.h (timespec_add, timespec_sub): New decls.
12935         * lib/timespec-add.c, lib/timespec-sub.c:
12936         * modules/timespec-add, modules/timespec-sub: New files.
12937
12938         dtotimespec: new module
12939         * lib/timespec.h (dtotimespec): New decl.
12940         * lib/dtotimespec.c, modules/dtotimespec: New files.
12941
12942         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
12943
12944         pselect: new module
12945         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
12946         (pselect): New decls.
12947         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
12948         since the standard pselect decl uses 'restrict'.
12949         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
12950         HAVE_PSELECT, REPLACE_PSELECT.
12951         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
12952         HAVE_PSELECT, REPLACE_PSELECT.
12953         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
12954
12955         sys_select: don't depend on sys_socket
12956         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
12957         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
12958         This fix works on GNU and GNU-like platforms, but has not been tested
12959         on native Windows.
12960         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
12961         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
12962         gl_HEADER_SYS_SOCKET.
12963         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
12964         gl_PREREQ_SYS_H_WINSOCK2.
12965
12966 2011-06-29  Eric Blake  <eblake@redhat.com>
12967
12968         pipe2: fix C89 compile problem
12969         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
12970         Reported by Bruno Haible.
12971
12972         pipe, pipe2: don't corrupt fd on error
12973         * lib/pipe.c (pipe): Leave fd unchanged on error.
12974         * lib/pipe2.c (pipe2): Likewise.
12975         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
12976         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12977
12978 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
12979
12980         mmap-anon: do not use regular expressions inadvertently
12981         * m4/mmap-anon.m4: Remove trailing period from strings sought
12982         in the output.
12983
12984 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
12985
12986         nanosleep: fix integer overflow problem
12987         * lib/nanosleep.c (my_usleep): Don't assume signed integer
12988         arithmetic wraps around on overflow.
12989
12990         nanosleep: simplify carrying
12991         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
12992         first call to the underyling nanosleep, not for the last one.
12993         This doesn't fix any bugs, but it simplifies the computation of
12994         the remaining delay.  Found while auditing integer overflow issues.
12995
12996         dup2: remove test for existence of fcntl
12997         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
12998         "#if HAVE_FCNTL", in the configure-time test program.
12999         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13000         and therefore speeds up "configure" a bit.  Found while
13001         adding the dup2 module to Emacs.
13002
13003 2011-06-24  Eric Blake  <eblake@redhat.com>
13004
13005         maint.mk: enhance useless header checks
13006         * top/maint.mk (_sc_header_without_use): Check both include
13007         styles.
13008         (sc_prohibit_assert_without_use)
13009         (sc_prohibit_close_stream_without_use)
13010         (sc_prohibit_getopt_without_use)
13011         (sc_prohibit_quotearg_without_use)
13012         (sc_prohibit_quote_without_use)
13013         (sc_prohibit_long_options_without_use)
13014         (sc_prohibit_inttostr_without_use)
13015         (sc_prohibit_ignore_value_without_use)
13016         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13017         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13018         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13019         (sc_prohibit_hash_pjw_without_use)
13020         (sc_prohibit_safe_read_without_use)
13021         (sc_prohibit_argmatch_without_use)
13022         (sc_prohibit_canonicalize_without_use)
13023         (sc_prohibit_root_dev_ino_without_use)
13024         (sc_prohibit_openat_without_use)
13025         (sc_prohibit_c_ctype_without_use)
13026         (sc_prohibit_signal_without_use)
13027         (sc_prohibit_stdio--_without_use)
13028         (sc_prohibit_stdio-safer_without_use)
13029         (sc_prohibit_strings_without_use)
13030         (sc_prohibit_intprops_without_use)
13031         (sc_prohibit_stddef_without_use)
13032         (sc_prohibit_xfreopen_without_use): Update clients.
13033
13034 2011-06-24  Jim Meyering  <meyering@redhat.com>
13035
13036         syntax-check: keep one maint.mk rule in sync with its header
13037         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13038         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13039         I prefer to avoid temporary files here, so use <(...), but that
13040         is not supported by /bin/sh, so...
13041         (SHELL): Define to /bin/bash.
13042
13043 2011-06-24  Eric Blake  <eblake@redhat.com>
13044
13045         maint.mk: update sc_prohibit_intprops_without_use
13046         * top/maint.mk (_intprops_names): Match recent changes.
13047
13048 2011-06-24  Bruno Haible  <bruno@clisp.org>
13049
13050         strerror-override: No-op tweak.
13051         * lib/strerror-override.h (strerror_override): Reorder conditions,
13052         for consistency with lib/strerror-override.c.
13053
13054 2011-06-23  Eric Blake  <eblake@redhat.com>
13055
13056         maint.mk: test further PATH_MAX issues
13057         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13058         (sc_prohibit_path_max_allocation): ...and also test alloca.
13059         Suggested by Jim Meyering.
13060
13061 2011-06-22  Eric Blake  <eblake@redhat.com>
13062
13063         maint.mk: add syntax-check to avoid char[PATH_MAX]
13064         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13065
13066         stat: be robust to PATH_MAX definition
13067         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13068         * modules/stat (Depends-on): Add verify.
13069
13070         link: work around IRIX bug
13071         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13072         * lib/link.c (rpl_link): Work around it.
13073         * tests/test-link.h (test_link): Enhance test.
13074         * doc/posix-functions/link.texi (link): Document the bug.
13075
13076         getopt: silence clang warning
13077         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13078         dereference.
13079         Reported by Gustavo Martin Domato.
13080
13081 2011-06-22  Jim Meyering  <meyering@redhat.com>
13082
13083         bootstrap: do not insert a blank line into each .gitignore file
13084         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13085
13086 2011-06-21  Eric Blake  <eblake@redhat.com>
13087
13088         perror: test for output mismatch
13089         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13090         perror on IRIX.
13091
13092         strerror_r: fix OpenBSD behavior on out-of-range
13093         * lib/strerror_r.c (strerror_r): Always use maximal string.
13094         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13095
13096         strerror_r: fix OpenBSD behavior on 0
13097         * lib/strerror-override.c (strerror_override): Also override 0
13098         when needed.
13099         * lib/strerror-override.h (strerror_override): Likewise.
13100         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13101         earlier.
13102         * lib/strerror_r.c (strerror_r): Likewise.
13103         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13104         behavior...
13105         (gl_FUNC_STRERROR_0): ...into new macro.
13106         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13107         is overridden.
13108         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13109         * modules/strerror-override (Files): Add strerror.m4.
13110         (configure.ac): Also provide override for 0 when needed.
13111         * doc/posix-functions/strerror.texi (strerror): Document this.
13112         * doc/posix-functions/perror.texi (perror): Likewise.
13113
13114         perror: adjust array size
13115         * modules/perror (Depends-on): Add strerror-override.
13116         * lib/perror.c (perror): Use it to avoid magic number.
13117
13118         strerror-override: reduce size
13119         * lib/strerror-override.c (strerror_override): Use fewer lines.
13120
13121 2011-06-20  Bruno Haible  <bruno@clisp.org>
13122
13123         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13124         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13125
13126 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13127
13128         alloca: port to compilers that can optimize like GCC 4.6.0
13129         * lib/alloca.c (find_stack_direction): New signature, taken from
13130         Autoconf git.  This works with GCC 4.6.0.  This code should never
13131         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13132         be used with other compilers that optimize as well as GCC 4.6.0 does.
13133         (alloca): Adjust to new signature.
13134         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13135         New macro, which patches Autoconf in a similar way.
13136
13137         c-stack: stop worrying about stack direction
13138         * lib/c-stack.c (find_stack_direction): Remove.
13139         (segv_handler): Don't worry about stack direction growth, as it's
13140         too much of a pain to configure this correctly, given how compilers
13141         are optimizing-away our stack-growth detection code.  Instead, assume
13142         that any access to just before or just after the stack is OK.
13143         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13144         Don't require AC_FUNC_ALLOCA; no longer needed.
13145
13146 2011-06-20  Eric Blake  <eblake@redhat.com>
13147
13148         test-stat: don't allocate PATH_MAX bytes
13149         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13150         PATH_MAX-sized buffer.
13151         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13152         * modules/stat-tests (Depends-on): Likewise.
13153         * tests/test-fstatat.c (includes): Drop pathmax.h.
13154         * tests/test-stat.c (includes): Likewise.
13155         Reported by Bruno Haible.
13156
13157 2011-06-20  Bruno Haible  <bruno@clisp.org>
13158
13159         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13160         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13161         * lib/float.c: New file.
13162         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13163         REPLACE_FLOAT_LDBL.
13164         * modules/float (Files): Add lib/float.c.
13165         (configure.ac): Invoke AC_LIBOBJ.
13166         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13167
13168 2011-06-20  Bruno Haible  <bruno@clisp.org>
13169
13170         Tests for module 'float'.
13171         * modules/float-tests: New file.
13172         * tests/test-float.c: New file.
13173
13174 2011-06-19  Bruno Haible  <bruno@clisp.org>
13175
13176         isinf: Coding style.
13177         * lib/isinf.c: Use GNU coding style.
13178
13179 2011-06-19  Bruno Haible  <bruno@clisp.org>
13180
13181         linkat test: Avoid test failure on AIX 7.1.
13182         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
13183         * tests/test-link.h (test_link): Likewise.
13184
13185 2011-06-19  Bruno Haible  <bruno@clisp.org>
13186
13187         pread test: Avoid test failure on OpenBSD 4.9.
13188         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
13189
13190 2011-06-19  Bruno Haible  <bruno@clisp.org>
13191
13192         sprintf-posix: Fix test failure on AIX 7.1.
13193         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
13194         * doc/posix-functions/dprintf.texi: Mention limited precision problem
13195         on AIX.
13196         * doc/posix-functions/fprintf.texi: Likewise.
13197         * doc/posix-functions/printf.texi: Likewise.
13198         * doc/posix-functions/snprintf.texi: Likewise.
13199         * doc/posix-functions/sprintf.texi: Likewise.
13200         * doc/posix-functions/vdprintf.texi: Likewise.
13201         * doc/posix-functions/vfprintf.texi: Likewise.
13202         * doc/posix-functions/vprintf.texi: Likewise.
13203         * doc/posix-functions/vsnprintf.texi: Likewise.
13204         * doc/posix-functions/vsprintf.texi: Likewise.
13205
13206 2011-06-19  Bruno Haible  <bruno@clisp.org>
13207
13208         roundl-ieee: Fix test failure on AIX 7.1.
13209         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
13210         * doc/posix-functions/roundl.texi: Mention problem with negative
13211         arguments.
13212
13213 2011-06-19  Bruno Haible  <bruno@clisp.org>
13214
13215         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13216         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
13217         * doc/posix-functions/round.texi: Mention problem with negative
13218         arguments.
13219         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
13220
13221 2011-06-19  Bruno Haible  <bruno@clisp.org>
13222
13223         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
13224         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
13225         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
13226         * doc/posix-functions/roundf.texi: Mention problem with negative
13227         arguments.
13228         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
13229
13230 2011-06-19  Bruno Haible  <bruno@clisp.org>
13231
13232         ceilf-ieee: Work around bug on MacOS X 10.5.
13233         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
13234
13235         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
13236         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
13237         IEEE compliant, avoid compiler optimizations.
13238         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
13239         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13240         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
13241         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13242         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13243         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13244         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13245         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13246         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13247         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13248
13249 2011-06-19  Bruno Haible  <bruno@clisp.org>
13250
13251         ceilf-ieee: Work around bug on AIX 7.1.
13252         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
13253         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
13254
13255 2011-06-19  Bruno Haible  <bruno@clisp.org>
13256
13257         ceil-ieee: Work around bug on AIX 7.1.
13258         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
13259         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
13260
13261 2011-06-18  Bruno Haible  <bruno@clisp.org>
13262
13263         fsync test: Avoid test failure on MacOS X and AIX.
13264         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
13265         EINVAL.
13266
13267 2011-06-18  Bruno Haible  <bruno@clisp.org>
13268
13269         openat, fdopendir tests: Fix link errors.
13270         * modules/openat-tests (Depends-on): Add progname.
13271         * modules/fdopendir-tests (Depends-on): Likewise.
13272         * tests/test-fchownat.c: Include progname.h.
13273         (main): Call set_program_name.
13274         * tests/test-fstatat.c: Include progname.h.
13275         (main): Call set_program_name.
13276         * tests/test-mkdirat.c: Include progname.h.
13277         (main): Call set_program_name.
13278         * tests/test-openat.c: Include progname.h.
13279         (main): Call set_program_name.
13280         * tests/test-unlinkat.c: Include progname.h.
13281         (main): Call set_program_name.
13282         * tests/test-fdopendir.c: Include progname.h.
13283         (main): Call set_program_name.
13284
13285 2011-06-18  Bruno Haible  <bruno@clisp.org>
13286
13287         Doc update.
13288         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
13289         HP-UX.
13290         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
13291
13292 2011-06-18  Bruno Haible  <bruno@clisp.org>
13293
13294         getcwd tests: Avoid compilation error on HP-UX 11.31.
13295         * modules/getcwd-tests (Depends-on): Add pathmax.
13296         * tests/test-getcwd.c: Include pathmax.h.
13297
13298 2011-06-18  Bruno Haible  <bruno@clisp.org>
13299
13300         isfinite, isinf: Fix link error on AIX 6 and 7.
13301         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
13302         needed, also test the macro with a 'float' argument.
13303         * m4/isinf.m4 (gl_ISINF): Likewise.
13304
13305 2011-06-18  Bruno Haible  <bruno@clisp.org>
13306
13307         getloadavg: Don't clobber LIBS. Regression from previous commit.
13308         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
13309         AC_CHECK_LIB from here...
13310         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
13311         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
13312         gl_func_getloadavg_done.
13313         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13314
13315 2011-06-18  Bruno Haible  <bruno@clisp.org>
13316
13317         clean-temp: Improve documentation.
13318         * lib/clean-temp.h: Explain better how to use this module.
13319         Reported by John Darrington <john@darrington.wattle.id.au>.
13320
13321 2011-06-17  Bruno Haible  <bruno@clisp.org>
13322
13323         pread, pwrite: Avoid cc warning on AIX.
13324         * lib/unistd.in.h (pread): Undefine before defining as a macro.
13325         (pwrite): Likewise.
13326
13327 2011-06-17  Bruno Haible  <bruno@clisp.org>
13328
13329         spawn-pipe tests: Fix link error.
13330         * tests/test-spawn-pipe-child.c: Undefine fprintf.
13331         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13332
13333 2011-06-17  Bruno Haible  <bruno@clisp.org>
13334
13335         Tests: Remove unnecessary dependency.
13336         * modules/canonicalize-tests (Depends-on): Remove progname.
13337         * modules/chown-tests (Depends-on): Likewise.
13338         * modules/dirname-tests (Depends-on): Likewise.
13339         * modules/fdopendir-tests (Depends-on): Likewise.
13340         * modules/fdutimensat-tests (Depends-on): Likewise.
13341         * modules/hash-tests (Depends-on): Likewise.
13342         * modules/lchown-tests (Depends-on): Likewise.
13343         * modules/linkat-tests (Depends-on): Likewise.
13344         * modules/renameat-tests (Depends-on): Likewise.
13345         * modules/spawn-pipe-tests (Depends-on): Likewise.
13346         * modules/utimensat-tests (Depends-on): Likewise.
13347
13348 2011-06-17  Bruno Haible  <bruno@clisp.org>
13349
13350         spawn-pipe tests: Fix link error.
13351         * tests/test-spawn-pipe-child.c: Undefine fflush.
13352
13353 2011-06-17  Bruno Haible  <bruno@clisp.org>
13354
13355         Fix tests link errors.
13356         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
13357         * modules/chown-tests (Makefile.am): Don't link test-chown with
13358         LIBINTL.
13359         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
13360         LIBINTL.
13361         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
13362         LIBINTL.
13363         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
13364         LIBINTL.
13365
13366 2011-06-16  Bruno Haible  <bruno@clisp.org>
13367
13368         crypto/gc-sha1: Fix recent regression.
13369         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
13370         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
13371
13372         crypto/gc-md5: Fix recent regression.
13373         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
13374
13375         crypto/gc-md4: Fix recent regression.
13376         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
13377         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
13378
13379         crypto/gc-arctwo: Fix recent regression.
13380         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
13381         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
13382
13383         crypto/gc-rijndael: Fix recent regression.
13384         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
13385         (configure.ac): Invoke AC_LIBOBJ here.
13386         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
13387         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13388
13389         crypto/gc-hmac-sha1: Fix recent regression.
13390         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
13391         (configure.ac): Invoke AC_LIBOBJ here.
13392         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
13393         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13394
13395         crypto/gc-hmac-md5: Fix recent regression.
13396         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
13397         (configure.ac): Invoke AC_LIBOBJ here.
13398         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
13399         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13400
13401         crypto/gc-des: Fix recent regression.
13402         * modules/crypto/gc-des (Files): Remove m4/des.m4.
13403         (configure.ac): Invoke AC_LIBOBJ here.
13404         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
13405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13406
13407         crypto/gc-arcfour: Fix recent regression.
13408         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
13409         (configure.ac): Invoke AC_LIBOBJ here.
13410         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
13411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13412
13413 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
13414
13415         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
13416         After the 2011-05-21 change, this macro requires
13417         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
13418         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13419
13420 2011-06-16  Bruno Haible  <bruno@clisp.org>
13421
13422         fprintftime: Move AC_LIBOBJ invocations to module description.
13423         * m4/fprintftime.m4: Remove file.
13424         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
13425         (configure.ac): Remove gl_FPRINTFTIME call.
13426         (Makefile.am): Augment lib_SOURCES.
13427         Reported by Jim Meyering.
13428
13429 2011-06-16  Bruno Haible  <bruno@clisp.org>
13430
13431         tmpfile-safer: Finish 2011-05-23 commit.
13432         * m4/stdio-safer.m4: Really remove file.
13433         Reported by Jim Meyering.
13434
13435 2011-06-16  Bruno Haible  <bruno@clisp.org>
13436
13437         syntax-check: Fix typo.
13438         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
13439         printf-posix.m4.
13440         Reported by Jim Meyering.
13441
13442 2011-06-13  Jim Meyering  <meyering@redhat.com>
13443
13444         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
13445         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
13446
13447 2011-05-23  Bruno Haible  <bruno@clisp.org>
13448
13449         yesno: Move AC_LIBOBJ invocations to module description.
13450         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
13451         * modules/yesno (Makefile.am): Augment lib_SOURCES.
13452
13453 2011-05-23  Bruno Haible  <bruno@clisp.org>
13454
13455         xstrtol: Move AC_LIBOBJ invocations to module description.
13456         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
13457         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
13458
13459 2011-05-23  Bruno Haible  <bruno@clisp.org>
13460
13461         xstrtold: Move AC_LIBOBJ invocations to module description.
13462         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
13463         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
13464
13465 2011-05-23  Bruno Haible  <bruno@clisp.org>
13466
13467         xstrtod: Move AC_LIBOBJ invocations to module description.
13468         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
13469         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
13470
13471 2011-05-23  Bruno Haible  <bruno@clisp.org>
13472
13473         xnanosleep: Move AC_LIBOBJ invocations to module description.
13474         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
13475         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
13476
13477 2011-05-23  Bruno Haible  <bruno@clisp.org>
13478
13479         xgetcwd: Move AC_LIBOBJ invocations to module description.
13480         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
13481         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
13482
13483 2011-05-23  Bruno Haible  <bruno@clisp.org>
13484
13485         xalloc: Move AC_LIBOBJ invocations to module description.
13486         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
13487         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
13488
13489 2011-05-23  Bruno Haible  <bruno@clisp.org>
13490
13491         write-any-file: Move AC_LIBOBJ invocations to module description.
13492         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
13493         invocation.
13494         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
13495
13496 2011-05-23  Bruno Haible  <bruno@clisp.org>
13497
13498         utimens: Move AC_LIBOBJ invocations to module description.
13499         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
13500         * modules/utimens (Makefile.am): Augment lib_SOURCES.
13501
13502 2011-05-23  Bruno Haible  <bruno@clisp.org>
13503
13504         utimecmp: Move AC_LIBOBJ invocations to module description.
13505         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
13506         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
13507
13508 2011-05-23  Bruno Haible  <bruno@clisp.org>
13509
13510         userspec: Move AC_LIBOBJ invocations to module description.
13511         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
13512         * modules/userspec (Makefile.am): Augment lib_SOURCES.
13513
13514 2011-05-23  Bruno Haible  <bruno@clisp.org>
13515
13516         unlinkdir: Move AC_LIBOBJ invocations to module description.
13517         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
13518         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
13519
13520 2011-05-23  Bruno Haible  <bruno@clisp.org>
13521
13522         unistd-safer: Move AC_LIBOBJ invocations to module description.
13523         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
13524         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
13525
13526 2011-05-23  Bruno Haible  <bruno@clisp.org>
13527
13528         tempname: Move AC_LIBOBJ invocations to module description.
13529         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
13530         * modules/tempname (Makefile.am): Augment lib_SOURCES.
13531
13532 2011-05-23  Bruno Haible  <bruno@clisp.org>
13533
13534         strftime: Move AC_LIBOBJ invocations to module description.
13535         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
13536         * modules/strftime (Makefile.am): Augment lib_SOURCES.
13537
13538 2011-05-23  Bruno Haible  <bruno@clisp.org>
13539
13540         stdlib-safer: Move AC_LIBOBJ invocations to module description.
13541         * m4/stdlib-safer.m4: Remove file.
13542         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
13543         (configure.ac): Remove gl_STDLIB_SAFER call.
13544         (Makefile.am): Augment lib_SOURCES.
13545
13546 2011-05-23  Bruno Haible  <bruno@clisp.org>
13547
13548         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
13549         * m4/stdio-safer.m4: Remove file.
13550         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
13551         (configure.ac): Remove gl_TMPFILE_SAFER call.
13552         (Makefile.am): Augment lib_SOURCES.
13553
13554 2011-05-23  Bruno Haible  <bruno@clisp.org>
13555
13556         popen-safer: Move AC_LIBOBJ invocations to module description.
13557         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
13558         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
13559         (configure.ac): Remove gl_POPEN_SAFER call.
13560         (Makefile.am): Augment lib_SOURCES.
13561
13562 2011-05-23  Bruno Haible  <bruno@clisp.org>
13563
13564         freopen-safer: Move AC_LIBOBJ invocations to module description.
13565         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
13566         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
13567         (configure.ac): Remove gl_FREOPEN_SAFER call.
13568         (Makefile.am): Augment lib_SOURCES.
13569
13570 2011-05-23  Bruno Haible  <bruno@clisp.org>
13571
13572         fopen-safer: Move AC_LIBOBJ invocations to module description.
13573         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
13574         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
13575         (configure.ac): Remove gl_FOPEN_SAFER call.
13576         (Makefile.am): Augment lib_SOURCES.
13577
13578 2011-05-23  Bruno Haible  <bruno@clisp.org>
13579
13580         crypto/sha512: Move AC_LIBOBJ invocations to module description.
13581         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
13582         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
13583
13584 2011-05-23  Bruno Haible  <bruno@clisp.org>
13585
13586         crypto/sha256: Move AC_LIBOBJ invocations to module description.
13587         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
13588         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
13589
13590 2011-05-23  Bruno Haible  <bruno@clisp.org>
13591
13592         crypto/sha1: Move AC_LIBOBJ invocations to module description.
13593         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
13594         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
13595
13596 2011-05-23  Bruno Haible  <bruno@clisp.org>
13597
13598         settime: Move AC_LIBOBJ invocations to module description.
13599         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
13600         * modules/settime (Makefile.am): Augment lib_SOURCES.
13601
13602 2011-05-23  Bruno Haible  <bruno@clisp.org>
13603
13604         savedir: Move AC_LIBOBJ invocations to module description.
13605         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
13606         * modules/savedir (Makefile.am): Augment lib_SOURCES.
13607
13608 2011-05-23  Bruno Haible  <bruno@clisp.org>
13609
13610         save-cwd: Move AC_LIBOBJ invocations to module description.
13611         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
13612         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
13613
13614 2011-05-23  Bruno Haible  <bruno@clisp.org>
13615
13616         same: Move AC_LIBOBJ invocations to module description.
13617         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
13618         * modules/same (Makefile.am): Augment lib_SOURCES.
13619
13620 2011-05-23  Bruno Haible  <bruno@clisp.org>
13621
13622         safe-write: Move AC_LIBOBJ invocations to module description.
13623         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
13624         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
13625         instead of gl_SAFE_WRITE.
13626         (Makefile.am): Augment lib_SOURCES.
13627
13628 2011-05-23  Bruno Haible  <bruno@clisp.org>
13629
13630         safe-read: Move AC_LIBOBJ invocations to module description.
13631         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
13632         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
13633         of gl_SAFE_READ.
13634         (Makefile.am): Augment lib_SOURCES.
13635
13636 2011-05-23  Bruno Haible  <bruno@clisp.org>
13637
13638         safe-alloc: Move AC_LIBOBJ invocations to module description.
13639         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
13640         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
13641
13642 2011-05-23  Bruno Haible  <bruno@clisp.org>
13643
13644         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
13645         * m4/rijndael.m4: Remove file.
13646         * modules/crypto/rijndael (Files): Remove it.
13647         (configure.ac): Remove gl_RIJNDAEL call.
13648         (Makefile.am): Augment lib_SOURCES.
13649
13650 2011-05-23  Bruno Haible  <bruno@clisp.org>
13651
13652         readtokens: Move AC_LIBOBJ invocations to module description.
13653         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
13654         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
13655
13656 2011-05-23  Bruno Haible  <bruno@clisp.org>
13657
13658         read-file: Move AC_LIBOBJ invocations to module description.
13659         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
13660         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
13661         of gl_FUNC_READ_FILE.
13662         (Makefile.am): Augment lib_SOURCES.
13663
13664 2011-05-23  Bruno Haible  <bruno@clisp.org>
13665
13666         quotearg: Move AC_LIBOBJ invocations to module description.
13667         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
13668         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
13669
13670 2011-05-23  Bruno Haible  <bruno@clisp.org>
13671
13672         quote: Move AC_LIBOBJ invocations to module description.
13673         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
13674         * modules/quote (Makefile.am): Augment lib_SOURCES.
13675
13676 2011-05-23  Bruno Haible  <bruno@clisp.org>
13677
13678         posixver: Move AC_LIBOBJ invocations to module description.
13679         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
13680         * modules/posixver (Makefile.am): Augment lib_SOURCES.
13681
13682 2011-05-23  Bruno Haible  <bruno@clisp.org>
13683
13684         posixtm: Move AC_LIBOBJ invocations to module description.
13685         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
13686         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
13687
13688 2011-05-23  Bruno Haible  <bruno@clisp.org>
13689
13690         physmem: Move AC_LIBOBJ invocations to module description.
13691         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
13692         * modules/physmem (Makefile.am): Augment lib_SOURCES.
13693
13694 2011-05-23  Bruno Haible  <bruno@clisp.org>
13695
13696         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
13697         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
13698         invocation.
13699         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
13700
13701 2011-05-23  Bruno Haible  <bruno@clisp.org>
13702
13703         mpsort: Move AC_LIBOBJ invocations to module description.
13704         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
13705         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
13706
13707 2011-05-23  Bruno Haible  <bruno@clisp.org>
13708
13709         modechange: Move AC_LIBOBJ invocations to module description.
13710         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
13711         * modules/modechange (Makefile.am): Augment lib_SOURCES.
13712
13713 2011-05-23  Bruno Haible  <bruno@clisp.org>
13714
13715         mkdir-p: Move AC_LIBOBJ invocations to module description.
13716         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
13717         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
13718
13719 2011-05-23  Bruno Haible  <bruno@clisp.org>
13720
13721         mkancesdirs: Move AC_LIBOBJ invocations to module description.
13722         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
13723         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
13724
13725 2011-05-23  Bruno Haible  <bruno@clisp.org>
13726
13727         mgetgroups: Move AC_LIBOBJ invocations to module description.
13728         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
13729         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
13730
13731 2011-05-23  Bruno Haible  <bruno@clisp.org>
13732
13733         memxor: Move AC_LIBOBJ invocations to module description.
13734         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
13735         * modules/memxor (Makefile.am): Augment lib_SOURCES.
13736
13737 2011-05-23  Bruno Haible  <bruno@clisp.org>
13738
13739         memcoll: Move AC_LIBOBJ invocations to module description.
13740         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
13741         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
13742
13743 2011-05-23  Bruno Haible  <bruno@clisp.org>
13744
13745         memcasecmp: Move AC_LIBOBJ invocations to module description.
13746         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
13747         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
13748
13749 2011-05-23  Bruno Haible  <bruno@clisp.org>
13750
13751         crypto/md5: Move AC_LIBOBJ invocations to module description.
13752         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
13753         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
13754
13755 2011-05-23  Bruno Haible  <bruno@clisp.org>
13756
13757         crypto/md4: Move AC_LIBOBJ invocations to module description.
13758         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
13759         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
13760
13761 2011-05-23  Bruno Haible  <bruno@clisp.org>
13762
13763         crypto/md2: Move AC_LIBOBJ invocations to module description.
13764         * m4/md2.m4: Remove file.
13765         * modules/crypto/md2 (Files): Remove it.
13766         (configure.ac): Remove gl_MD2 call.
13767         (Makefile.am): Augment lib_SOURCES.
13768
13769 2011-05-23  Bruno Haible  <bruno@clisp.org>
13770
13771         long-options: Move AC_LIBOBJ invocations to module description.
13772         * m4/long-options.m4: Remove file.
13773         * modules/long-options (Files): Remove it.
13774         (configure.ac): Remove gl_LONG_OPTIONS call.
13775         (Makefile.am): Augment lib_SOURCES.
13776
13777 2011-05-23  Bruno Haible  <bruno@clisp.org>
13778
13779         i-ring: Move AC_LIBOBJ invocations to module description.
13780         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
13781         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
13782
13783 2011-05-23  Bruno Haible  <bruno@clisp.org>
13784
13785         idcache: Move AC_LIBOBJ invocations to module description.
13786         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
13787         * modules/idcache (Makefile.am): Augment lib_SOURCES.
13788
13789 2011-05-23  Bruno Haible  <bruno@clisp.org>
13790
13791         human: Move AC_LIBOBJ invocations to module description.
13792         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
13793         * modules/human (Makefile.am): Augment lib_SOURCES.
13794
13795 2011-05-23  Bruno Haible  <bruno@clisp.org>
13796
13797         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
13798         * m4/hmac-sha1.m4: Remove file.
13799         * modules/crypto/hmac-sha1 (Files): Remove it.
13800         (configure.ac): Remove gl_HMAC_SHA1 call.
13801         (Makefile.am): Augment lib_SOURCES.
13802
13803 2011-05-23  Bruno Haible  <bruno@clisp.org>
13804
13805         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
13806         * m4/hmac-md5.m4: Remove file.
13807         * modules/crypto/hmac-md5 (Files): Remove it.
13808         (configure.ac): Remove gl_HMAC_MD5 call.
13809         (Makefile.am): Augment lib_SOURCES.
13810
13811 2011-05-23  Bruno Haible  <bruno@clisp.org>
13812
13813         hash: Move AC_LIBOBJ invocations to module description.
13814         * m4/hash.m4: Remove file.
13815         * modules/hash (Files): Remove it.
13816         (configure.ac): Remove gl_HASH call.
13817         (Makefile.am): Augment lib_SOURCES.
13818
13819 2011-05-23  Bruno Haible  <bruno@clisp.org>
13820
13821         hard-locale: Move AC_LIBOBJ invocations to module description.
13822         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
13823         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
13824
13825 2011-05-23  Bruno Haible  <bruno@clisp.org>
13826
13827         getugroups: Move AC_LIBOBJ invocations to module description.
13828         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
13829         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
13830
13831 2011-05-23  Bruno Haible  <bruno@clisp.org>
13832
13833         gettime: Move AC_LIBOBJ invocations to module description.
13834         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
13835         * modules/gettime (Makefile.am): Augment lib_SOURCES.
13836
13837 2011-05-23  Bruno Haible  <bruno@clisp.org>
13838
13839         getndelim2: Move AC_LIBOBJ invocations to module description.
13840         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
13841         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
13842
13843 2011-05-23  Bruno Haible  <bruno@clisp.org>
13844
13845         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
13846         * m4/gc-pbkdf2-sha1.m4: Remove file.
13847         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
13848         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
13849         (Makefile.am): Augment lib_SOURCES.
13850
13851 2011-05-23  Bruno Haible  <bruno@clisp.org>
13852
13853         fts: Move AC_LIBOBJ invocations to module description.
13854         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
13855         * modules/fts (configure.ac): ... to here.
13856
13857 2011-05-23  Bruno Haible  <bruno@clisp.org>
13858
13859         file-type: Move AC_LIBOBJ invocations to module description.
13860         * m4/file-type.m4: Remove file.
13861         * modules/file-type (Files): Remove it.
13862         (configure.ac): Remove gl_FILE_TYPE call.
13863         (Makefile.am): Augment lib_SOURCES.
13864
13865 2011-05-23  Bruno Haible  <bruno@clisp.org>
13866
13867         filenamecat*: Respect rules for use of AC_LIBOBJ.
13868         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
13869         Remove AC_LIBOBJ invocation.
13870         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
13871         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
13872
13873 2011-05-23  Bruno Haible  <bruno@clisp.org>
13874
13875         filemode: Move AC_LIBOBJ invocations to module description.
13876         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
13877         * modules/filemode (Makefile.am): Augment lib_SOURCES.
13878
13879 2011-05-23  Bruno Haible  <bruno@clisp.org>
13880
13881         openat-safer: Move AC_LIBOBJ invocations to module description.
13882         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
13883         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
13884
13885 2011-05-23  Bruno Haible  <bruno@clisp.org>
13886
13887         fcntl-safer: Move AC_LIBOBJ invocations to module description.
13888         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
13889         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
13890
13891 2011-05-23  Bruno Haible  <bruno@clisp.org>
13892
13893         exclude: Move AC_LIBOBJ invocations to module description.
13894         * m4/exclude.m4: Remove file.
13895         * modules/exclude (Files): Remove it.
13896         (configure.ac): Remove gl_EXCLUDE call.
13897         (Makefile.am): Augment lib_SOURCES.
13898
13899 2011-05-23  Bruno Haible  <bruno@clisp.org>
13900
13901         dirname*: Respect rules for use of AC_LIBOBJ.
13902         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
13903         invocations.
13904         * modules/dirname (Makefile.am): Augment lib_SOURCES.
13905         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
13906
13907 2011-05-23  Bruno Haible  <bruno@clisp.org>
13908
13909         dirent-safer: Move AC_LIBOBJ invocations to module description.
13910         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
13911         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
13912
13913 2011-05-23  Bruno Haible  <bruno@clisp.org>
13914
13915         crypto/des: Move AC_LIBOBJ invocations to module description.
13916         * m4/des.m4: Remove file.
13917         * modules/crypto/des (Files): Remove it.
13918         (configure.ac): Remove gl_DES call.
13919         (Makefile.am): Augment lib_SOURCES.
13920
13921 2011-05-23  Bruno Haible  <bruno@clisp.org>
13922
13923         cycle-check: Move AC_LIBOBJ invocations to module description.
13924         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
13925         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
13926
13927 2011-05-23  Bruno Haible  <bruno@clisp.org>
13928
13929         c-strtold: Move AC_LIBOBJ invocations to module description.
13930         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
13931         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
13932
13933 2011-05-23  Bruno Haible  <bruno@clisp.org>
13934
13935         c-strtod: Move AC_LIBOBJ invocations to module description.
13936         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
13937         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
13938
13939 2011-05-23  Bruno Haible  <bruno@clisp.org>
13940
13941         crc: Move AC_LIBOBJ invocations to module description.
13942         * m4/crc.m4: Remove file.
13943         * modules/crc (Files): Remove it.
13944         (configure.ac): Remove gl_CRC call.
13945         (Makefile.am): Augment lib_SOURCES.
13946
13947 2011-05-23  Bruno Haible  <bruno@clisp.org>
13948
13949         close-stream: Move AC_LIBOBJ invocations to module description.
13950         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
13951         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
13952
13953 2011-05-23  Bruno Haible  <bruno@clisp.org>
13954
13955         closeout: Move AC_LIBOBJ invocations to module description.
13956         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
13957         * modules/closeout (Makefile.am): Augment lib_SOURCES.
13958
13959 2011-05-23  Bruno Haible  <bruno@clisp.org>
13960
13961         closein: Move AC_LIBOBJ invocations to module description.
13962         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
13963         * modules/closein (Makefile.am): Augment lib_SOURCES.
13964
13965 2011-05-23  Bruno Haible  <bruno@clisp.org>
13966
13967         cloexec: Move AC_LIBOBJ invocations to module description.
13968         * m4/cloexec.m4: Remove file.
13969         * modules/cloexec (Files): Remove it.
13970         (configure.ac): Remove gl_CLOEXEC call.
13971         (Makefile.am): Augment lib_SOURCES.
13972
13973 2011-05-23  Bruno Haible  <bruno@clisp.org>
13974
13975         check-version: Move AC_LIBOBJ invocations to module description.
13976         * m4/check-version.m4: Remove file.
13977         * modules/check-version (Files): Remove it.
13978         (configure.ac): Remove gl_CHECK_VERSION call.
13979         (Makefile.am): Augment lib_SOURCES.
13980
13981 2011-05-23  Bruno Haible  <bruno@clisp.org>
13982
13983         chdir-safer: Move AC_LIBOBJ invocations to module description.
13984         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
13985         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
13986
13987 2011-05-23  Bruno Haible  <bruno@clisp.org>
13988
13989         canonicalize: Move AC_LIBOBJ invocations to module description.
13990         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
13991         AC_LIBOBJ invocation.
13992         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
13993
13994 2011-05-23  Bruno Haible  <bruno@clisp.org>
13995
13996         canon-host: Move AC_LIBOBJ invocations to module description.
13997         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
13998         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
13999         instead of gl_CANON_HOST.
14000         (Makefile.am): Augment lib_SOURCES.
14001
14002 2011-05-23  Bruno Haible  <bruno@clisp.org>
14003
14004         backupfile: Move AC_LIBOBJ invocations to module description.
14005         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14006         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14007
14008 2011-05-23  Bruno Haible  <bruno@clisp.org>
14009
14010         argmatch: Move AC_LIBOBJ invocations to module description.
14011         * m4/argmatch.m4: Remove file.
14012         * modules/argmatch (Files): Remove it.
14013         (configure.ac): Remove gl_ARGMATCH call.
14014         (Makefile.am): Augment lib_SOURCES.
14015
14016 2011-05-23  Bruno Haible  <bruno@clisp.org>
14017
14018         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14019         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14020         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14021
14022 2011-05-23  Bruno Haible  <bruno@clisp.org>
14023
14024         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14025         * m4/arcfour.m4: Remove file.
14026         * modules/crypto/arcfour (Files): Remove it.
14027         (configure.ac): Remove gl_ARCFOUR call.
14028         (Makefile.am): Augment lib_SOURCES.
14029
14030 2011-05-22  Bruno Haible  <bruno@clisp.org>
14031
14032         write: Move AC_LIBOBJ invocations to module description.
14033         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14034         * modules/write (configure.ac): ... to here.
14035
14036 2011-05-22  Bruno Haible  <bruno@clisp.org>
14037
14038         wmemset: Move AC_LIBOBJ invocations to module description.
14039         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14040         here...
14041         * modules/wmemset (configure.ac): ... to here.
14042
14043 2011-05-22  Bruno Haible  <bruno@clisp.org>
14044
14045         wmemmove: Move AC_LIBOBJ invocations to module description.
14046         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14047         here...
14048         * modules/wmemmove (configure.ac): ... to here.
14049
14050 2011-05-22  Bruno Haible  <bruno@clisp.org>
14051
14052         wmemcpy: Move AC_LIBOBJ invocations to module description.
14053         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14054         here...
14055         * modules/wmemcpy (configure.ac): ... to here.
14056
14057 2011-05-22  Bruno Haible  <bruno@clisp.org>
14058
14059         wmemcmp: Move AC_LIBOBJ invocations to module description.
14060         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14061         here...
14062         * modules/wmemcmp (configure.ac): ... to here.
14063
14064 2011-05-22  Bruno Haible  <bruno@clisp.org>
14065
14066         wmemchr: Move AC_LIBOBJ invocations to module description.
14067         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14068         here...
14069         * modules/wmemchr (configure.ac): ... to here.
14070
14071 2011-05-22  Bruno Haible  <bruno@clisp.org>
14072
14073         wcswidth: Move AC_LIBOBJ invocations to module description.
14074         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14075         here...
14076         * modules/wcswidth (configure.ac): ... to here.
14077
14078 2011-05-22  Bruno Haible  <bruno@clisp.org>
14079
14080         wcwidth: Respect rules for use of AC_LIBOBJ.
14081         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14082         invocation from here...
14083         * modules/wcwidth (configure.ac): ... to here.
14084         (Depends-on): Update conditions.
14085
14086 2011-05-22  Bruno Haible  <bruno@clisp.org>
14087
14088         wctype: Move AC_LIBOBJ invocations to module description.
14089         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14090         invocation from here...
14091         * modules/wctype (configure.ac): ... to here.
14092         (Depends-on): Update conditions.
14093
14094 2011-05-22  Bruno Haible  <bruno@clisp.org>
14095
14096         wctrans: Move AC_LIBOBJ invocations to module description.
14097         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14098         invocation from here...
14099         * modules/wctrans (configure.ac): ... to here.
14100
14101 2011-05-22  Bruno Haible  <bruno@clisp.org>
14102
14103         wctomb: Move AC_LIBOBJ invocations to module description.
14104         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14105         invocations from here...
14106         * modules/wctomb (configure.ac): ... to here.
14107
14108 2011-05-22  Bruno Haible  <bruno@clisp.org>
14109
14110         wctob: Move AC_LIBOBJ invocations to module description.
14111         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14112         gl_PREREQ_WCTOB invocations from here...
14113         * modules/wctob (configure.ac): ... to here.
14114         (Depends-on): Update conditions.
14115
14116 2011-05-22  Bruno Haible  <bruno@clisp.org>
14117
14118         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14119         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14120         here...
14121         * modules/wcsxfrm (configure.ac): ... to here.
14122
14123 2011-05-22  Bruno Haible  <bruno@clisp.org>
14124
14125         wcstok: Move AC_LIBOBJ invocations to module description.
14126         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14127         * modules/wcstok (configure.ac): ... to here.
14128
14129 2011-05-22  Bruno Haible  <bruno@clisp.org>
14130
14131         wcsstr: Move AC_LIBOBJ invocations to module description.
14132         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14133         * modules/wcsstr (configure.ac): ... to here.
14134
14135 2011-05-22  Bruno Haible  <bruno@clisp.org>
14136
14137         wcsspn: Move AC_LIBOBJ invocations to module description.
14138         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14139         * modules/wcsspn (configure.ac): ... to here.
14140
14141 2011-05-22  Bruno Haible  <bruno@clisp.org>
14142
14143         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14144         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14145         gl_PREREQ_WCSRTOMBS invocations from here...
14146         * modules/wcsrtombs (configure.ac): ... to here.
14147
14148 2011-05-22  Bruno Haible  <bruno@clisp.org>
14149
14150         wcsrchr: Move AC_LIBOBJ invocations to module description.
14151         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14152         here...
14153         * modules/wcsrchr (configure.ac): ... to here.
14154
14155 2011-05-22  Bruno Haible  <bruno@clisp.org>
14156
14157         wcspbrk: Move AC_LIBOBJ invocations to module description.
14158         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14159         here...
14160         * modules/wcspbrk (configure.ac): ... to here.
14161
14162 2011-05-22  Bruno Haible  <bruno@clisp.org>
14163
14164         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14165         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14166         gl_PREREQ_WCSNRTOMBS invocations from here...
14167         * modules/wcsnrtombs (configure.ac): ... to here.
14168
14169 2011-05-22  Bruno Haible  <bruno@clisp.org>
14170
14171         wcsnlen: Move AC_LIBOBJ invocations to module description.
14172         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
14173         here...
14174         * modules/wcsnlen (configure.ac): ... to here.
14175
14176 2011-05-22  Bruno Haible  <bruno@clisp.org>
14177
14178         wcsncpy: Move AC_LIBOBJ invocations to module description.
14179         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
14180         here...
14181         * modules/wcsncpy (configure.ac): ... to here.
14182
14183 2011-05-22  Bruno Haible  <bruno@clisp.org>
14184
14185         wcsncmp: Move AC_LIBOBJ invocations to module description.
14186         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
14187         here...
14188         * modules/wcsncmp (configure.ac): ... to here.
14189
14190 2011-05-22  Bruno Haible  <bruno@clisp.org>
14191
14192         wcsncat: Move AC_LIBOBJ invocations to module description.
14193         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
14194         here...
14195         * modules/wcsncat (configure.ac): ... to here.
14196
14197 2011-05-22  Bruno Haible  <bruno@clisp.org>
14198
14199         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
14200         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
14201         from here...
14202         * modules/wcsncasecmp (configure.ac): ... to here.
14203
14204 2011-05-22  Bruno Haible  <bruno@clisp.org>
14205
14206         wcslen: Move AC_LIBOBJ invocations to module description.
14207         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
14208         * modules/wcslen (configure.ac): ... to here.
14209
14210 2011-05-22  Bruno Haible  <bruno@clisp.org>
14211
14212         wcsdup: Move AC_LIBOBJ invocations to module description.
14213         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
14214         * modules/wcsdup (configure.ac): ... to here.
14215
14216 2011-05-22  Bruno Haible  <bruno@clisp.org>
14217
14218         wcscspn: Move AC_LIBOBJ invocations to module description.
14219         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
14220         here...
14221         * modules/wcscspn (configure.ac): ... to here.
14222
14223 2011-05-22  Bruno Haible  <bruno@clisp.org>
14224
14225         wcscpy: Move AC_LIBOBJ invocations to module description.
14226         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
14227         * modules/wcscpy (configure.ac): ... to here.
14228
14229 2011-05-22  Bruno Haible  <bruno@clisp.org>
14230
14231         wcscoll: Move AC_LIBOBJ invocations to module description.
14232         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
14233         here...
14234         * modules/wcscoll (configure.ac): ... to here.
14235
14236 2011-05-22  Bruno Haible  <bruno@clisp.org>
14237
14238         wcscmp: Move AC_LIBOBJ invocations to module description.
14239         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
14240         * modules/wcscmp (configure.ac): ... to here.
14241
14242 2011-05-22  Bruno Haible  <bruno@clisp.org>
14243
14244         wcschr: Move AC_LIBOBJ invocations to module description.
14245         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
14246         * modules/wcschr (configure.ac): ... to here.
14247
14248 2011-05-22  Bruno Haible  <bruno@clisp.org>
14249
14250         wcscat: Move AC_LIBOBJ invocations to module description.
14251         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
14252         * modules/wcscat (configure.ac): ... to here.
14253
14254 2011-05-22  Bruno Haible  <bruno@clisp.org>
14255
14256         wcscasecmp: Move AC_LIBOBJ invocations to module description.
14257         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
14258         here...
14259         * modules/wcscasecmp (configure.ac): ... to here.
14260
14261 2011-05-22  Bruno Haible  <bruno@clisp.org>
14262
14263         wcrtomb: Move AC_LIBOBJ invocations to module description.
14264         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
14265         invocations from here...
14266         * modules/wcrtomb (configure.ac): ... to here.
14267
14268 2011-05-22  Bruno Haible  <bruno@clisp.org>
14269
14270         wcpncpy: Move AC_LIBOBJ invocations to module description.
14271         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
14272         here...
14273         * modules/wcpncpy (configure.ac): ... to here.
14274
14275 2011-05-22  Bruno Haible  <bruno@clisp.org>
14276
14277         wcpcpy: Move AC_LIBOBJ invocations to module description.
14278         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
14279         * modules/wcpcpy (configure.ac): ... to here.
14280
14281 2011-05-22  Bruno Haible  <bruno@clisp.org>
14282
14283         waitpid: Move AC_LIBOBJ invocations to module description.
14284         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
14285         invocation from here...
14286         * modules/waitpid (configure.ac): ... to here.
14287
14288 2011-05-22  Bruno Haible  <bruno@clisp.org>
14289
14290         utimensat: Move AC_LIBOBJ invocations to module description.
14291         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
14292         here...
14293         * modules/utimensat (configure.ac): ... to here.
14294
14295 2011-05-22  Bruno Haible  <bruno@clisp.org>
14296
14297         usleep: Move AC_LIBOBJ invocations to module description.
14298         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
14299         here...
14300         * modules/usleep (configure.ac): ... to here.
14301
14302 2011-05-22  Bruno Haible  <bruno@clisp.org>
14303
14304         unlockpt: Move AC_LIBOBJ invocations to module description.
14305         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
14306         gl_PREREQ_UNLOCKPT invocations from here...
14307         * modules/unlockpt (configure.ac): ... to here.
14308
14309 2011-05-22  Bruno Haible  <bruno@clisp.org>
14310
14311         unlink: Respect rules for use of AC_LIBOBJ.
14312         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
14313         * modules/unlink (configure.ac): ... to here.
14314
14315 2011-05-22  Bruno Haible  <bruno@clisp.org>
14316
14317         uname: Move AC_LIBOBJ invocations to module description.
14318         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
14319         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
14320         here...
14321         * modules/uname (configure.ac): ... to here.
14322
14323 2011-05-22  Bruno Haible  <bruno@clisp.org>
14324
14325         ttyname_r: Move AC_LIBOBJ invocations to module description.
14326         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
14327         gl_PREREQ_TTYNAME_R invocations from here...
14328         * modules/ttyname_r (configure.ac): ... to here.
14329
14330 2011-05-22  Bruno Haible  <bruno@clisp.org>
14331
14332         tsearch: Move AC_LIBOBJ invocations to module description.
14333         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
14334         invocations from here...
14335         * modules/tsearch (configure.ac): ... to here.
14336
14337 2011-05-22  Bruno Haible  <bruno@clisp.org>
14338
14339         towctrans: Move AC_LIBOBJ invocations to module description.
14340         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
14341         AC_LIBOBJ invocation from here...
14342         * modules/towctrans (configure.ac): ... to here.
14343
14344 2011-05-22  Bruno Haible  <bruno@clisp.org>
14345
14346         tmpfile: Move AC_LIBOBJ invocations to module description.
14347         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
14348         invocations from here...
14349         * modules/tmpfile (configure.ac): ... to here.
14350
14351 2011-05-22  Bruno Haible  <bruno@clisp.org>
14352
14353         times: Move AC_LIBOBJ invocations to module description.
14354         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
14355         * modules/times (configure.ac): ... to here.
14356
14357 2011-05-22  Bruno Haible  <bruno@clisp.org>
14358
14359         time_r: Move AC_LIBOBJ invocations to module description.
14360         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
14361         invocations from here...
14362         * modules/time_r (configure.ac): ... to here.
14363
14364 2011-05-22  Bruno Haible  <bruno@clisp.org>
14365
14366         timegm: Move AC_LIBOBJ invocations to module description.
14367         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
14368         invocations from here...
14369         * modules/timegm (configure.ac): ... to here.
14370
14371 2011-05-22  Bruno Haible  <bruno@clisp.org>
14372
14373         tcgetsid: Move AC_LIBOBJ invocations to module description.
14374         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
14375         and gl_PREREQ_TCGETSID invocations from here...
14376         * modules/tcgetsid (configure.ac): ... to here.
14377         (Depends-on): Update conditions.
14378
14379 2011-05-22  Bruno Haible  <bruno@clisp.org>
14380
14381         symlinkat: Move AC_LIBOBJ invocations to module description.
14382         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
14383         here...
14384         * modules/symlinkat (configure.ac): ... to here.
14385
14386 2011-05-22  Bruno Haible  <bruno@clisp.org>
14387
14388         symlink: Move AC_LIBOBJ invocations to module description.
14389         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
14390         here...
14391         * modules/symlink (configure.ac): ... to here.
14392
14393 2011-05-22  Bruno Haible  <bruno@clisp.org>
14394
14395         strverscmp: Move AC_LIBOBJ invocations to module description.
14396         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
14397         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
14398         from here...
14399         * modules/strverscmp (configure.ac): ... to here.
14400
14401 2011-05-22  Bruno Haible  <bruno@clisp.org>
14402
14403         strtok_r: Move AC_LIBOBJ invocations to module description.
14404         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
14405         and gl_PREREQ_STRTOK_R invocations from here...
14406         * modules/strtok_r (configure.ac): ... to here.
14407         (Depends-on): Update conditions.
14408
14409 2011-05-22  Bruno Haible  <bruno@clisp.org>
14410
14411         strtoumax: Move AC_LIBOBJ invocations to module description.
14412         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
14413         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
14414         from here...
14415         * modules/strtoumax (configure.ac): ... to here.
14416
14417 2011-05-22  Bruno Haible  <bruno@clisp.org>
14418
14419         strtoimax: Move AC_LIBOBJ invocations to module description.
14420         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
14421         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
14422         from here...
14423         * modules/strtoimax (configure.ac): ... to here.
14424
14425 2011-05-22  Bruno Haible  <bruno@clisp.org>
14426
14427         strtoull: Move AC_LIBOBJ invocations to module description.
14428         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
14429         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
14430         from here...
14431         * modules/strtoull (configure.ac): ... to here.
14432
14433 2011-05-22  Bruno Haible  <bruno@clisp.org>
14434
14435         strtoll: Move AC_LIBOBJ invocations to module description.
14436         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
14437         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
14438         here...
14439         * modules/strtoll (configure.ac): ... to here.
14440
14441 2011-05-22  Bruno Haible  <bruno@clisp.org>
14442
14443         strtoul: Move AC_LIBOBJ invocations to module description.
14444         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
14445         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14446         * modules/strtoul (configure.ac): ... to here.
14447
14448 2011-05-22  Bruno Haible  <bruno@clisp.org>
14449
14450         strtol: Move AC_LIBOBJ invocations to module description.
14451         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
14452         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
14453         * modules/strtol (configure.ac): ... to here.
14454
14455 2011-05-22  Bruno Haible  <bruno@clisp.org>
14456
14457         strtod: Move AC_LIBOBJ invocations to module description.
14458         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
14459         invocations from here...
14460         * modules/strtod (configure.ac): ... to here.
14461
14462 2011-05-22  Bruno Haible  <bruno@clisp.org>
14463
14464         strstr*: Move AC_LIBOBJ invocations to module description.
14465         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
14466         invocations from here...
14467         * modules/strstr-simple (configure.ac): ... to here.
14468         * modules/strstr (configure.ac): ... and here.
14469
14470 2011-05-22  Bruno Haible  <bruno@clisp.org>
14471
14472         strsignal: Move AC_LIBOBJ invocations to module description.
14473         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
14474         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
14475         * modules/strsignal (configure.ac): ... to here.
14476         (Depends-on): Update conditions.
14477
14478 2011-05-22  Bruno Haible  <bruno@clisp.org>
14479
14480         strsep: Move AC_LIBOBJ invocations to module description.
14481         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
14482         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
14483         here...
14484         * modules/strsep (configure.ac): ... to here.
14485
14486 2011-05-22  Bruno Haible  <bruno@clisp.org>
14487
14488         strptime: Move AC_LIBOBJ invocations to module description.
14489         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
14490         gl_PREREQ_STRPTIME invocations from here...
14491         * modules/strptime (configure.ac): ... to here.
14492
14493 2011-05-22  Bruno Haible  <bruno@clisp.org>
14494
14495         strpbrk: Move AC_LIBOBJ invocations to module description.
14496         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
14497         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
14498         here...
14499         * modules/strpbrk (configure.ac): ... to here.
14500
14501 2011-05-22  Bruno Haible  <bruno@clisp.org>
14502
14503         strnlen: Move AC_LIBOBJ invocations to module description.
14504         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
14505         invocations from here...
14506         * modules/strnlen (configure.ac): ... to here.
14507
14508 2011-05-22  Bruno Haible  <bruno@clisp.org>
14509
14510         strndup: Move AC_LIBOBJ invocations to module description.
14511         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
14512         invocations from here...
14513         * modules/strndup (configure.ac): ... to here.
14514         (Depends-on): Update conditions.
14515
14516 2011-05-22  Bruno Haible  <bruno@clisp.org>
14517
14518         strncat: Move AC_LIBOBJ invocations to module description.
14519         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
14520         invocations from here...
14521         * modules/strncat (configure.ac): ... to here.
14522
14523 2011-05-22  Bruno Haible  <bruno@clisp.org>
14524
14525         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
14526         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
14527         invocations from here...
14528         * modules/strdup (configure.ac): ... to here.
14529         * modules/strdup-posix (configure.ac): ... and here.
14530
14531 2011-05-22  Bruno Haible  <bruno@clisp.org>
14532
14533         strcspn: Move AC_LIBOBJ invocations to module description.
14534         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
14535         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
14536         here...
14537         * modules/strcspn (configure.ac): ... to here.
14538
14539 2011-05-22  Bruno Haible  <bruno@clisp.org>
14540
14541         strchrnul: Move AC_LIBOBJ invocations to module description.
14542         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
14543         gl_PREREQ_STRCHRNUL invocations from here...
14544         * modules/strchrnul (configure.ac): ... to here.
14545
14546 2011-05-22  Bruno Haible  <bruno@clisp.org>
14547
14548         strcasestr*: Move AC_LIBOBJ invocations to module description.
14549         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
14550         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
14551         * modules/strcasestr-simple (configure.ac): ... to here.
14552         * modules/strcasestr (configure.ac): ... and here.
14553
14554 2011-05-22  Bruno Haible  <bruno@clisp.org>
14555
14556         strcase: Move AC_LIBOBJ invocations to module description.
14557         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
14558         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
14559         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
14560         gl_PREREQ_STRNCASECMP invocations from here...
14561         * modules/strcase (configure.ac): ... to here.
14562
14563 2011-05-22  Bruno Haible  <bruno@clisp.org>
14564
14565         stpncpy: Move AC_LIBOBJ invocations to module description.
14566         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
14567         here...
14568         * modules/stpncpy (configure.ac): ... to here.
14569
14570 2011-05-22  Bruno Haible  <bruno@clisp.org>
14571
14572         stpcpy: Move AC_LIBOBJ invocations to module description.
14573         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
14574         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
14575         here...
14576         * modules/stpcpy (configure.ac): ... to here.
14577
14578 2011-05-21  Bruno Haible  <bruno@clisp.org>
14579
14580         stat: Move AC_LIBOBJ invocations to module description.
14581         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
14582         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
14583         here...
14584         * modules/stat (configure.ac): ... to here.
14585
14586 2011-05-21  Bruno Haible  <bruno@clisp.org>
14587
14588         sleep: Move AC_LIBOBJ invocations to module description.
14589         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
14590         * modules/sleep (configure.ac): ... to here.
14591
14592 2011-05-21  Bruno Haible  <bruno@clisp.org>
14593
14594         signbit: Move AC_LIBOBJ invocations to module description.
14595         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
14596         * modules/signbit (configure.ac): ... to here.
14597
14598 2011-05-21  Bruno Haible  <bruno@clisp.org>
14599
14600         sigprocmask: Move AC_LIBOBJ invocations to module description.
14601         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
14602         gl_PREREQ_SIGPROMASK invocations from here...
14603         * modules/sigprocmask (configure.ac): ... to here.
14604
14605 2011-05-21  Bruno Haible  <bruno@clisp.org>
14606
14607         sigaction: Move AC_LIBOBJ invocations to module description.
14608         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
14609         gl_PREREQ_SIGACTION invocations from here...
14610         * modules/sigaction (configure.ac): ... to here.
14611
14612 2011-05-21  Bruno Haible  <bruno@clisp.org>
14613
14614         sig2str: Move AC_LIBOBJ invocations to module description.
14615         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
14616         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
14617         here...
14618         * modules/sig2str (configure.ac): ... to here.
14619
14620 2011-05-21  Bruno Haible  <bruno@clisp.org>
14621
14622         setlocale: Move AC_LIBOBJ invocations to module description.
14623         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
14624         gl_PREREQ_SETLOCALE invocations from here...
14625         * modules/setlocale (configure.ac): ... to here.
14626
14627 2011-05-21  Bruno Haible  <bruno@clisp.org>
14628
14629         unsetenv: Move AC_LIBOBJ invocations to module description.
14630         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
14631         and gl_PREREQ_UNSETENV invocations from here...
14632         * modules/unsetenv (configure.ac): ... to here.
14633         (Depends-on): Update.
14634
14635 2011-05-21  Bruno Haible  <bruno@clisp.org>
14636
14637         setenv: Move AC_LIBOBJ invocations to module description.
14638         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
14639         here...
14640         * modules/setenv (configure.ac): ... to here.
14641
14642 2011-05-21  Bruno Haible  <bruno@clisp.org>
14643
14644         selinux-h: Move AC_LIBOBJ invocations to module description.
14645         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
14646         AC_LIBOBJ invocation from here...
14647         * modules/selinux-h (configure.ac): ... to here.
14648
14649 2011-05-21  Bruno Haible  <bruno@clisp.org>
14650
14651         select: Respect rules for use of AC_LIBOBJ.
14652         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
14653         here...
14654         * modules/select (configure.ac): ... to here.
14655
14656 2011-05-21  Bruno Haible  <bruno@clisp.org>
14657
14658         scandir: Move AC_LIBOBJ invocations to module description.
14659         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
14660         invocations from here...
14661         * modules/scandir (configure.ac): ... to here.
14662
14663 2011-05-21  Bruno Haible  <bruno@clisp.org>
14664
14665         rpmatch: Move AC_LIBOBJ invocations to module description.
14666         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
14667         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
14668         here...
14669         * modules/rpmatch (configure.ac): ... to here.
14670
14671 2011-05-21  Bruno Haible  <bruno@clisp.org>
14672
14673         rmdir: Respect rules for use of AC_LIBOBJ.
14674         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
14675         * modules/rmdir (configure.ac): ... to here.
14676
14677 2011-05-21  Bruno Haible  <bruno@clisp.org>
14678
14679         renameat: Move AC_LIBOBJ invocations to module description.
14680         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
14681         here...
14682         * modules/renameat (configure.ac): ... to here.
14683
14684 2011-05-21  Bruno Haible  <bruno@clisp.org>
14685
14686         rename: Respect rules for use of AC_LIBOBJ.
14687         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
14688         here...
14689         * modules/rename (configure.ac): ... to here.
14690
14691 2011-05-21  Bruno Haible  <bruno@clisp.org>
14692
14693         remove: Move AC_LIBOBJ invocations to module description.
14694         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
14695         here...
14696         * modules/remove (configure.ac): ... to here.
14697
14698 2011-05-21  Bruno Haible  <bruno@clisp.org>
14699
14700         relocatable-lib: Move AC_LIBOBJ invocations to module description.
14701         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
14702         macro.
14703         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
14704         * modules/relocatable-lib (configure.ac): ... to here.
14705         * modules/relocatable-prog-wrapper (configure.ac): Invoke
14706         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
14707
14708 2011-05-21  Bruno Haible  <bruno@clisp.org>
14709
14710         relocatable-prog: Move AC_LIBOBJ invocations to module description.
14711         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
14712         here...
14713         * modules/relocatable-prog (configure.ac): ... to here.
14714
14715 2011-05-21  Bruno Haible  <bruno@clisp.org>
14716
14717         regex: Move AC_LIBOBJ invocations to module description.
14718         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
14719         invocations from here...
14720         * modules/regex (configure.ac): ... to here.
14721
14722 2011-05-21  Bruno Haible  <bruno@clisp.org>
14723
14724         realloc-*: Move AC_LIBOBJ invocations to module description.
14725         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
14726         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
14727         AC_LIBOBJ invocations from here...
14728         * modules/realloc-gnu (configure.ac): ... to here.
14729         * modules/realloc-posix (configure.ac): ... and here.
14730
14731 2011-05-21  Bruno Haible  <bruno@clisp.org>
14732
14733         readutmp: Move AC_LIBOBJ invocations to module description.
14734         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
14735         * modules/readutmp (configure.ac): ... to here.
14736
14737 2011-05-21  Bruno Haible  <bruno@clisp.org>
14738
14739         readlinkat: Move AC_LIBOBJ invocations to module description.
14740         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
14741         here...
14742         * modules/readlinkat (configure.ac): ... to here.
14743
14744 2011-05-21  Bruno Haible  <bruno@clisp.org>
14745
14746         readlink: Move AC_LIBOBJ invocations to module description.
14747         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
14748         gl_PREREQ_READLINK invocations from here...
14749         * modules/readlink (configure.ac): ... to here.
14750
14751 2011-05-21  Bruno Haible  <bruno@clisp.org>
14752
14753         readline: Move AC_LIBOBJ invocations to module description.
14754         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
14755         gl_PREREQ_READLINE invocations from here...
14756         * modules/readline (configure.ac): ... to here.
14757
14758 2011-05-21  Bruno Haible  <bruno@clisp.org>
14759
14760         read: Move AC_LIBOBJ invocations to module description.
14761         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
14762         * modules/read (configure.ac): ... to here.
14763
14764 2011-05-21  Bruno Haible  <bruno@clisp.org>
14765
14766         rawmemchr: Move AC_LIBOBJ invocations to module description.
14767         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
14768         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
14769         from here...
14770         * modules/rawmemchr (configure.ac): ... to here.
14771
14772 2011-05-21  Bruno Haible  <bruno@clisp.org>
14773
14774         random_r: Move AC_LIBOBJ invocations to module description.
14775         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
14776         gl_PREREQ_RANDOM_R invocations from here...
14777         * modules/random_r (configure.ac): ... to here.
14778
14779 2011-05-21  Bruno Haible  <bruno@clisp.org>
14780
14781         pwrite: Move AC_LIBOBJ invocations to module description.
14782         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
14783         * modules/pwrite (configure.ac): ... to here.
14784
14785 2011-05-21  Bruno Haible  <bruno@clisp.org>
14786
14787         putenv: Move AC_LIBOBJ invocations to module description.
14788         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
14789         * modules/putenv (configure.ac): ... to here.
14790
14791 2011-05-21  Bruno Haible  <bruno@clisp.org>
14792
14793         login_tty: Move AC_LIBOBJ invocations to module description.
14794         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
14795         * modules/login_tty (configure.ac): ... to here.
14796
14797 2011-05-21  Bruno Haible  <bruno@clisp.org>
14798
14799         openpty: Move AC_LIBOBJ invocations to module description.
14800         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
14801         * modules/openpty (configure.ac): ... to here.
14802
14803 2011-05-21  Bruno Haible  <bruno@clisp.org>
14804
14805         forkpty: Move AC_LIBOBJ invocations to module description.
14806         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
14807         * modules/forkpty (configure.ac): ... to here.
14808
14809 2011-05-21  Bruno Haible  <bruno@clisp.org>
14810
14811         ptsname: Move AC_LIBOBJ invocations to module description.
14812         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
14813         invocations from here...
14814         * modules/ptsname (configure.ac): ... to here.
14815
14816 2011-05-21  Bruno Haible  <bruno@clisp.org>
14817
14818         pread: Move AC_LIBOBJ invocations to module description.
14819         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
14820         * modules/pread (configure.ac): ... to here.
14821
14822 2011-05-21  Bruno Haible  <bruno@clisp.org>
14823
14824         posix_spawn*: Move AC_LIBOBJ invocations to module description.
14825         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
14826         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
14827         * modules/posix_spawn (configure.ac): ... to here.
14828         * modules/posix_spawnp (configure.ac): ... and here.
14829
14830 2011-05-21  Bruno Haible  <bruno@clisp.org>
14831
14832         popen: Move AC_LIBOBJ invocations to module description.
14833         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
14834         invocations from here...
14835         * modules/popen (configure.ac): ... to here.
14836
14837 2011-05-21  Bruno Haible  <bruno@clisp.org>
14838
14839         poll: Move AC_LIBOBJ invocations to module description.
14840         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
14841         invocations from here...
14842         * modules/poll (configure.ac): ... to here.
14843
14844 2011-05-21  Bruno Haible  <bruno@clisp.org>
14845
14846         pipe-posix: Move AC_LIBOBJ invocations to module description.
14847         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
14848         * modules/pipe-posix (configure.ac): ... to here.
14849
14850 2011-05-21  Bruno Haible  <bruno@clisp.org>
14851
14852         openat: Respect rules for use of AC_LIBOBJ.
14853         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
14854         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
14855         * modules/openat (configure.ac): ... to here.
14856
14857 2011-05-21  Bruno Haible  <bruno@clisp.org>
14858
14859         obstack-printf*: Move AC_LIBOBJ invocations to module description.
14860         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
14861         invocation from here...
14862         * modules/obstack-printf (configure.ac): ... to here.
14863         * modules/obstack-printf-posix (configure.ac): ... and here.
14864
14865 2011-05-21  Bruno Haible  <bruno@clisp.org>
14866
14867         nl_langinfo: Move AC_LIBOBJ invocations to module description.
14868         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
14869         from here...
14870         * modules/nl_langinfo (configure.ac): ... to here.
14871
14872 2011-05-21  Bruno Haible  <bruno@clisp.org>
14873
14874         nanosleep: Move AC_LIBOBJ invocations to module description.
14875         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
14876         gl_PREREQ_NANOSLEEP invocations from here...
14877         * modules/nanosleep (configure.ac): ... to here.
14878
14879 2011-05-21  Bruno Haible  <bruno@clisp.org>
14880
14881         mountlist: Move AC_LIBOBJ invocations to module description.
14882         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
14883         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
14884         * modules/mountlist (configure.ac): ... to here.
14885
14886 2011-05-21  Bruno Haible  <bruno@clisp.org>
14887
14888         mktime: Respect rules for use of AC_LIBOBJ.
14889         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
14890         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
14891         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
14892         (gl_FUNC_MKTIME_INTERNAL): ... and here...
14893         * modules/mktime (configure.ac): ... to here.
14894         * modules/mktime-internal (configure.ac): ... and here.
14895         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
14896
14897 2011-05-21  Bruno Haible  <bruno@clisp.org>
14898
14899         mkstemps: Move AC_LIBOBJ invocations to module description.
14900         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
14901         here...
14902         * modules/mkstemps (configure.ac): ... to here.
14903
14904 2011-05-21  Bruno Haible  <bruno@clisp.org>
14905
14906         mkstemp: Move AC_LIBOBJ invocations to module description.
14907         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
14908         gl_PREREQ_MKSTEMP invocations from here...
14909         * modules/mkstemp (configure.ac): ... to here.
14910
14911 2011-05-21  Bruno Haible  <bruno@clisp.org>
14912
14913         mkostemps: Move AC_LIBOBJ invocations to module description.
14914         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
14915         here...
14916         * modules/mkostemps (configure.ac): ... to here.
14917
14918 2011-05-21  Bruno Haible  <bruno@clisp.org>
14919
14920         mkostemp: Move AC_LIBOBJ invocations to module description.
14921         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
14922         gl_PREREQ_MKOSTEMP invocations from here...
14923         * modules/mkostemp (configure.ac): ... to here.
14924
14925 2011-05-21  Bruno Haible  <bruno@clisp.org>
14926
14927         mknod: Move AC_LIBOBJ invocations to module description.
14928         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
14929         * modules/mknod (configure.ac): ... to here.
14930
14931 2011-05-21  Bruno Haible  <bruno@clisp.org>
14932
14933         mkfifoat: Move AC_LIBOBJ invocations to module description.
14934         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
14935         here...
14936         * modules/mkfifoat (configure.ac): ... to here.
14937
14938 2011-05-21  Bruno Haible  <bruno@clisp.org>
14939
14940         mkfifo: Respect rules for use of AC_LIBOBJ.
14941         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
14942         here...
14943         * modules/mkfifo (configure.ac): ... to here.
14944
14945 2011-05-21  Bruno Haible  <bruno@clisp.org>
14946
14947         mkdtemp: Move AC_LIBOBJ invocations to module description.
14948         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
14949         invocations from here...
14950         * modules/mkdtemp (configure.ac): ... to here.
14951
14952 2011-05-21  Bruno Haible  <bruno@clisp.org>
14953
14954         mkdir: Move AC_LIBOBJ invocations to module description.
14955         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
14956         * modules/mkdir (configure.ac): ... to here.
14957
14958 2011-05-21  Bruno Haible  <bruno@clisp.org>
14959
14960         memset: Move AC_LIBOBJ invocations to module description.
14961         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
14962         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
14963         here...
14964         * modules/memset (configure.ac): ... to here.
14965
14966 2011-05-21  Bruno Haible  <bruno@clisp.org>
14967
14968         memrchr: Move AC_LIBOBJ invocations to module description.
14969         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
14970         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
14971         here...
14972         * modules/memrchr (configure.ac): ... to here.
14973
14974 2011-05-21  Bruno Haible  <bruno@clisp.org>
14975
14976         mempcpy: Move AC_LIBOBJ invocations to module description.
14977         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
14978         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
14979         here...
14980         * modules/mempcpy (configure.ac): ... to here.
14981
14982 2011-05-21  Bruno Haible  <bruno@clisp.org>
14983
14984         memmove: Move AC_LIBOBJ invocations to module description.
14985         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
14986         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
14987         here...
14988         * modules/memmove (configure.ac): ... to here.
14989
14990 2011-05-21  Bruno Haible  <bruno@clisp.org>
14991
14992         memmem*: Move AC_LIBOBJ invocations to module description.
14993         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
14994         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
14995         here...
14996         (gl_FUNC_MEMMEM): ... and here...
14997         * modules/memmem-simple (configure.ac): ... to here.
14998         * modules/memmem (configure.ac): ... and here.
14999
15000 2011-05-21  Bruno Haible  <bruno@clisp.org>
15001
15002         memcpy: Move AC_LIBOBJ invocations to module description.
15003         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15004         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15005         here...
15006         * modules/memcpy (configure.ac): ... to here.
15007
15008 2011-05-21  Bruno Haible  <bruno@clisp.org>
15009
15010         memcmp: Simplify autoconf macro.
15011         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15012         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15013         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15014
15015 2011-05-21  Bruno Haible  <bruno@clisp.org>
15016
15017         memcmp: Move AC_LIBOBJ invocations to module description.
15018         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15019         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15020         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15021         * modules/memcmp (configure.ac): ... to here.
15022         (Depends-on): Update conditions.
15023
15024 2011-05-21  Bruno Haible  <bruno@clisp.org>
15025
15026         memchr: Respect rules for use of AC_LIBOBJ.
15027         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15028         invocations from here...
15029         * modules/memchr (configure.ac): ... to here.
15030
15031 2011-05-21  Bruno Haible  <bruno@clisp.org>
15032
15033         mbtowc: Move AC_LIBOBJ invocations to module description.
15034         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15035         invocations from here...
15036         * modules/mbtowc (configure.ac): ... to here.
15037
15038 2011-05-21  Bruno Haible  <bruno@clisp.org>
15039
15040         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15041         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15042         gl_PREREQ_MBSRTOWCS invocations from here...
15043         * modules/mbsrtowcs (configure.ac): ... to here.
15044
15045 2011-05-21  Bruno Haible  <bruno@clisp.org>
15046
15047         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15048         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15049         gl_PREREQ_MBSNRTOWCS invocations from here...
15050         * modules/mbsnrtowcs (configure.ac): ... to here.
15051
15052 2011-05-21  Bruno Haible  <bruno@clisp.org>
15053
15054         mbsinit: Move AC_LIBOBJ invocations to module description.
15055         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15056         invocations from here...
15057         * modules/mbsinit (configure.ac): ... to here.
15058
15059 2011-05-21  Bruno Haible  <bruno@clisp.org>
15060
15061         mbrlen: Move AC_LIBOBJ invocations to module description.
15062         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15063         invocations from here...
15064         * modules/mbrlen (configure.ac): ... to here.
15065
15066 2011-05-21  Bruno Haible  <bruno@clisp.org>
15067
15068         mbrtowc: Respect rules for use of AC_LIBOBJ.
15069         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15070         invocations from here...
15071         * modules/mbrtowc (configure.ac): ... to here.
15072
15073 2011-05-21  Bruno Haible  <bruno@clisp.org>
15074
15075         malloc-*: Move AC_LIBOBJ invocations to module description.
15076         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15077         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15078         AC_LIBOBJ invocations from here...
15079         * modules/malloc-gnu (configure.ac): ... to here.
15080         * modules/malloc-posix (configure.ac): ... and here.
15081
15082 2011-05-21  Bruno Haible  <bruno@clisp.org>
15083
15084         lstat, openat: Respect rules for use of AC_LIBOBJ.
15085         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15086         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15087         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15088         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15089         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15090         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15091         here.
15092         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15093
15094 2011-05-21  Bruno Haible  <bruno@clisp.org>
15095
15096         lseek: Move AC_LIBOBJ invocations to module description.
15097         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15098         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15099         * modules/lseek (configure.ac): ... to here.
15100
15101 2011-05-21  Bruno Haible  <bruno@clisp.org>
15102
15103         linkat: Move AC_LIBOBJ invocations to module description.
15104         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15105         here...
15106         * modules/linkat (configure.ac): ... to here.
15107
15108 2011-05-21  Bruno Haible  <bruno@clisp.org>
15109
15110         link: Respect rules for use of AC_LIBOBJ.
15111         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15112         * modules/link (configure.ac): ... to here.
15113
15114 2011-05-21  Bruno Haible  <bruno@clisp.org>
15115
15116         lchown: Move AC_LIBOBJ invocations to module description.
15117         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15118         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15119         * modules/lchown (configure.ac): ... to here.
15120
15121 2011-05-21  Bruno Haible  <bruno@clisp.org>
15122
15123         iswctype: Move AC_LIBOBJ invocations to module description.
15124         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15125         here...
15126         * modules/iswctype (configure.ac): ... to here.
15127
15128 2011-05-21  Bruno Haible  <bruno@clisp.org>
15129
15130         iswblank: Move AC_LIBOBJ invocations to module description.
15131         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15132         here...
15133         * modules/iswblank (configure.ac): ... to here.
15134
15135 2011-05-21  Bruno Haible  <bruno@clisp.org>
15136
15137         atanl: Move AC_LIBOBJ invocations to module description.
15138         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15139         * modules/atanl (configure.ac): ... to here.
15140
15141 2011-05-21  Bruno Haible  <bruno@clisp.org>
15142
15143         acosl: Move AC_LIBOBJ invocations to module description.
15144         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15145         * modules/acosl (configure.ac): ... to here.
15146
15147 2011-05-21  Bruno Haible  <bruno@clisp.org>
15148
15149         asinl: Respect rules for use of AC_LIBOBJ.
15150         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15151         * modules/asinl (configure.ac): ... to here.
15152
15153 2011-05-21  Bruno Haible  <bruno@clisp.org>
15154
15155         tanl: Move AC_LIBOBJ invocations to module description.
15156         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15157         * modules/tanl (configure.ac): ... to here.
15158
15159 2011-05-21  Bruno Haible  <bruno@clisp.org>
15160
15161         cosl: Move AC_LIBOBJ invocations to module description.
15162         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15163         * modules/cosl (configure.ac): ... to here.
15164
15165 2011-05-21  Bruno Haible  <bruno@clisp.org>
15166
15167         sinl: Move AC_LIBOBJ invocations to module description.
15168         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15169         * modules/sinl (configure.ac): ... to here.
15170
15171 2011-05-21  Bruno Haible  <bruno@clisp.org>
15172
15173         logl: Move AC_LIBOBJ invocations to module description.
15174         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
15175         * modules/logl (configure.ac): ... to here.
15176
15177 2011-05-21  Bruno Haible  <bruno@clisp.org>
15178
15179         expl: Move AC_LIBOBJ invocations to module description.
15180         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
15181         * modules/expl (configure.ac): ... to here.
15182
15183 2011-05-21  Bruno Haible  <bruno@clisp.org>
15184
15185         roundl: Move AC_LIBOBJ invocations to module description.
15186         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
15187         * modules/roundl (configure.ac): ... to here.
15188
15189 2011-05-21  Bruno Haible  <bruno@clisp.org>
15190
15191         round: Move AC_LIBOBJ invocations to module description.
15192         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
15193         * modules/round (configure.ac): ... to here.
15194
15195 2011-05-21  Bruno Haible  <bruno@clisp.org>
15196
15197         roundf: Move AC_LIBOBJ invocations to module description.
15198         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
15199         * modules/roundf (configure.ac): ... to here.
15200
15201 2011-05-21  Bruno Haible  <bruno@clisp.org>
15202
15203         truncl: Move AC_LIBOBJ invocations to module description.
15204         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
15205         * modules/truncl (configure.ac): ... to here.
15206
15207 2011-05-21  Bruno Haible  <bruno@clisp.org>
15208
15209         trunc: Move AC_LIBOBJ invocations to module description.
15210         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
15211         * modules/trunc (configure.ac): ... to here.
15212
15213 2011-05-21  Bruno Haible  <bruno@clisp.org>
15214
15215         truncf: Move AC_LIBOBJ invocations to module description.
15216         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
15217         * modules/truncf (configure.ac): ... to here.
15218
15219 2011-05-21  Bruno Haible  <bruno@clisp.org>
15220
15221         ceill: Move AC_LIBOBJ invocations to module description.
15222         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
15223         * modules/ceill (configure.ac): ... to here.
15224
15225 2011-05-21  Bruno Haible  <bruno@clisp.org>
15226
15227         ceil: Move AC_LIBOBJ invocations to module description.
15228         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
15229         * modules/ceil (configure.ac): ... to here.
15230
15231 2011-05-21  Bruno Haible  <bruno@clisp.org>
15232
15233         ceilf: Move AC_LIBOBJ invocations to module description.
15234         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
15235         * modules/ceilf (configure.ac): ... to here.
15236
15237 2011-05-21  Bruno Haible  <bruno@clisp.org>
15238
15239         floorl: Respect rules for use of AC_LIBOBJ.
15240         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
15241         * modules/floorl (configure.ac): ... to here.
15242
15243 2011-05-21  Bruno Haible  <bruno@clisp.org>
15244
15245         floor: Respect rules for use of AC_LIBOBJ.
15246         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
15247         * modules/floor (configure.ac): ... to here.
15248
15249 2011-05-21  Bruno Haible  <bruno@clisp.org>
15250
15251         floorf: Move AC_LIBOBJ invocations to module description.
15252         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
15253         * modules/floorf (configure.ac): ... to here.
15254
15255 2011-05-20  Bruno Haible  <bruno@clisp.org>
15256
15257         sqrtl: Respect rules for use of AC_LIBOBJ.
15258         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
15259         * modules/sqrtl (configure.ac): ... to here.
15260
15261 2011-05-20  Bruno Haible  <bruno@clisp.org>
15262
15263         ldexpl: Respect rules for use of AC_LIBOBJ.
15264         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
15265         * modules/ldexpl (configure.ac): ... to here.
15266
15267 2011-05-20  Bruno Haible  <bruno@clisp.org>
15268
15269         frexpl*: Respect rules for use of AC_LIBOBJ.
15270         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
15271         invocation from here...
15272         * modules/frexpl (configure.ac): ... to here.
15273         * modules/frexpl-nolibm (configure.ac): ... and here.
15274
15275 2011-05-20  Bruno Haible  <bruno@clisp.org>
15276
15277         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
15278         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
15279         invocation from here...
15280         * modules/frexp (configure.ac): ... to here.
15281         * modules/frexp-nolibm (configure.ac): ... and here.
15282
15283 2011-05-20  Bruno Haible  <bruno@clisp.org>
15284
15285         isnan: Respect rules for use of AC_LIBOBJ.
15286         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
15287         invocations here.
15288         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
15289         REPLACE_ISNAN.
15290         * modules/isnand (configure.ac): Likewise.
15291         * modules/isnanl (configure.ac): Likewise.
15292
15293 2011-05-20  Bruno Haible  <bruno@clisp.org>
15294
15295         isnanl*: Respect rules for use of AC_LIBOBJ.
15296         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
15297         invocation from here...
15298         * modules/isnanl (configure.ac): ... to here.
15299         * modules/isnanl-nolibm (configure.ac): ... and here.
15300
15301 2011-05-20  Bruno Haible  <bruno@clisp.org>
15302
15303         isnand*: Move AC_LIBOBJ invocations to module description.
15304         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
15305         invocation from here...
15306         * modules/isnand (configure.ac): ... to here.
15307         * modules/isnand-nolibm (configure.ac): ... and here.
15308
15309 2011-05-20  Bruno Haible  <bruno@clisp.org>
15310
15311         isnanf*: Move AC_LIBOBJ invocations to module description.
15312         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
15313         invocation from here...
15314         * modules/isnanf (configure.ac): ... to here.
15315         * modules/isnanf-nolibm (configure.ac): ... and here.
15316
15317 2011-05-20  Bruno Haible  <bruno@clisp.org>
15318
15319         isnan*: Separate the AC_LIBOBJ invocations.
15320         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
15321         AC_LIBOBJ invocation.
15322         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
15323         here.
15324         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
15325         AC_LIBOBJ invocation.
15326         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
15327         here.
15328         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
15329         AC_LIBOBJ invocation.
15330         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
15331         here.
15332         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
15333
15334 2011-05-08  Bruno Haible  <bruno@clisp.org>
15335
15336         isinf: Move AC_LIBOBJ invocations to module description.
15337         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
15338         * modules/isinf (configure.ac): ... to here.
15339
15340 2011-05-08  Bruno Haible  <bruno@clisp.org>
15341
15342         isfinite: Move AC_LIBOBJ invocations to module description.
15343         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
15344         * modules/isfinite (configure.ac): ... to here.
15345
15346 2011-05-08  Bruno Haible  <bruno@clisp.org>
15347
15348         isblank: Move AC_LIBOBJ invocations to module description.
15349         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
15350         here...
15351         * modules/isblank (configure.ac): ... to here.
15352
15353 2011-05-08  Bruno Haible  <bruno@clisp.org>
15354
15355         isapipe: Move AC_LIBOBJ invocations to module description.
15356         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
15357         gl_PREREQ_ISAPIPE invocations from here...
15358         * modules/isapipe (configure.ac): ... to here.
15359         (Depends-on): Update condition.
15360
15361 2011-05-08  Bruno Haible  <bruno@clisp.org>
15362
15363         ioctl: Move AC_LIBOBJ invocations to module description.
15364         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
15365         invocations from here...
15366         * modules/ioctl (configure.ac): ... to here.
15367         (Depends-on): Update condition.
15368
15369 2011-05-08  Bruno Haible  <bruno@clisp.org>
15370
15371         imaxdiv: Move AC_LIBOBJ invocations to module description.
15372         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
15373         invocations from here...
15374         * modules/imaxdiv (configure.ac): ... to here.
15375
15376 2011-05-08  Bruno Haible  <bruno@clisp.org>
15377
15378         imaxabs: Move AC_LIBOBJ invocations to module description.
15379         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
15380         invocations from here...
15381         * modules/imaxabs (configure.ac): ... to here.
15382
15383 2011-05-08  Bruno Haible  <bruno@clisp.org>
15384
15385         getaddrinfo: Move AC_LIBOBJ invocations to module description.
15386         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
15387         AC_LIBOBJ invocations from here...
15388         * modules/getaddrinfo (configure.ac): ... to here.
15389         (Depends-on): Add conditions.
15390
15391 2011-05-08  Bruno Haible  <bruno@clisp.org>
15392
15393         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15394         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
15395         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15396         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
15397         (gl_PREREQ_INET_PTON): ... from here.
15398         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
15399         gl_PREREQ_INET_PTON here.
15400         (Depends-on): Update condition.
15401
15402 2011-05-08  Bruno Haible  <bruno@clisp.org>
15403
15404         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
15405         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
15406         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
15407         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
15408         (gl_PREREQ_INET_NTOP): ... from here.
15409         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
15410         gl_PREREQ_INET_NTOP here.
15411         (Depends-on): Update condition.
15412
15413 2011-05-08  Bruno Haible  <bruno@clisp.org>
15414
15415         iconv_open: Move AC_LIBOBJ invocations to module description.
15416         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
15417         AC_LIBOBJ invocations from here...
15418         * modules/iconv_open (configure.ac): ... to here.
15419
15420 2011-05-08  Bruno Haible  <bruno@clisp.org>
15421
15422         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
15423         If module 'iconv_open' is among the main modules and module
15424         'iconv_open-utf' is among the tests dependencies, then
15425         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
15426         return the special iconv_t values. Therefore iconv() and iconv_close()
15427         must support these special iconv_t values, already in lib, not only in
15428         tests.
15429         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
15430         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
15431         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
15432         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
15433         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
15434         (Depends-on): Add the dependencies of iconv_open-utf.
15435         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
15436         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
15437         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
15438
15439 2011-05-08  Bruno Haible  <bruno@clisp.org>
15440
15441         group-member: Move AC_LIBOBJ invocations to module description.
15442         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
15443         gl_PREREQ_GROUP_MEMBER invocations from here...
15444         * modules/group-member (configure.ac): ... to here.
15445
15446 2011-05-08  Bruno Haible  <bruno@clisp.org>
15447
15448         grantpt: Move AC_LIBOBJ invocations to module description.
15449         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
15450         invocations from here...
15451         * modules/grantpt (configure.ac): ... to here.
15452
15453 2011-05-08  Bruno Haible  <bruno@clisp.org>
15454
15455         glob: Move AC_LIBOBJ invocations to module description.
15456         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
15457         from here...
15458         * modules/glob (configure.ac): ... to here.
15459
15460 2011-05-08  Bruno Haible  <bruno@clisp.org>
15461
15462         getusershell: Move AC_LIBOBJ invocations to module description.
15463         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
15464         Move AC_LIBOBJ invocation from here...
15465         * modules/getusershell (configure.ac): ... to here.
15466         (Depends-on): Update condition.
15467
15468 2011-05-08  Bruno Haible  <bruno@clisp.org>
15469
15470         gettimeofday: Move AC_LIBOBJ invocations to module description.
15471         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
15472         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
15473         gl_PREREQ_GETTIMEOFDAY invocations from here...
15474         * modules/gettimeofday (configure.ac): ... to here.
15475
15476 2011-05-08  Bruno Haible  <bruno@clisp.org>
15477
15478         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
15479         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
15480         just gl_FUNC_TZSET.
15481         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
15482         (gl_FUNC_TZSET_CLOBBER): Remove actions.
15483         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
15484         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
15485
15486 2011-05-08  Bruno Haible  <bruno@clisp.org>
15487
15488         getsubopt: Move AC_LIBOBJ invocations to module description.
15489         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
15490         gl_PREREQ_GETSUBOPT invocations from here...
15491         * modules/getsubopt (configure.ac): ... to here.
15492
15493 2011-05-08  Bruno Haible  <bruno@clisp.org>
15494
15495         getpass-gnu: Move AC_LIBOBJ invocations to module description.
15496         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
15497         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
15498         * modules/getpass-gnu (configure.ac): ... to here.
15499
15500 2011-05-08  Bruno Haible  <bruno@clisp.org>
15501
15502         getpass: Move AC_LIBOBJ invocations to module description.
15503         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
15504         gl_PREREQ_GETPASS invocations from here...
15505         * modules/getpass (configure.ac): ... to here.
15506
15507 2011-05-08  Bruno Haible  <bruno@clisp.org>
15508
15509         getpagesize: Move AC_LIBOBJ invocations to module description.
15510         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
15511         from here...
15512         * modules/getpagesize (configure.ac): ... to here.
15513
15514 2011-05-08  Bruno Haible  <bruno@clisp.org>
15515
15516         getopt: Move AC_LIBOBJ invocations to module description.
15517         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
15518         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
15519         invocations from here...
15520         * modules/getopt-gnu (configure.ac): ... to here.
15521         * modules/getopt-posix (configure.ac): ... and here.
15522         (Depends-on): Update condition.
15523
15524 2011-05-08  Bruno Haible  <bruno@clisp.org>
15525
15526         getopt, argp: Respect rules for use of AC_LIBOBJ.
15527         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
15528         (gl_REPLACE_GETOPT_ALWAYS): New macro.
15529         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
15530         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
15531
15532 2011-05-08  Bruno Haible  <bruno@clisp.org>
15533
15534         getlogin_r: Move AC_LIBOBJ invocations to module description.
15535         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
15536         gl_PREREQ_GETLOGIN_R invocations from here...
15537         * modules/getlogin_r (configure.ac): ... to here.
15538
15539 2011-05-08  Bruno Haible  <bruno@clisp.org>
15540
15541         getlogin: Move AC_LIBOBJ invocations to module description.
15542         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
15543         here...
15544         * modules/getlogin (configure.ac): ... to here.
15545
15546 2011-05-08  Bruno Haible  <bruno@clisp.org>
15547
15548         getloadavg: Move AC_LIBOBJ invocations to module description.
15549         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
15550         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
15551         * modules/getloadavg (configure.ac): ... to here.
15552
15553 2011-05-08  Bruno Haible  <bruno@clisp.org>
15554
15555         gethrxtime: Move AC_LIBOBJ invocations to module description.
15556         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
15557         LIB_GETHRXTIME from here...
15558         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
15559         invocations from here...
15560         * modules/gethrxtime (configure.ac): ... to here.
15561
15562 2011-05-08  Bruno Haible  <bruno@clisp.org>
15563
15564         gethostname: Move AC_LIBOBJ invocations to module description.
15565         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
15566         gl_PREREQ_GETHOSTNAME invocations from here...
15567         * modules/gethostname (configure.ac): ... to here.
15568
15569 2011-05-08  Bruno Haible  <bruno@clisp.org>
15570
15571         getgroups: Move AC_LIBOBJ invocations to module description.
15572         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
15573         here...
15574         * modules/getgroups (configure.ac): ... to here.
15575
15576 2011-05-08  Bruno Haible  <bruno@clisp.org>
15577
15578         getdtablesize: Move AC_LIBOBJ invocations to module description.
15579         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
15580         invocation from here...
15581         * modules/getdtablesize (configure.ac): ... to here.
15582
15583 2011-05-08  Bruno Haible  <bruno@clisp.org>
15584
15585         getdomainname: Move AC_LIBOBJ invocations to module description.
15586         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
15587         gl_PREREQ_GETDOMAINNAME invocations from here...
15588         * modules/getdomainname (configure.ac): ... to here.
15589
15590 2011-05-08  Bruno Haible  <bruno@clisp.org>
15591
15592         getline: Move AC_LIBOBJ invocations to module description.
15593         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
15594         invocations from here...
15595         * modules/getline (configure.ac): ... to here.
15596
15597 2011-05-08  Bruno Haible  <bruno@clisp.org>
15598
15599         getline: Simplify.
15600         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
15601         It's already handled through the module dependency.
15602
15603 2011-05-08  Bruno Haible  <bruno@clisp.org>
15604
15605         getdelim: Move AC_LIBOBJ invocations to module description.
15606         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
15607         and gl_PREREQ_GETDELIM invocations from here...
15608         * modules/getdelim (configure.ac): ... to here.
15609         (Depends-on): Fix condition.
15610
15611 2011-05-08  Bruno Haible  <bruno@clisp.org>
15612
15613         getcwd: Move AC_LIBOBJ invocations to module description.
15614         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
15615         invocations from here...
15616         * modules/getcwd (configure.ac): ... to here.
15617
15618 2011-05-08  Bruno Haible  <bruno@clisp.org>
15619
15620         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
15621         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
15622         here...
15623         * modules/getcwd-lgpl (configure.ac): ... to here.
15624
15625 2011-05-07  Bruno Haible  <bruno@clisp.org>
15626
15627         crypto/gc: Move AC_LIBOBJ invocations to module description.
15628         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
15629         * modules/crypto/gc (configure.ac): ... to here.
15630
15631 2011-05-07  Bruno Haible  <bruno@clisp.org>
15632
15633         fwriting: Move AC_LIBOBJ invocations to module description.
15634         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
15635         here...
15636         * modules/fwriting (configure.ac): ... to here.
15637
15638 2011-05-07  Bruno Haible  <bruno@clisp.org>
15639
15640         fwritable: Move AC_LIBOBJ invocations to module description.
15641         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
15642         here...
15643         * modules/fwritable (configure.ac): ... to here.
15644
15645 2011-05-07  Bruno Haible  <bruno@clisp.org>
15646
15647         futimens: Move AC_LIBOBJ invocations to module description.
15648         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
15649         here...
15650         * modules/futimens (configure.ac): ... to here.
15651
15652 2011-05-07  Bruno Haible  <bruno@clisp.org>
15653
15654         ftruncate: Move AC_LIBOBJ invocations to module description.
15655         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
15656         gl_PREREQ_FTRUNCATE invocations from here...
15657         * modules/ftruncate (configure.ac): ... to here.
15658
15659 2011-05-07  Bruno Haible  <bruno@clisp.org>
15660
15661         fsync: Move AC_LIBOBJ invocations to module description.
15662         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
15663         invocations from here...
15664         * modules/fsync (configure.ac): ... to here.
15665
15666 2011-05-07  Bruno Haible  <bruno@clisp.org>
15667
15668         fsusage: Move AC_LIBOBJ invocations to module description.
15669         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
15670         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
15671         * modules/fsusage (configure.ac): ... to here.
15672
15673 2011-05-07  Bruno Haible  <bruno@clisp.org>
15674
15675         freopen: Move AC_LIBOBJ invocations to module description.
15676         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
15677         invocations from here...
15678         * modules/freopen (configure.ac): ... to here.
15679
15680 2011-05-07  Bruno Haible  <bruno@clisp.org>
15681
15682         free: Move AC_LIBOBJ invocations to module description.
15683         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
15684         invocations from here...
15685         * modules/free (configure.ac): ... to here.
15686
15687 2011-05-07  Bruno Haible  <bruno@clisp.org>
15688
15689         freadable: Move AC_LIBOBJ invocations to module description.
15690         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
15691         here...
15692         * modules/freadable (configure.ac): ... to here.
15693
15694 2011-05-07  Bruno Haible  <bruno@clisp.org>
15695
15696         fpurge: Move AC_LIBOBJ invocations to module description.
15697         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
15698         invocations from here...
15699         * modules/fpurge (configure.ac): ... to here.
15700
15701 2011-05-07  Bruno Haible  <bruno@clisp.org>
15702
15703         fpending: Move AC_LIBOBJ invocations to module description.
15704         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
15705         gl_FUNC_FPENDING.
15706         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
15707         invocations from here...
15708         * modules/fpending (configure.ac): ... to here.
15709
15710 2011-05-07  Bruno Haible  <bruno@clisp.org>
15711
15712         fopen: Move AC_LIBOBJ invocations to module description.
15713         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
15714         invocations from here...
15715         * modules/fopen (configure.ac): ... to here.
15716
15717 2011-05-07  Bruno Haible  <bruno@clisp.org>
15718
15719         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
15720         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
15721         gl_FUNC_FNMATCH_POSIX.
15722         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
15723         invocations from here...
15724         * modules/fnmatch (configure.ac): ... to here.
15725         * modules/fnmatch-gnu (configure.ac): ... and here.
15726
15727 2011-05-07  Bruno Haible  <bruno@clisp.org>
15728
15729         flock: Move AC_LIBOBJ invocations to module description.
15730         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
15731         invocations from here...
15732         * modules/flock (configure.ac): ... to here.
15733
15734 2011-05-07  Bruno Haible  <bruno@clisp.org>
15735
15736         fileblocks: Move AC_LIBOBJ invocations to module description.
15737         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
15738         gl_PREREQ_FILEBLOCKS invocations from here...
15739         * modules/fileblocks (configure.ac): ... to here.
15740
15741 2011-05-06  Bruno Haible  <bruno@clisp.org>
15742
15743         fflush: Move AC_LIBOBJ invocations to module description.
15744         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
15745         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
15746         invocations from here...
15747         * modules/fflush (configure.ac): ... to here.
15748
15749 2011-05-06  Bruno Haible  <bruno@clisp.org>
15750
15751         fdopendir: Move AC_LIBOBJ invocations to module description.
15752         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
15753         here...
15754         * modules/fdopendir (configure.ac): ... to here.
15755         (Depends-on): Improve conditions.
15756
15757 2011-05-06  Bruno Haible  <bruno@clisp.org>
15758
15759         _Exit: Move AC_LIBOBJ invocations to module description.
15760         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
15761         invocations from here...
15762         * modules/_Exit (configure.ac): ... to here.
15763
15764 2011-05-21  Bruno Haible  <bruno@clisp.org>
15765
15766         euidaccess: Respect rules for use of AC_LIBOBJ.
15767         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15768         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
15769         from here...
15770         * modules/euidaccess (configure.ac): ... to here.
15771
15772 2011-05-06  Bruno Haible  <bruno@clisp.org>
15773
15774         error: Move AC_LIBOBJ invocations to module description.
15775         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
15776         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
15777         invocations from here...
15778         * modules/error (configure.ac): ... to here.
15779
15780 2011-05-06  Bruno Haible  <bruno@clisp.org>
15781
15782         duplocale: Move AC_LIBOBJ invocations to module description.
15783         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
15784         gl_PREREQ_DUPLOCALE invocations from here...
15785         * modules/duplocale (configure.ac): ... to here.
15786
15787 2011-05-05  Bruno Haible  <bruno@clisp.org>
15788
15789         dirfd: Move AC_LIBOBJ invocations to module description.
15790         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
15791         gl_FUNC_DIRFD.
15792         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
15793         here...
15794         * modules/dirfd (configure.ac): ... to here.
15795         (Depends-on): Fix condition.
15796
15797 2011-05-05  Bruno Haible  <bruno@clisp.org>
15798
15799         chown: Respect rules for use of AC_LIBOBJ.
15800         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
15801         * modules/chown (configure.ac): ... to here.
15802
15803 2011-05-05  Bruno Haible  <bruno@clisp.org>
15804
15805         chdir-long: Move AC_LIBOBJ invocations to module description.
15806         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
15807         gl_PREREQ_CHDIR_LONG invocations from here...
15808         * modules/chdir-long (configure.ac): ... to here.
15809
15810 2011-05-05  Bruno Haible  <bruno@clisp.org>
15811
15812         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
15813         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
15814         from here...
15815         * modules/canonicalize-lgpl (configure.ac): ... to here.
15816
15817 2011-05-05  Bruno Haible  <bruno@clisp.org>
15818
15819         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
15820         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
15821         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
15822         REPLACE_CALLOC.
15823         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
15824         * modules/calloc-gnu (configure.ac): Likewise.
15825
15826 2011-05-05  Bruno Haible  <bruno@clisp.org>
15827
15828         btowc: Move AC_LIBOBJ invocations to module description.
15829         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
15830         invocations from here...
15831         * modules/btowc (configure.ac): ... to here.
15832
15833 2011-05-21  Bruno Haible  <bruno@clisp.org>
15834
15835         atexit: Move AC_LIBOBJ invocations to module description.
15836         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
15837         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
15838         here...
15839         * modules/atexit (configure.ac): ... to here.
15840
15841 2011-05-05  Bruno Haible  <bruno@clisp.org>
15842
15843         atoll: Move AC_LIBOBJ invocations to module description.
15844         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
15845         invocations from here...
15846         * modules/atoll (configure.ac): ... to here.
15847
15848 2011-05-05  Bruno Haible  <bruno@clisp.org>
15849
15850         argz: Move AC_LIBOBJ invocations to module description.
15851         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
15852         * modules/argz (configure.ac): ... to here.
15853
15854 2011-05-05  Bruno Haible  <bruno@clisp.org>
15855
15856         alphasort: Move AC_LIBOBJ invocations to module description.
15857         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
15858         gl_PREREQ_ALPHASORT invocations from here...
15859         * modules/alphasort (configure.ac): ... to here.
15860
15861 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
15862
15863         verify: new macro verify_expr; verify_true deprecated
15864         * NEWS: Mention this.
15865         * doc/verify.texi (Compile-time Assertions): Document this.
15866         * lib/verify.h (verify_true): Deprecate.
15867         (verify_expr): New macro.
15868         * tests/test-verify.c (function): Test verify_expr.
15869
15870 2011-06-14  Jim Meyering  <meyering@redhat.com>
15871
15872         init.sh: give more portable redirection-related advice in a comment
15873         * tests/init.sh (stderr_fileno_): Update the advice in comments.
15874         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
15875         for lots of discussion.  Stefano Lattarini suggested the solution
15876         of putting "9>&2" after the command.  Reported by Bruno Haible.
15877
15878 2011-06-13  Bruno Haible  <bruno@clisp.org>
15879
15880         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
15881         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
15882         'none'.
15883
15884 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
15885
15886         ftoastr: use strtof only if HAVE_STRTOF
15887         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
15888         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
15889         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
15890         * modules/ftoastr (configure.ac): Check for strtof.
15891
15892 2011-06-13  Bruno Haible  <bruno@clisp.org>
15893
15894         gnulib-tool: Addendum to 2011-06-08 commit.
15895         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
15896         and --witness-c-macro have been given, augment AM_CPPFLAGS.
15897
15898 2011-06-13  Bruno Haible  <bruno@clisp.org>
15899
15900         fseeko: Provide a non-inline replacement of fseek().
15901         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
15902         * modules/fseeko (Depends-on): Add fseek.
15903         * modules/fseek (License): Change to LGPLv2+.
15904
15905 2011-06-13  Bruno Haible  <bruno@clisp.org>
15906
15907         ftello: Provide a non-inline replacement of ftell().
15908         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
15909         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
15910         not have ftello() (such as on mingw).
15911         * modules/ftello (Depends-on): Add ftell.
15912         * modules/ftell (License): Change to LGPLv2+.
15913
15914 2011-05-07  Bruno Haible  <bruno@clisp.org>
15915
15916         ftell: Move AC_LIBOBJ invocations to module description.
15917         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
15918         * modules/ftell (configure.ac): ... to here.
15919
15920 2011-05-07  Bruno Haible  <bruno@clisp.org>
15921
15922         ftello: Respect rules for use of AC_LIBOBJ.
15923         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
15924         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
15925         here...
15926         * modules/ftello (configure.ac): ... to here.
15927
15928 2011-05-07  Bruno Haible  <bruno@clisp.org>
15929
15930         fseeko: Simplify.
15931         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
15932         (gl_FUNC_FSEEKO): Inline it here.
15933
15934 2011-05-07  Bruno Haible  <bruno@clisp.org>
15935
15936         fseek: Move AC_LIBOBJ invocations to module description.
15937         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
15938         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15939         * modules/fseek (configure.ac): ... to here.
15940
15941 2011-05-07  Bruno Haible  <bruno@clisp.org>
15942
15943         fseek: Respect rules for use of AC_LIBOBJ.
15944         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
15945         here...
15946         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
15947
15948 2011-05-07  Bruno Haible  <bruno@clisp.org>
15949
15950         fseeko: Respect rules for use of AC_LIBOBJ.
15951         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
15952         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
15953         here...
15954         * modules/fseeko (configure.ac): ... to here.
15955
15956 2011-06-13  Bruno Haible  <bruno@clisp.org>
15957
15958         gnulib-tool: Allow comments in the 'Depends-on' section.
15959         * doc/gnulib.texi (Module description): Mention comment syntax in the
15960         Depends-on section.
15961         * gnulib-tool (func_get_dependencies): Filter out comment lines.
15962
15963 2011-06-13  Bruno Haible  <bruno@clisp.org>
15964
15965         file-set.h: guard __attibute__ use, now that it's not always defined
15966         * lib/file-set.h (record_file): Use __attribute__ only with compiler
15967         versions that support it.  This fixes a coreutils build failure with
15968         the vendor cc on HP-UX 11.31.
15969
15970 2011-06-12  Bruno Haible  <bruno@clisp.org>
15971
15972         acl: Add support for HP-UX >= 11.11 JFS ACLs.
15973         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
15974         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
15975         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
15976         (acl, aclsort): New declarations.
15977         (aclv_nontrivial): New declaration.
15978         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
15979         (file_has_acl): Read also the second kind of HP-UX ACLs.
15980         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
15981         kind of HP-UX ACLs if the first kind fails.
15982         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
15983         second kind of HP-UX ACLs.
15984         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
15985         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
15986         agree.
15987         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15988         hpuxjfs.
15989         Handle hpuxjfs.
15990         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
15991         hpuxjfs.
15992         Handle hpuxjfs.
15993         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15994         (func_test_same_acls): Use both lsacl and getacl.
15995         Handle hpuxjfs.
15996         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
15997         (func_test_same_acls): Use both lsacl and getacl.
15998         Handle hpuxjfs.
15999
16000 2011-06-12  Bruno Haible  <bruno@clisp.org>
16001
16002         acl: Complete the 2010-08-10 fix.
16003         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16004         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16005         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16006         explicitly.
16007         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16008         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16009
16010 2011-06-12  Bruno Haible  <bruno@clisp.org>
16011
16012         spawn-pipe tests: Comments.
16013         * tests/test-spawn-pipe-child.c (main): Update comment.
16014         Reported by James Youngman <jay@gnu.org>.
16015
16016 2011-06-11  James Youngman  <jay@gnu.org>
16017
16018         New module 'stat-size'.
16019         * modules/stat-size: New module.  Provides macros for accessing
16020         file size information in instances of struct stat.  Depends on the
16021         fileblocks module because it calls st_blocks.
16022         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16023         * doc/gnulib.texi: Include stat-size.texi.
16024         * doc/stat-size.texi: Documentation for this module.
16025         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16026         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16027         AC_STRUCT_ST_BLOCKS.
16028
16029 2011-06-09  Bruno Haible  <bruno@clisp.org>
16030
16031         thread: Support pthreads-win32.
16032         * lib/glthread/thread.h (gl_thread_self): Define differently on
16033         pthreads-win32.
16034         (gl_null_thread): New declaration.
16035         (gl_thread_self_pointer): New macro.
16036         * lib/glthread/thread.c (gl_null_thread): New constant.
16037         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16038         gl_thread_self.
16039         * tests/test-tls.c: Likewise.
16040         Suggested by Paul Eggert. Reported by Eric Blake.
16041
16042 2011-06-09  Bruno Haible  <bruno@clisp.org>
16043
16044         thread: Fix confusion between NULL and 0.
16045         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16046         Reported by Paul Eggert.
16047
16048 2011-06-09  Bruno Haible  <bruno@clisp.org>
16049
16050         spawn-pipe tests: Avoid test failure on HP-UX 11.
16051         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16052         is closed.
16053
16054 2011-06-09  Bruno Haible  <bruno@clisp.org>
16055
16056         acl tests: Fix compilation error on HP-UX 11.
16057         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16058
16059 2011-06-09  Bruno Haible  <bruno@clisp.org>
16060
16061         rmdir: Avoid test failure on HP-UX 10.20.
16062         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16063         EEXIST.
16064
16065 2011-06-08  Eric Blake  <eblake@redhat.com>
16066
16067         perror: fix test on mingw
16068         * modules/perror-tests (Depends-on): Add dup2.
16069
16070         strerror_r-posix: fix on MacOS
16071         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16072         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16073         logic bug.
16074         * lib/strerror_r.c (strerror_r): Fix the bug.
16075         * lib/strerror.c (strerror): Likewise.
16076         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16077         problem.
16078         * doc/posix-functions/strerror.texi (strerror): Likewise.
16079         * doc/posix-functions/perror.texi (perror): Likewise.
16080         * tests/test-strerror.c (main): Enhance test.
16081         * tests/test-strerror_r.c (main): Likewise.
16082
16083 2011-06-08  Bruno Haible  <bruno@clisp.org>
16084
16085         gnulib-tool: Better isolation between different gnulib-tool invocations.
16086         * gnulib-tool: New option --witness-c-macro.
16087         (witness_c_macro): New variable.
16088         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16089         AM_CPPFLAGS define it as a C macro.
16090         (func_emit_tests_Makefile_am): Likewise.
16091         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16092         read it from there.
16093         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16094         m4_define, not AC_DEFUN.
16095         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16096         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16097         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16098         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16099         s|...|...|, to substitute the values of the GNULIB_* module indicator
16100         variables.
16101         * modules/dirent (Makefile.am): Likewise.
16102         * modules/fcntl-h (Makefile.am): Likewise.
16103         * modules/iconv-h (Makefile.am): Likewise.
16104         * modules/langinfo (Makefile.am): Likewise.
16105         * modules/locale (Makefile.am): Likewise.
16106         * modules/math (Makefile.am): Likewise.
16107         * modules/netdb (Makefile.am): Likewise.
16108         * modules/poll-h (Makefile.am): Likewise.
16109         * modules/pty (Makefile.am): Likewise.
16110         * modules/search (Makefile.am): Likewise.
16111         * modules/signal (Makefile.am): Likewise.
16112         * modules/spawn (Makefile.am): Likewise.
16113         * modules/stdio (Makefile.am): Likewise.
16114         * modules/stdlib (Makefile.am): Likewise.
16115         * modules/string (Makefile.am): Likewise.
16116         * modules/sys_ioctl (Makefile.am): Likewise.
16117         * modules/sys_select (Makefile.am): Likewise.
16118         * modules/sys_socket (Makefile.am): Likewise.
16119         * modules/sys_stat (Makefile.am): Likewise.
16120         * modules/sys_times (Makefile.am): Likewise.
16121         * modules/sys_utsname (Makefile.am): Likewise.
16122         * modules/sys_wait (Makefile.am): Likewise.
16123         * modules/termios (Makefile.am): Likewise.
16124         * modules/time (Makefile.am): Likewise.
16125         * modules/unistd (Makefile.am): Likewise.
16126         * modules/wchar (Makefile.am): Likewise.
16127
16128 2011-06-08  Eric Blake  <eblake@redhat.com>
16129
16130         strerror: simplify replacement
16131         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16132         * modules/strerror (configure.ac): No prereqs needed here...
16133         * modules/strerror-override (configure.ac): ...but this needs it.
16134         (Files): Add file for needed prereq macro.
16135
16136 2011-06-08  Bruno Haible  <bruno@clisp.org>
16137
16138         strerror_r-posix: Tweaks.
16139         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16140         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16141         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16142         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16143         (gl_FUNC_STRERROR_R): ... to here.
16144         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16145
16146 2011-06-07  Eric Blake  <eblake@redhat.com>
16147
16148         perror: document fixed bugs
16149         * doc/posix-functions/perror.texi (perror): Document recent
16150         patches.
16151
16152 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16153
16154         stat-time: get_stat_birthtime failure is better-defined
16155         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16156         return a timestamp whose tv_sec and tv_nsec values are both -1.
16157         Previously, the spec said only that the tv_nsec value was negative.
16158         This upward-compatible change simplifies GNU tar a bit.
16159
16160 2011-06-07  Eric Blake  <eblake@redhat.com>
16161
16162         strerror_r-posix: work around cygwin 1.7.9
16163         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16164         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16165         bug without replacing strerror_r.
16166         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16167         strerror_r is buggy, but without requiring strerror_r compilation.
16168         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16169
16170         test-perror: relax test to ignore cygwin bug
16171         * tests/test-perror2.c (main): Relax test on requiring detection
16172         of stream errors, and use unbuffered stream.
16173         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
16174         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16175         * doc/posix-functions/fputc.texi (fputc): Likewise.
16176         * doc/posix-functions/fputs.texi (fputs): Likewise.
16177         * doc/posix-functions/fputws.texi (fputws): Likewise.
16178         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16179         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
16180         * doc/posix-functions/getopt.texi (getopt): Likewise.
16181         * doc/posix-functions/perror.texi (perror): Likewise.
16182         * doc/posix-functions/printf.texi (printf): Likewise.
16183         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
16184         * doc/posix-functions/psignal.texi (psignal): Likewise.
16185         * doc/posix-functions/putc.texi (putc): Likewise.
16186         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
16187         Likewise.
16188         * doc/posix-functions/putchar.texi (putchar): Likewise.
16189         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
16190         Likewise.
16191         * doc/posix-functions/puts.texi (puts): Likewise.
16192         * doc/posix-functions/putwc.texi (putwc): Likewise.
16193         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
16194         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16195         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16196         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16197         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16198         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16199         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16200         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16201
16202 2011-05-22  Bruno Haible  <bruno@clisp.org>
16203
16204         strerror: Move AC_LIBOBJ invocations to module description.
16205         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
16206         gl_PREREQ_STRERROR invocations from here...
16207         * modules/strerror (configure.ac): ... to here.
16208
16209 2011-05-21  Bruno Haible  <bruno@clisp.org>
16210
16211         perror: Use common idiom.
16212         * modules/perror (configure.ac): Reorder statements.
16213
16214 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16215
16216         tests: fix usage message in 'mktempd_'
16217         * tests/init.sh (mktempd_): In the usage message, use literal
16218         'mktempd_', not '$ME' (which is even undefined), as the name of
16219         the subroutine.
16220
16221 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
16222
16223         tests init: new function 'fatal_', for hard errors
16224         Before this patch, the only way offered by tests/init.sh to
16225         properly signal a hard error was the `framework_failure_'
16226         function.  But the error message issued by that function,
16227         as its name would suggest, refers to a set-up failure in the
16228         testsuite, while hard errors can obviously also be due to
16229         other reasons.  The best way to fix this inconsistency is to
16230         introduce a new function with a more general error message.
16231         * tests/init.sh (fatal_): New function.
16232
16233 2011-06-06  Eric Blake  <eblake@redhat.com>
16234
16235         canonicalize-lgpl: use common idiom
16236         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
16237         over newer POSIX -Rf.
16238         Reported by Bruno Haible.
16239
16240         canonicalize-lgpl: work around AIX realpath bug
16241         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
16242         * doc/posix-functions/realpath.texi (realpath): Document it.
16243         Reported by Bruno Haible.
16244
16245         strerror: work around FreeBSD bug
16246         * lib/strerror.c (strerror): Special case 0.
16247         Reported by Bruno Haible.
16248
16249         strerror-override: avoid bloating errno module
16250         * modules/errno (Files, configure.ac): Move replacement strings...
16251         * modules/strerror-override: ...to new module.
16252         * modules/strerror (Depends-on): Add strerror-override.
16253         * modules/strerror_r-posix (Depends-on): Likewise.
16254         * MODULES.html.sh: Document new module.
16255         Reported by Bruno Haible.
16256
16257 2011-06-06  Bruno Haible  <bruno@clisp.org>
16258
16259         spawn-pipe tests: Rename program.
16260         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
16261         * tests/test-spawn-pipe-child.c: Update comment.
16262         * tests/test-spawn-pipe.sh: Update.
16263         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
16264
16265         spawn-pipe tests: Link the child program only against libc.
16266         * tests/test-spawn-pipe-child.c: New file, extracted from
16267         tests/test-spawn-pipe.c.
16268         (main): Expect only one argument.
16269         (is_open): New function, copied from tests/test-pipe.c.
16270         * tests/test-spawn-pipe.c: Don't include <errno.h>.
16271         (child_main): Remove function.
16272         (test_pipe): Pass only one argument to the child program.
16273         (main): Remove child process code. Expect the child program's name as
16274         first argument.
16275         * tests/test-spawn-pipe.sh: Pass the child program's name as first
16276         argument.
16277         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
16278         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
16279         test-spawn-pipe-child against no libraries.
16280
16281 2011-06-06  Bruno Haible  <bruno@clisp.org>
16282
16283         careadlinkat: Avoid mismatch between ssize_t and int.
16284         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
16285         * lib/careadlinkat.c (careadlinkatcwd): Define always.
16286
16287 2011-06-06  Jim Meyering  <meyering@redhat.com>
16288
16289         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
16290         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
16291         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
16292
16293 2011-06-05  Bruno Haible  <bruno@clisp.org>
16294
16295         ansi-c++-opt: Interoperability with libtool.
16296         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
16297         set the variable to "no", not to ":".
16298         * NEWS: Mention the change.
16299
16300 2011-06-05  Bruno Haible  <bruno@clisp.org>
16301
16302         acl: Fix test failure on AIX 7.
16303         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
16304         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
16305
16306 2011-06-05  Bruno Haible  <bruno@clisp.org>
16307
16308         pipe-filter-ii: Fix test failure on AIX and IRIX.
16309         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
16310         with EAGAIN, retry with a smaller buffer size.
16311
16312 2011-06-05  Bruno Haible  <bruno@clisp.org>
16313
16314         localename: Fix link dependencies.
16315         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
16316         * modules/localename-tests (Makefile.am): Link test-localename with
16317         $(LIBTHREAD).
16318
16319 2011-06-05  Bruno Haible  <bruno@clisp.org>
16320
16321         error: Avoid gcc warning.
16322         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
16323
16324 2011-06-05  Bruno Haible  <bruno@clisp.org>
16325
16326         unsetenv: Avoid gcc warning.
16327         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
16328
16329 2011-06-05  Bruno Haible  <bruno@clisp.org>
16330
16331         setenv: Avoid gcc warning.
16332         * lib/setenv.c (setenv): Provide declaration if system lacks it.
16333
16334 2011-06-05  Bruno Haible  <bruno@clisp.org>
16335
16336         sys_select: Ensure memset is declared also on AIX 7.
16337         * lib/sys_select.in.h: Include <string.h> also on AIX.
16338         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
16339         self-contained also on AIX 7.1.
16340
16341 2011-06-04  Jim Meyering  <meyering@redhat.com>
16342
16343         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
16344         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
16345         function name, "error".
16346         (_gl_translatable_diag_func_re): New configurable variable.
16347
16348 2011-06-04  Bruno Haible  <bruno@clisp.org>
16349
16350         getopt: Avoid gcc warning.
16351         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
16352
16353 2011-06-04  Bruno Haible  <bruno@clisp.org>
16354
16355         strerror_r: Fix comments.
16356         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
16357         commit.
16358
16359 2011-06-04  Bruno Haible  <bruno@clisp.org>
16360
16361         perror: Fix compilation error.
16362         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
16363         Undefine fprintf, not sprintf.
16364         * modules/perror (Depends-on): Remove intprops, verify.
16365
16366 2011-06-04  Bruno Haible  <bruno@clisp.org>
16367
16368         setlocale: Enable replacement on Cygwin 1.5.
16369         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
16370         Cygwin 1.5.x.
16371         * doc/posix-functions/setlocale.texi: Mention that the problem with the
16372         LC_CTYPE category also exists on Cygwin 1.5.x.
16373
16374 2011-06-04  Bruno Haible  <bruno@clisp.org>
16375
16376         strerror-override: Don't disable symbol renamings.
16377         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
16378         * lib/strerror-override.c: Include config.h.
16379         (strerror_override): Don't undefine.
16380
16381 2011-06-03  Bruno Haible  <bruno@clisp.org>
16382
16383         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
16384         * lib/localename.h: Update copyright header.
16385         * lib/localename.c: Likewise.
16386         * lib/relocatable.h: Likewise.
16387         * lib/relocatable.c: Likewise.
16388
16389 2011-06-02  Bruno Haible  <bruno@clisp.org>
16390
16391         doc: Fix a module name.
16392         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
16393
16394 2011-06-02  Bruno Haible  <bruno@clisp.org>
16395
16396         pipe2: Remove dependency on 'nonblocking' module.
16397         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
16398         O_NONBLOCK is defined by gnulib.
16399         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
16400         is zero.
16401         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
16402         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
16403         defined by gnulib.
16404         (get_nonblocking_flag): New function.
16405         (main): Test O_NONBLOCK flag only if it is nonzero.
16406         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
16407
16408 2011-06-03  Jim Meyering  <meyering@redhat.com>
16409
16410         maint: three new prohibit-header-without-use rules
16411         Prohibit use of cloexec.h, posixver.h, same.h without use.
16412         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
16413         (sc_prohibit_posixver_without_use): Likewise.
16414         (sc_prohibit_same_without_use): Likewise.
16415
16416 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
16417
16418         allocator: 'die' routine is now given requested size
16419         * lib/allocator.h (struct allocator.die): New size arg.
16420         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
16421         If the actual problem is an ssize_t limitation, not a size_t or
16422         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
16423
16424 2011-06-01  Eric Blake  <eblake@redhat.com>
16425
16426         strerror: drop strerror_r dependency
16427         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
16428         * lib/strerror-override.c (strerror_override): ...to new file.
16429         * lib/strerror-override.h: Add prototype.
16430         * lib/strerror-impl.h: Delete.
16431         * lib/strerror.c (strerror): New implementation.
16432         * modules/errno (Files): Add new files.
16433         (configure.ac): Compile new file as appropriate.
16434         * modules/strerror (Files): Drop unused file.
16435         (Depends-on): Drop strerror_r-posix.
16436         * MODULES.html.sh: Document strerror_r-posix.
16437         Requested by Sam Steingold.
16438
16439         perror: call strerror_r directly
16440         * modules/perror (Files): Drop strerror-impl.h.
16441         * lib/perror.c (perror): Use our own stack buffer, rather than
16442         calling a wrapper that uses static storage.
16443         * doc/posix-functions/perror.texi (perror): Document a limitation
16444         of our replacement.
16445
16446         strerror_r: fix includes for FreeBSD
16447         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
16448         since we use abort on some platforms.
16449         Reported by Matthias Bolte.
16450
16451 2011-05-31  Bruno Haible  <bruno@clisp.org>
16452
16453         Fix link errors in tests: openat-die uses gettext-h.
16454         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
16455         against $(LIBINTL).
16456         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
16457         against $(LIBINTL).
16458         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
16459         $(LIBINTL).
16460         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
16461         against $(LIBINTL).
16462         * modules/linkat-tests (Makefile.am): Link test-linkat against
16463         $(LIBINTL).
16464         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
16465         $(LIBINTL).
16466         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
16467         against $(LIBINTL).
16468         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
16469         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
16470         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
16471         $(LIBINTL).
16472         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
16473         $(LIBINTL).
16474         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
16475         $(LIBINTL).
16476         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16477
16478 2011-05-31  Bruno Haible  <bruno@clisp.org>
16479
16480         Fix link errors in tests: wait-process uses gettext-h.
16481         * modules/nonblocking-pipe-tests (Makefile.am): Set
16482         test_nonblocking_pipe_main_LDADD.
16483         * modules/nonblocking-socket-tests (Makefile.am): Link
16484         test-nonblocking-socket-main against $(LIBINTL).
16485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16486
16487 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16488
16489         assert-h: work around 'verify' incompatibility
16490         * lib/verify.h: Use @...@ directives, not ifdef.
16491         * modules/assert-h (assert.h): Implement the directives.
16492         (assert.h): Substitute the symbol-prefix more consistently.
16493
16494 2011-05-29  Jim Meyering  <meyering@redhat.com>
16495
16496         trim: remove three superfluous assignments
16497         * lib/trim.c (trim2): Remove three superfluous assignments
16498         and correct brace positioning.
16499
16500 2011-05-29  Bruno Haible  <bruno@clisp.org>
16501
16502         wctype-h: Avoid namespace pollution on Solaris 2.6.
16503         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
16504         identifiers.
16505         * doc/posix-headers/wctype.texi: Mention the problem.
16506         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16507
16508 2011-05-28  Jim Meyering  <meyering@redhat.com>
16509
16510         parse-datetime.y: accommodate -Wstrict-overflow
16511         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
16512         placate -Wstrict-overflow.
16513
16514         trim: avoid a warning from -O2 -Wstrict-overflow
16515         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
16516
16517 2011-05-29  Bruno Haible  <bruno@clisp.org>
16518
16519         gnulib-tool: Fix bug in yesterday's commit.
16520         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
16521         twice.
16522
16523 2011-05-29  Bruno Haible  <bruno@clisp.org>
16524
16525         Allow multiple gnulib generated include files to be combined.
16526         * gnulib-tool (func_compute_include_guard_prefix): New function.
16527         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
16528         ${gl_include_guard_prefix} references.
16529         (func_import, func_create_testdir): Invoke
16530         func_compute_include_guard_prefix.
16531         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
16532         * lib/ctype.in.h: Likewise.
16533         * lib/dirent.in.h: Likewise.
16534         * lib/errno.in.h: Likewise.
16535         * lib/fcntl.in.h: Likewise.
16536         * lib/float.in.h: Likewise.
16537         * lib/getopt.in.h: Likewise.
16538         * lib/iconv.in.h: Likewise.
16539         * lib/langinfo.in.h: Likewise.
16540         * lib/locale.in.h: Likewise.
16541         * lib/math.in.h: Likewise.
16542         * lib/netdb.in.h: Likewise.
16543         * lib/netinet_in.in.h: Likewise.
16544         * lib/poll.in.h: Likewise.
16545         * lib/pthread.in.h: Likewise.
16546         * lib/pty.in.h: Likewise.
16547         * lib/sched.in.h: Likewise.
16548         * lib/se-selinux.in.h: Likewise.
16549         * lib/search.in.h: Likewise.
16550         * lib/signal.in.h: Likewise.
16551         * lib/spawn.in.h: Likewise.
16552         * lib/stdarg.in.h: Likewise.
16553         * lib/stddef.in.h: Likewise.
16554         * lib/stdint.in.h: Likewise.
16555         * lib/stdio.in.h: Likewise.
16556         * lib/stdlib.in.h: Likewise.
16557         * lib/string.in.h: Likewise.
16558         * lib/strings.in.h: Likewise.
16559         * lib/sys_file.in.h: Likewise.
16560         * lib/sys_ioctl.in.h: Likewise.
16561         * lib/sys_select.in.h: Likewise.
16562         * lib/sys_socket.in.h: Likewise.
16563         * lib/sys_stat.in.h: Likewise.
16564         * lib/sys_time.in.h: Likewise.
16565         * lib/sys_times.in.h: Likewise.
16566         * lib/sys_uio.in.h: Likewise.
16567         * lib/sys_utsname.in.h: Likewise.
16568         * lib/sys_wait.in.h: Likewise.
16569         * lib/sysexits.in.h: Likewise.
16570         * lib/termios.in.h: Likewise.
16571         * lib/time.in.h: Likewise.
16572         * lib/unistd.in.h: Likewise.
16573         * lib/wchar.in.h: Likewise.
16574         * lib/wctype.in.h: Likewise.
16575         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
16576         * modules/ctype (Makefile.am): Likewise.
16577         * modules/dirent (Makefile.am): Likewise.
16578         * modules/errno (Makefile.am): Likewise.
16579         * modules/fcntl-h (Makefile.am): Likewise.
16580         * modules/float (Makefile.am): Likewise.
16581         * modules/getopt-posix (Makefile.am): Likewise.
16582         * modules/iconv-h (Makefile.am): Likewise.
16583         * modules/langinfo (Makefile.am): Likewise.
16584         * modules/locale (Makefile.am): Likewise.
16585         * modules/math (Makefile.am): Likewise.
16586         * modules/netdb (Makefile.am): Likewise.
16587         * modules/netinet_in (Makefile.am): Likewise.
16588         * modules/poll-h (Makefile.am): Likewise.
16589         * modules/pthread (Makefile.am): Likewise.
16590         * modules/pty (Makefile.am): Likewise.
16591         * modules/sched (Makefile.am): Likewise.
16592         * modules/search (Makefile.am): Likewise.
16593         * modules/selinux-h (Makefile.am): Likewise.
16594         * modules/signal (Makefile.am): Likewise.
16595         * modules/spawn (Makefile.am): Likewise.
16596         * modules/stdarg (Makefile.am): Likewise.
16597         * modules/stddef (Makefile.am): Likewise.
16598         * modules/stdint (Makefile.am): Likewise.
16599         * modules/stdio (Makefile.am): Likewise.
16600         * modules/stdlib (Makefile.am): Likewise.
16601         * modules/string (Makefile.am): Likewise.
16602         * modules/strings (Makefile.am): Likewise.
16603         * modules/sys_file (Makefile.am): Likewise.
16604         * modules/sys_ioctl (Makefile.am): Likewise.
16605         * modules/sys_select (Makefile.am): Likewise.
16606         * modules/sys_socket (Makefile.am): Likewise.
16607         * modules/sys_stat (Makefile.am): Likewise.
16608         * modules/sys_time (Makefile.am): Likewise.
16609         * modules/sys_times (Makefile.am): Likewise.
16610         * modules/sys_uio (Makefile.am): Likewise.
16611         * modules/sys_utsname (Makefile.am): Likewise.
16612         * modules/sys_wait (Makefile.am): Likewise.
16613         * modules/sysexits (Makefile.am): Likewise.
16614         * modules/termios (Makefile.am): Likewise.
16615         * modules/time (Makefile.am): Likewise.
16616         * modules/unistd (Makefile.am): Likewise.
16617         * modules/wchar (Makefile.am): Likewise.
16618         * modules/wctype-h (Makefile.am): Likewise.
16619         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
16620
16621 2011-05-29  Bruno Haible  <bruno@clisp.org>
16622
16623         assert-h: Allow multiple gnulib generated replacements to coexist.
16624         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
16625
16626 2011-05-29  Bruno Haible  <bruno@clisp.org>
16627
16628         argp: Allow coexistence with strerror_r-posix module.
16629         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
16630         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
16631         by gnulib's <string.h> replacement), assume it has the POSIX signature,
16632         not the glibc signature.
16633
16634 2011-05-28  Bruno Haible  <bruno@clisp.org>
16635
16636         gnulib-tool: Alternative structure of testdirs, similar to --import.
16637         * gnulib-tool: New option --single-configure.
16638         (func_usage): Document it.
16639         (single_configure): New variable.
16640         (func_modules_transitive_closure_separately,
16641         func_modules_transitive_closure_separately,
16642         func_determine_use_libtests, func_modules_add_dummy_separately,
16643         func_modules_to_filelist_separately): New functions, extracted from
16644         func_import.
16645         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
16646         (func_import): Use the new functions.
16647         (func_create_testdir): Set final_modules. Handle $single_configure =
16648         true case.
16649
16650 2011-05-28  Bruno Haible  <bruno@clisp.org>
16651
16652         getloadavg: Remove an unreliable safety check.
16653         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
16654         getloadavg.c is in place.
16655         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
16656         Reported by Sam Steingold <sds@gnu.org>.
16657
16658 2011-05-28  Bruno Haible  <bruno@clisp.org>
16659
16660         doc: Cleanup yet another file produced by texinfo.tex.
16661         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
16662
16663 2011-05-28  Bruno Haible  <bruno@clisp.org>
16664
16665         Finish the conditional dependencies mechanism.
16666         * gnulib-tool: New option --no-conditional-dependencies.
16667         (func_usage): Document it. Don't mark --conditional-dependencies as
16668         experimental.
16669         (cond_dependencies): The possible values can now be true, false, empty.
16670         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
16671         (func_import): Store setting in gnulib-cache.m4 and read it from there.
16672         * doc/gnulib-tool.texi (Conditional dependencies): New section.
16673
16674 2011-05-28  Bruno Haible  <bruno@clisp.org>
16675
16676         doc: Use a recent texinfo.tex.
16677         * doc/Makefile (tex_opts): New variable.
16678         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
16679
16680 2011-05-28  Jim Meyering  <meyering@redhat.com>
16681
16682         intprops.h: adjust comment to match code change
16683         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
16684         only once, it *may* have side effects.  Also fix an unrelated typo.
16685         (_GL_INT_SIGNED): Likewise.
16686
16687 2011-05-26  Simon Josefsson  <simon@josefsson.org>
16688
16689         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
16690
16691 2011-05-26  Bruno Haible  <bruno@clisp.org>
16692
16693         mbsrchr: Avoid collision with system function on Interix.
16694         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
16695         Reported by Markus Duft <mduft@gentoo.org>.
16696
16697 2011-05-15  James Youngman  <jay@gnu.org>
16698
16699         getopt: for ambiguous options, enumerate the possibilities.
16700         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
16701         the ambiguous options when an ambiguous prefix is given. This was
16702         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
16703         glibc change was
16704         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
16705
16706 2011-05-25  Eric Blake  <eblake@redhat.com>
16707
16708         getcwd: work around mingw bug
16709         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
16710         * doc/posix-functions/getcwd.texi (getcwd): Document it.
16711         Reported by Matthias Bolte.
16712
16713 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
16714
16715         test-intprops: disable -Wtype-limits diagnostics
16716         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
16717         diagnostics.  Otherwise, the integer overflow macros generate many
16718         diagnostics.  Reported by Jim Meyering in
16719         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16720
16721         intprops: shorten, to pacify gcc -Woverlength-strings
16722         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
16723         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
16724         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
16725         likely to run afoul of C compiler limits for string constant lengths.
16726         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
16727
16728 2011-05-24  Eric Blake  <eblake@redhat.com>
16729
16730         docs: document recently fixed glibc printf bug
16731         * doc/posix-functions/fprintf.texi (fprintf): Document it.
16732         * doc/posix-functions/printf.texi (printf): Likewise.
16733         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16734         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16735
16736         closein-tests: convert to init.sh
16737         * modules/closein-tests (Files): Add init.sh
16738         * tests/test-closein.sh Use it.
16739
16740         yesno-tests: convert to init.sh
16741         * modules/yesno-tests (Files): Add init.sh.
16742         * tests/test-yesno.sh: Use it.
16743
16744         atexit-tests: ensure reliable exit status
16745         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
16746         Reported by Bruno Haible.
16747
16748 2011-05-24  Bruno Haible  <bruno@clisp.org>
16749
16750         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
16751         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
16752         gl_PREREQ_STRERROR_R invocations from here...
16753         * modules/strerror_r-posix (configure.ac): ... to here.
16754
16755 2011-05-24  Eric Blake  <eblake@redhat.com>
16756
16757         strerror_r: fix missing header
16758         * lib/strerror_r.c: Avoid compiler warning about snprintf.
16759
16760         strerror_r: fix AIX test failures
16761         * lib/strerror_r.c (strerror_r): Convert silent truncation to
16762         ERANGE failure.
16763
16764         strerror_r: fix Solaris test failures
16765         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
16766         failures.
16767         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16768
16769         strerror_r: enforce POSIX recommendations
16770         * lib/strerror_r.c (safe_copy): New helper method.
16771         (strerror_r): Guarantee a non-empty string.
16772         * tests/test-strerror_r.c (main): Enhance tests to incorporate
16773         recent POSIX rulings and to match our strerror guarantees.
16774         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
16775
16776 2011-05-24  Jim Meyering  <meyering@redhat.com>
16777
16778         test-perror2.c: avoid warning about unused variable
16779         * tests/test-perror2.c (main): Remove declaration of unused "fp".
16780
16781 2011-05-24  Eric Blake  <eblake@redhat.com>
16782
16783         perror: avoid spurious test failure on HP-UX
16784         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
16785
16786         tests: fix logic bug in init.sh
16787         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
16788         shell.
16789
16790 2011-05-24  Jim Meyering  <meyering@redhat.com>
16791
16792         utimensat: do not reference an out-of-scope buffer
16793         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
16794         declared in an inner scope, yet "times" would be dereferenced outside
16795         the scope in which "ts" was valid.
16796         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
16797         of ts[2] "out/up", so that the use of aliased "times" (via
16798         "times = ts;") does not end up referencing an out-of-scope "ts"
16799
16800         opendir-safer.c: don't clobber errno; don't close negative FD
16801         * lib/opendir-safer.c (opendir_safer):
16802         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
16803         file descriptor, and more importantly, don't clobber the
16804         offending errno value with EINVAL.  Before, upon failure
16805         of dup_safer, we would pass the negative file descriptor to
16806         fdopendir, which would clobber errno.
16807
16808 2011-05-23  Bruno Haible  <bruno@clisp.org>
16809
16810         idcache: Fix module description.
16811         * modules/idcache (Include): Set to "idcache.h".
16812
16813 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
16814
16815         gnulib-tool: fix portability problem with MacOS sed
16816         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
16817         before the "}".  Problem reported by Leo in
16818         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
16819         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
16820         sed_extract_condition1, sed_extract_condition2.
16821
16822 2011-05-23  Bruno Haible  <bruno@clisp.org>
16823
16824         hash: Simplify autoconf macro.
16825         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
16826
16827 2011-05-23  Bruno Haible  <bruno@clisp.org>
16828
16829         getugroups: Fix module description.
16830         * modules/getugroups (Include): Set to "getugroups.h".
16831
16832 2011-05-23  Bruno Haible  <bruno@clisp.org>
16833
16834         linkat: Simplify autoconf macro.
16835         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
16836
16837 2011-05-23  Bruno Haible  <bruno@clisp.org>
16838             Eric Blake  <eblake@redhat.com>
16839
16840         linkat, renameat: Update dependencies.
16841         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
16842         * modules/linkat (Depends-on): Likewise. Remove also readlink,
16843         symlinkat.
16844
16845 2011-05-23  Jim Meyering  <meyering@redhat.com>
16846
16847         maint.mk: more tight_scope improvements
16848         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
16849         (_gl_TS_headers): Define only in if-0'd block.
16850         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
16851         sometimes we must *not* use it.  Adjust uses accordingly.
16852         (sc_tight_scope): Use much simpler grep-based test to determine
16853         whether we skip this rule.
16854
16855         maint.mk: generalize/improve the tight-scope rule
16856         * top/maint.mk: Emit a warning when the test is skipped.
16857         (_gl_TS_dir): Add $(srcdir)/ prefix.
16858         (_gl_TS_function_match): Simplify, rather than trying
16859         to enumerate common types.  Otherwise, it would fail to match an
16860         "extern unsigned char const *" declaration in idutils.
16861         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
16862         a way to support use of that type of macro.
16863         (_gl_TS_var_match): Simplify regexp.
16864         (_gl_TS_obj_files): New configurable variable.
16865         (_gl_TS_headers): Likewise.
16866
16867 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
16868
16869         verify: fix bug when gnulib <assert.h> is also included
16870         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
16871         is defined, not if _GL_STATIC_ASSERT_H is not defined.
16872         Perhaps there's a better way, but this fixes the immediate problem.
16873         Problem reported by Bruno Haible in
16874         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
16875
16876 2011-05-22  Bruno Haible  <bruno@clisp.org>
16877
16878         xgetcwd: Simplify autoconf macro.
16879         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
16880
16881 2011-05-22  Bruno Haible  <bruno@clisp.org>
16882
16883         New module 'mktime-internal'.
16884         * modules/mktime-internal: New file.
16885         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
16886         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
16887         mktime_internal as a C macro if libc has __mktime_internal.
16888         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
16889         conditions.
16890         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
16891
16892 2011-05-22  Bruno Haible  <bruno@clisp.org>
16893
16894         timegm: Correct mktime replacement statements.
16895         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
16896         defining mktime as a C macro. This completes a 2009-07-28 commit.
16897
16898 2011-05-22  Bruno Haible  <bruno@clisp.org>
16899
16900         timegm: Simplify autoconf macro.
16901         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
16902
16903 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16904
16905         clock-time: change to LGPLv2+.
16906         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
16907         BSD-like but we have no mark for that; this is good enough for now.
16908
16909 2011-05-21  Bruno Haible  <bruno@clisp.org>
16910
16911         strerror_r: Fix comments.
16912         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
16913
16914 2011-05-21  Bruno Haible  <bruno@clisp.org>
16915
16916         relocatable-prog-wrapper: Fix possible link error.
16917         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
16918         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
16919         (gl_FUNC_SETENV): ... to here.
16920         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
16921         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
16922
16923 2011-05-21  Bruno Haible  <bruno@clisp.org>
16924
16925         relocatable-prog-wrapper: Assume strerror() exists.
16926         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
16927         m4/strerror.m4.
16928         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
16929         * lib/relocwrapper.c: Remove mention of strerror module.
16930         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
16931         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
16932         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
16933         C macro.
16934
16935 2011-05-21  Bruno Haible  <bruno@clisp.org>
16936
16937         select: Simplify replacement idiom.
16938         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
16939         Win32 platforms.
16940         * lib/sys_select.in.h (select): Simplify accordingly.
16941         * modules/select (Depends-on): Likewise.
16942
16943 2011-05-21  Bruno Haible  <bruno@clisp.org>
16944
16945         mkdir-p: Simplify autoconf macro.
16946         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
16947         gl_FUNC_LCHOWN.
16948
16949 2011-05-21  Eric Blake  <eblake@redhat.com>
16950
16951         strerror_r: avoid clobbering strerror on cygwin
16952         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
16953         fall back instead to sys_errlist.
16954         * modules/strerror (configure.ac): Add witness.
16955         * tests/test-strerror_r.c (main): Enhance test.
16956         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16957         * tests/test-perror2.c (main): Free memory before exit.
16958
16959 2011-05-21  Bruno Haible  <bruno@clisp.org>
16960
16961         mkdtemp: Use gnulib naming conventions.
16962         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
16963         * modules/mkdtemp (configure.ac): Update.
16964
16965 2011-05-20  Eric Blake  <eblake@redhat.com>
16966
16967         strerror_r: avoid corrupting errno on Solaris
16968         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
16969         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16970
16971         strerror_r: avoid compiler warning
16972         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
16973
16974         strerror_r: simplify AIX code
16975         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
16976
16977         test-perror: avoid spurious failure on FreeBSD
16978         * modules/perror-tests (Depends-on): Add strerror, now that
16979         strerror_r no longer pulls it in.
16980
16981 2011-05-20  Bruno Haible  <bruno@clisp.org>
16982
16983         strerror_r-posix: Remove unused dependencies.
16984         * modules/strerror_r-posix (Depends-on): Remove strerror.
16985         Reported by Eric Blake.
16986
16987 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16988
16989         intprops: remove assumption about A|B representation
16990         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
16991         is a valid integer if both A and B are.  Although this is true for
16992         all known practical hosts, the C standard doesn't guarantee it,
16993         and the code need not assume it.  Also, this change may work around
16994         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
16995         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
16996
16997 2011-05-20  Eric Blake  <eblake@redhat.com>
16998
16999         perror: work around FreeBSD bug
17000         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17001         is broken.  Move AC_LIBOBJ...
17002         * modules/perror (configure.ac): Here.
17003         * doc/posix-functions/perror.texi (perror): Document this.
17004         * tests/test-perror2.c (main): Enhance test.
17005
17006         test-perror: check for strerror interactions
17007         * tests/macros.h (STREQ): Add macro.
17008         * modules/perror-tests (Files): Add second test.
17009         * tests/test-perror2.c (main): New file.
17010         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17011
17012         test-perror: rewrite to use init script
17013         * modules/perror-tests (Files): Add init.sh.
17014         * tests/test-perror.sh: Use temporary directory.
17015
17016 2011-05-20  Jim Meyering  <meyering@redhat.com>
17017
17018         maint: replace misused "a" with "an"
17019         * doc/intprops.texi: "a integer"
17020         * doc/regex.texi: "a explanation"
17021         * lib/alignof.h: "a object"
17022         * lib/argmatch.h: "a explanation"
17023         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17024         * lib/stdint.in.h: "a integer"
17025         * lib/userspec.c: "a owner"
17026         * doc/gnulib.texi: Fix "a idea", and reword.
17027
17028 2011-05-19  Jim Meyering  <meyering@redhat.com>
17029
17030         maint: correct misuse of "a" and "an"
17031         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17032         * lib/argp-help.c: "an docum...": s/an/a/
17033         * lib/argp-parse.c: "An vector": s/An/A/
17034         * lib/execute.c: "an native": s/an/a/
17035         * lib/spawn-pipe.c: Likewise.
17036         * lib/gc.h: "an Gc_rc": s/an/a/
17037         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17038         * lib/fts.c: "an stat.st_dev": s/an/a/
17039
17040 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17041
17042         intprops-tests: work around HP-UX 11.23 cc bug with constants
17043         * tests/test-intprops.c (VERIFY): New macro.
17044         (main): Use it, instead of verify, to work around the compiler bug; see
17045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17046
17047         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17048         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17049         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17050         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17051         (_GL_REMAINDER_OVERFLOW): Use it.
17052
17053         intprops-tests: revert unsigned part of previous change
17054         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17055         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17056         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17057         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17058
17059 2011-05-19  Bruno Haible  <bruno@clisp.org>
17060
17061         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17062         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17063         strerror_r() returned without filling the buffer.
17064         Reported by Eric Blake.
17065
17066 2011-05-19  Eric Blake  <eblake@redhat.com>
17067
17068         strerror_r: guarantee unchanged errno
17069         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17070         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17071         failure.
17072         * tests/test-strerror_r.c (main): Enhance test.
17073
17074 2011-05-19  Bruno Haible  <bruno@clisp.org>
17075
17076         strerror_r: Reorder #if blocks.
17077         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17078         for consistency with the previous commit.
17079
17080 2011-05-19  Bruno Haible  <bruno@clisp.org>
17081
17082         perror: Avoid clobbering the strerror buffer when possible.
17083         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17084         * lib/strerror.c: Include it.
17085         * modules/strerror (Files): Add lib/strerror-impl.h.
17086         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17087         (my_strerror): New function, defined through lib/strerror-impl.h.
17088         (perror): Use it instead of strerror.
17089         * modules/perror (Files): Add lib/strerror-impl.h.
17090         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17091
17092 2011-05-19  Eric Blake  <eblake@redhat.com>
17093
17094         strerror_r: fix on newer cygwin
17095         * lib/strerror_r.c (strerror_r): Cygwin now has
17096         __xpg_strerror_r, use it.
17097
17098 2011-05-19  Bruno Haible  <bruno@clisp.org>
17099
17100         strerror_r: Avoid clobbering the strerror buffer when possible.
17101         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17102         (sys_nerr, sys_errlist): New declarations.
17103         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17104         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17105         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17106
17107 2011-05-19  Bruno Haible  <bruno@clisp.org>
17108
17109         strerror_r: Fix test failure on mingw.
17110         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17111         EXTEND_STRERROR_R.
17112         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17113         macros from errno.in.h instead.
17114
17115 2011-05-19  Eric Blake  <eblake@redhat.com>
17116
17117         strerror: relax test for Solaris
17118         * tests/test-strerror.c (main): Permit Solaris behavior.
17119         * tests/test-strerror_r.c (main): Likewise.
17120
17121         strerror: enforce POSIX ruling on strerror(0)
17122         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17123         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17124         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17125         * doc/posix-functions/strerror.texi (strerror): Document it.
17126         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17127         * tests/test-strerror.c (main): Strengthen test.
17128         * tests/test-strerror_r.c (main): Likewise.
17129
17130 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17131
17132         intprop-tests: port to older and more-pedantic compilers
17133         * modules/intprops-tests (Files): Add tests/macros.h.
17134         * tests/test-intprops.c: Include macros.h.
17135         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17136         it's no longer documented to expand to an integer constant expression.
17137         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17138         argument is floating point, as it's no longer documented to expand
17139         to an integer constant expression in that case.
17140         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17141         compiler bugs reported by Bruno Haible.  See
17142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17143         (U0, U1): New constants, to work around the same bugs.  Also,
17144         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17145
17146         intprops: work around C compiler bugs
17147         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17148         bug in Sun C 5.11 2010/08/13 and other compilers; see
17149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17150
17151         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17152         * doc/intprops.texi (Integer Type Determination): Fix
17153         documentation for TYPE_IS_INTEGER: it returns an constant
17154         expression, not an integer constant expression.  Fix doc for
17155         TYPE_SIGNED: it returns an integer constant expression only if its
17156         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17157         hardly worth documented that way....)
17158
17159 2011-05-18  Bruno Haible  <bruno@clisp.org>
17160
17161         strerror_r: Avoid clobbering the strerror buffer when possible.
17162         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17163         Handle gnulib defined errno values here. When strerror() returns NULL
17164         or an empty string, return EINVAL.
17165         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17166         gnulib defined errno values here.
17167         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17168
17169 2011-05-18  Eric Blake  <eblake@redhat.com>
17170
17171         fnmatch: avoid compiler warning
17172         * lib/fnmatch_loop.c (FCT): Use correct type.
17173         Reported by Matthias Bolte.
17174
17175 2011-05-13  Jim Meyering  <meyering@redhat.com>
17176
17177         maint.mk: three new prohibit_<HDR>_without_use rules
17178         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
17179         (sc_prohibit_stdio-safer_without_use): Likewise.
17180         (sc_prohibit_xfreopen_without_use): Likewise.
17181
17182 2011-05-17  Jim Meyering  <meyering@redhat.com>
17183
17184         announce-gen: fail if the NEWS delta is empty
17185         If there's nothing noteworthy in NEWS, then either you forgot
17186         or you shouldn't be releasing.
17187         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
17188
17189 2011-05-17  Pádraig Brady <P@draigBrady.com>
17190
17191         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
17192         reserved symbols starting with double underscore from the check.
17193
17194 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17195
17196         intprops: add doc
17197         * doc/intprops.texi: New file, documenting intprops.
17198         * doc/gnulib.texi (Particular Modules): Include it.
17199
17200         verify: add doc to gnulib manual and fix example
17201         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
17202         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
17203         (Compile-time Assertions): Fix example so it can't overflow.
17204
17205 2011-05-17  Jim Meyering  <meyering@redhat.com>
17206
17207         warnings.m4: don't usurp save_CPPFLAGS variable name
17208         * m4/warnings.m4: Prefix local temporary variable name with gl_.
17209
17210         doc: fix typo
17211         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
17212
17213 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17214             Bruno Haible  <bruno@clisp.org>
17215
17216         doc: Tweak recent change.
17217         * README (Portability guidelines): Tweak new text.
17218         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
17219         Interix 6.1.
17220
17221 2011-05-16  Eric Blake  <eblake@redhat.com>
17222
17223         inttypes: avoid autoconf warning
17224         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
17225         * m4/stdint.m4 (gl_STDINT_H): Likewise.
17226
17227 2011-05-16  Sam Steingold <sds@gnu.org>
17228         and Eric Blake  <eblake@redhat.com>
17229
17230         vc-list-files: accept multiple directory operands
17231         * build-aux/vc-list-files: Iterate over all remaining operands.
17232
17233 2011-05-16  Bruno Haible  <bruno@clisp.org>
17234
17235         Fix confusion regarding deprecated modules.
17236         * modules/calloc (Status, Notice): Mark module as deprecated, not
17237         obsolete.
17238         * modules/fnmatch-posix (Status, Notice): Likewise.
17239         * modules/getdate (Status, Notice): Likewise.
17240         * modules/getopt (Status, Notice): Likewise.
17241         * modules/malloc (Status, Notice): Likewise.
17242         * modules/pipe (Status, Notice): Likewise.
17243         * modules/realloc (Status, Notice): Likewise.
17244         * modules/rename-dest-slash (Status, Notice): Likewise.
17245         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
17246         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
17247         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
17248         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
17249         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
17250
17251 2011-05-16  Bruno Haible  <bruno@clisp.org>
17252
17253         doc: List the target platforms.
17254         * doc/gnulib-intro.texi (Target Platforms): New section.
17255         * doc/gnulib.texi (Introduction): Update menu.
17256         * README (Portability guidelines): Refer to the new section. Update
17257         statement about oldest supported environment. Remove rationale why
17258         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
17259         unportable C89 function.
17260         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
17261         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
17262
17263 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17264
17265         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
17266
17267 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17268
17269         intprops-tests: new module
17270         * modules/intprops-tests, tests/test-intprops.c: New files.
17271
17272         intprops: add safe, portable integer overflow checking
17273         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
17274         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
17275         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
17276         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
17277         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
17278         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
17279         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
17280         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
17281         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
17282         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
17283         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
17284
17285 2011-05-12  James Youngman  <jay@gnu.org>
17286
17287         Add a test for glibc's Bugzilla bug #12378.
17288         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
17289         doesn't allow the literal matching of a lone "[" (which is
17290         required by POSIX).
17291         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
17292
17293 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
17294
17295         Sync glibc change fixing Bugzilla bug #12378.
17296         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
17297         beginning and fall back to matching as normal character if the
17298         string ends before the matching ']' is found.  This is what POSIX
17299         requires.
17300
17301 2011-05-13  Eric Blake  <eblake@redhat.com>
17302
17303         getcwd-lgpl: relax test for FreeBSD
17304         * doc/posix-functions/getcwd.texi (getcwd): Document portability
17305         issue.
17306         * tests/test-getcwd-lgpl.c (main): Relax test.
17307         Reported by Matthias Bolte.
17308
17309 2011-05-11  Eric Blake  <eblake@redhat.com>
17310
17311         test-fflush: silence compiler warning
17312         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
17313
17314 2011-05-11  Bruno Haible  <bruno@clisp.org>
17315
17316         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
17317         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
17318         * modules/canonicalize (Depends-on): Add 'nocrash'.
17319         * modules/canonicalize-lgpl (Depends-on): Likewise.
17320         * doc/posix-functions/realpath.texi: Update platforms list.
17321         Reported by Ryan Schmidt <ryandesign@macports.org>.
17322
17323 2011-05-11  Bruno Haible  <bruno@clisp.org>
17324
17325         group-member: Declare function in <unistd.h>.
17326         * lib/unistd.in.h (group_member): New declaration.
17327         * lib/group-member.h: Remove file.
17328         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
17329         * tests/test-unistd-c++.cc: Check signature of group_member.
17330         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
17331         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
17332         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
17333         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
17334         HAVE_GROUP_MEMBER.
17335         * modules/group-member (Files): Remove lib/group-member.h.
17336         (Depends-on): Add unistd. Specify conditions.
17337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
17338         (Include): Change to <unistd.h>.
17339         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
17340         HAVE_GROUP_MEMBER.
17341         * NEWS: Mention the change.
17342         * lib/euidaccess.c: Don't include group-member.h.
17343
17344 2011-05-11  Bruno Haible  <bruno@clisp.org>
17345
17346         group-member: Document module.
17347         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
17348         module.
17349
17350 2011-05-11  Bruno Haible  <bruno@clisp.org>
17351
17352         fclose: Fix mistake earlier today.
17353         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
17354
17355 2011-05-11  Eric Blake  <eblake@redhat.com>
17356
17357         fclose: preserve fflush errors
17358         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
17359         Reported by Jim Meyering.
17360
17361         bootstrap: support a prereq of 'rpcgen -' on RHEL5
17362         * build-aux/bootstrap (check_versions): When no specific version
17363         is required, merely check that the app produces an exit status
17364         that indicates its existence.
17365
17366         maint.mk: drop redundant check
17367         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
17368         the same but better.
17369
17370 2011-05-11  Bruno Haible  <bruno@clisp.org>
17371
17372         fclose: Fix possible link error.
17373         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
17374         unregister_shadow_fd. Improve comments.
17375         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
17376         Eric Blake.
17377
17378 2011-05-11  Jim Meyering  <meyering@redhat.com>
17379
17380         maint.mk: improve "can not" detection and generalize rule name
17381         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
17382         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
17383         Use the same technique as in sc_prohibit_doubled_word, so that
17384         we recognize "can not" also when the words are separated by a newline.
17385         Suggested by Eric Blake.
17386         (perl_filename_lineno_text_): Define.  Factored out of...
17387         (prohibit_doubled_word_): ...here.  Use the new definition.
17388         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
17389         (prohibit_undesirable_word_seq_RE_): New overridable variable.
17390         (ignore_undesirable_word_sequence_RE_): New overridable variable.
17391
17392 2011-05-10  Eric Blake  <eblake@redhat.com>
17393
17394         fclose: avoid double close race when possible
17395         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
17396         all but WINDOWS_SOCKETS.
17397
17398 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
17399
17400         openat: correct new comment
17401         * lib/openat-proc.c (openat_proc_name): Correct the comment.
17402
17403 2011-05-10  Jim Meyering  <meyering@redhat.com>
17404
17405         openat: add comments
17406         * lib/openat-proc.c (openat_proc_name): Add comments,
17407         mostly from Eric Blake.
17408
17409 2011-05-09  Eric Blake  <eblake@redhat.com>
17410
17411         openat: reduce syscalls in first probe of /proc
17412         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
17413         be a directory.  Simplify the probe for .. bugs.
17414         * modules/openat (Depends-on): Drop same-inode.
17415         Reported by Bastien ROUCARIES.
17416
17417 2011-05-09  Jim Meyering  <meyering@redhat.com>
17418
17419         maint.mk: change semantics/name of tight_scope variables
17420         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
17421         Rename variables to align with semantics that make them more useful.
17422
17423         maint.mk: tweak new rule's name not to impinge
17424         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
17425         (sc_tight_scope): Use new rule name rather than $@-0.
17426
17427         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
17428         * top/maint.mk (sc_tight_scope): New rule.
17429         (sc_tight_scope-0): New rule, ifdef'd out.
17430         (_gl_TS_dir): Default.
17431         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
17432         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
17433
17434 2011-05-09  Simon Josefsson  <simon@josefsson.org>
17435
17436         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
17437         Haible <bruno@clisp.org>.
17438
17439 2011-05-08  Bruno Haible  <bruno@clisp.org>
17440
17441         Comments.
17442         * m4/isnanf.m4: Add comment.
17443         * m4/isnanl.m4: Likewise.
17444
17445 2011-05-08  Bruno Haible  <bruno@clisp.org>
17446
17447         glob: Remove obsolete macro.
17448         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
17449
17450 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
17451
17452         intprops: Sun C 5.11 supports __typeof__
17453         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
17454         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
17455         which is new.
17456         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
17457
17458         intprops: switch to usual gnulib indenting and naming
17459         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
17460         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
17461
17462         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
17463
17464 2011-05-08  Jim Meyering  <meyering@redhat.com>
17465
17466         maint.mk: suppress "Entering/Leaving directory" diag in announcement
17467         * top/maint.mk (release-prep): Use make's --no-print-directory
17468         option when generating the announcement.  This eliminates the
17469         pesky "make[2]: Entering/Leaving directory" diagnostics in the
17470         generated announcement template.
17471
17472 2011-05-08  Bruno Haible  <bruno@clisp.org>
17473
17474         tzset: Fix gettimeofday wrapper on Solaris 2.6.
17475         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
17476         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
17477
17478 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17479
17480         ignore-value, verify: Omit include files from lib_SOURCES.
17481         * modules/ignore-value, modules/verify (Makefile.am):
17482         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
17483         that leads Automake to duplicate use of am__objects_... variables
17484         in Makefile.in.  See
17485         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
17486
17487 2011-05-07  Bruno Haible  <bruno@clisp.org>
17488
17489         fclose: Simplify autoconf macro.
17490         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
17491         defined.
17492
17493 2011-05-07  Bruno Haible  <bruno@clisp.org>
17494
17495         canonicalize-lgpl: Fix autoconf macro ordering bug.
17496         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
17497         gl_STDLIB_H_DEFAULTS.
17498
17499 2011-05-06  Eric Blake  <eblake@redhat.com>
17500
17501         maintainer-makefile: make sc_po_check easier to tune
17502         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
17503         to probe for strings, such as an alternate location for gnulib.
17504
17505         fclose: guarantee behavior on seekable stdin
17506         * modules/fclose (Depends-on): Add fflush.
17507         * doc/posix-functions/fclose.texi (fclose): Document this.
17508         * tests/test-fclose.c (main): Make test for this unconditional.
17509
17510 2011-05-06  Bruno Haible  <bruno@clisp.org>
17511
17512         fflush, fpurge: Relicense under LGPLv2+.
17513         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
17514         * modules/fpurge (License): Likewise.
17515         With permission from Eric Blake and Jim Meyering.
17516         Suggested by Eric Blake.
17517
17518 2011-05-06  Karl Berry  <karl@gnu.org>
17519
17520         * MODULES.html.sh (func_all_modules): remove exit.
17521
17522 2011-05-06  Jim Meyering  <meyering@redhat.com>
17523
17524         maint.mk: use info-gnu@ as the default only for a stable release
17525         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
17526         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
17527         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
17528         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
17529
17530 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17531
17532         assert-h: new module, which supports C1X-style static_assert
17533         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
17534         * lib/verify.h: Revamp so that this can be copied into assert.h,
17535         while retaining the ability to use it standalone as before.
17536         Rename private identifiers so as not to encroach on the
17537         standard C namespace, since this is now used by assert.h.
17538         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
17539         the old verify_true.
17540         (_GL_VERIFY_TRUE): New macro, with much of the contents of
17541         the old verify_true.  Use _GL_VERIFY_TYPE.
17542         (_GL_VERIFY): New macro, with much of the contents of the old verify.
17543         (static_assert): New macro, if _GL_STATIC_ASSERT_H
17544         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
17545         defined when this file is copied into the replacement assert.h.
17546         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
17547         and _Static_assert is not built in.
17548         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
17549         defined, and use the new macros mentioned above.
17550         * doc/posix-headers/assert.texi: Document this.
17551
17552 2011-05-05  Bruno Haible  <bruno@clisp.org>
17553
17554         fclose, fflush: Respect rules for use of AC_LIBOBJ.
17555         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
17556         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
17557         gl_REPLACE_FCLOSE here.
17558         * modules/fflush (Depends-on): Remove fclose.
17559         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
17560         combination with module 'fclose'.
17561
17562 2011-05-05  Bruno Haible  <bruno@clisp.org>
17563
17564         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
17565         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
17566         gl_FUNC_FFLUSH.
17567         (gl_FUNC_FFLUSH): Use it.
17568         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
17569         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
17570         gl_REPLACE_FSEEKO here.
17571
17572 2011-05-05  Bruno Haible  <bruno@clisp.org>
17573
17574         tzset: Relicense under LGPL.
17575         * modules/tzset (License): Change to LGPL.
17576         No agreement needed; it's a no-op.
17577
17578         strtoimax, strtoumax: Relicense under LGPL.
17579         * modules/strtoimax (License): Change to LGPL.
17580         * modules/strtoumax (License): Likewise.
17581         With permission from Jim Meyering, Paul Eggert:
17582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
17583         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
17584
17585         getgroups: Relicense under LGPL.
17586         * modules/getgroups (License): Change to LGPL.
17587         With permission from Jim Meyering, Paul Eggert, Eric Blake:
17588         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17590         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17591
17592         nanosleep: Relicense under LGPL.
17593         * modules/nanosleep (License): Change to LGPL.
17594         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
17595         Haible:
17596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
17597         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
17598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17599         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17600
17601         futimens: Relicense under LGPL.
17602         * modules/futimens (License): Change to LGPL.
17603         With permission from Eric Blake:
17604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17605
17606         fflush: Relicense under LGPL.
17607         * modules/fflush (License): Change to LGPL.
17608         With permission from Eric Blake, Bruno Haible, Jim Meyering:
17609         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
17610         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
17611         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
17612
17613         tmpfile: Relicense under LGPL.
17614         * modules/tmpfile (License): Change to LGPL.
17615         With permission from Ben Pfaff:
17616         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17617
17618         isfinite: Relicense under LGPL.
17619         * modules/isfinite (License): Change to LGPL.
17620         With permission from Ben Pfaff, Bruno Haible:
17621         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
17622         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
17623
17624         acosl..tanl: Relicense under LGPL.
17625         * modules/acosl (License): Change to LGPL.
17626         * modules/asinl (License): Likewise.
17627         * modules/atanl (License): Likewise.
17628         * modules/cosl (License): Likewise.
17629         * modules/expl (License): Likewise.
17630         * modules/logl (License): Likewise.
17631         * modules/sinl (License): Likewise.
17632         * modules/sqrtl (License): Likewise.
17633         * modules/tanl (License): Likewise.
17634         Source code originally from glibc and Paolo Bonzini. Agreements:
17635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
17636         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
17637
17638 2011-05-05  Bruno Haible  <bruno@clisp.org>
17639
17640         signal: Define sighandler_t.
17641         * lib/signal.in.h (sighandler_t): New type.
17642         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
17643         whether sighandler_t is defined.
17644         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
17645         * modules/signal (Depends-on): Add extensions.
17646         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
17647         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
17648         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
17649
17650 2011-05-05  Eric Blake  <eblake@redhat.com>
17651
17652         maint: remove useless REPLACE_*_H macros
17653         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
17654         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
17655         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
17656         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
17657         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
17658         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
17659         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
17660         * m4/btowc.m4: Update callers.
17661         * m4/dirfd.m4: Likewise.
17662         * m4/duplocale.m4: Likewise.
17663         * m4/fchdir.m4: Likewise.
17664         * m4/fdopendir.m4: Likewise.
17665         * m4/inet_ntop.m4: Likewise.
17666         * m4/inet_pton.m4: Likewise.
17667         * m4/ioctl.m4: Likewise.
17668         * m4/mbrlen.m4: Likewise.
17669         * m4/mbrtowc.m4: Likewise.
17670         * m4/mbsinit.m4: Likewise.
17671         * m4/mbsnrtowcs.m4: Likewise.
17672         * m4/mbsrtowcs.m4: Likewise.
17673         * m4/poll.m4: Likewise.
17674         * m4/setlocale.m4: Likewise.
17675         * m4/wcrtomb.m4: Likewise.
17676         * m4/wcsnrtombs.m4: Likewise.
17677         * m4/wcsrtombs.m4: Likewise.
17678         * m4/wctob.m4: Likewise.
17679         * m4/wcwidth.m4: Likewise.
17680         * modules/posix_spawn: Likewise.
17681         * modules/posix_spawn_file_actions_addclose: Likewise.
17682         * modules/posix_spawn_file_actions_adddup2: Likewise.
17683         * modules/posix_spawn_file_actions_addopen: Likewise.
17684         * modules/posix_spawn_file_actions_destroy: Likewise.
17685         * modules/posix_spawn_file_actions_init: Likewise.
17686         * modules/posix_spawnattr_destroy: Likewise.
17687         * modules/posix_spawnattr_getflags: Likewise.
17688         * modules/posix_spawnattr_getpgroup: Likewise.
17689         * modules/posix_spawnattr_getschedparam: Likewise.
17690         * modules/posix_spawnattr_getschedpolicy: Likewise.
17691         * modules/posix_spawnattr_getsigdefault: Likewise.
17692         * modules/posix_spawnattr_getsigmask: Likewise.
17693         * modules/posix_spawnattr_init: Likewise.
17694         * modules/posix_spawnattr_setflags: Likewise.
17695         * modules/posix_spawnattr_setpgroup: Likewise.
17696         * modules/posix_spawnattr_setschedparam: Likewise.
17697         * modules/posix_spawnattr_setschedpolicy: Likewise.
17698         * modules/posix_spawnattr_setsigdefault: Likewise.
17699         * modules/posix_spawnattr_setsigmask: Likewise.
17700         * modules/posix_spawnp: Likewise.
17701
17702 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
17703
17704         Add option to do-release-commit-and-tag to specify branch.
17705         * build-aux/do-release-commit-and-tag: Add --branch.
17706
17707 2011-05-03  Bruno Haible  <bruno@clisp.org>
17708
17709         Avoid unnecessary compilation units, through conditional dependencies.
17710         * modules/accept (Depends-on): Add conditions to the dependencies.
17711         * modules/acosl (Depends-on): Likewise.
17712         * modules/argz (Depends-on): Likewise.
17713         * modules/asinl (Depends-on): Likewise.
17714         * modules/atanl (Depends-on): Likewise.
17715         * modules/atoll (Depends-on): Likewise.
17716         * modules/bind (Depends-on): Likewise.
17717         * modules/btowc (Depends-on): Likewise.
17718         * modules/canonicalize-lgpl (Depends-on): Likewise.
17719         * modules/ceil (Depends-on): Likewise.
17720         * modules/ceilf (Depends-on): Likewise.
17721         * modules/ceill (Depends-on): Likewise.
17722         * modules/chdir-long (Depends-on): Likewise.
17723         * modules/chown (Depends-on): Likewise.
17724         * modules/close (Depends-on): Likewise.
17725         * modules/connect (Depends-on): Likewise.
17726         * modules/cosl (Depends-on): Likewise.
17727         * modules/dirfd (Depends-on): Likewise.
17728         * modules/dprintf (Depends-on): Likewise.
17729         * modules/dprintf-posix (Depends-on): Likewise.
17730         * modules/error (Depends-on): Likewise.
17731         * modules/euidaccess (Depends-on): Likewise.
17732         * modules/expl (Depends-on): Likewise.
17733         * modules/faccessat (Depends-on): Likewise.
17734         * modules/fchdir (Depends-on): Likewise.
17735         * modules/fclose (Depends-on): Likewise.
17736         * modules/fcntl (Depends-on): Likewise.
17737         * modules/fdopendir (Depends-on): Likewise.
17738         * modules/fflush (Depends-on): Likewise.
17739         * modules/floor (Depends-on): Likewise.
17740         * modules/floorf (Depends-on): Likewise.
17741         * modules/floorl (Depends-on): Likewise.
17742         * modules/fnmatch (Depends-on): Likewise.
17743         * modules/fopen (Depends-on): Likewise.
17744         * modules/fprintf-posix (Depends-on): Likewise.
17745         * modules/frexp (Depends-on): Likewise.
17746         * modules/frexp-nolibm (Depends-on): Likewise.
17747         * modules/frexpl (Depends-on): Likewise.
17748         * modules/frexpl-nolibm (Depends-on): Likewise.
17749         * modules/fseek (Depends-on): Likewise.
17750         * modules/fsusage (Depends-on): Likewise.
17751         * modules/ftell (Depends-on): Likewise.
17752         * modules/ftello (Depends-on): Likewise.
17753         * modules/futimens (Depends-on): Likewise.
17754         * modules/getcwd (Depends-on): Likewise.
17755         * modules/getcwd-lgpl (Depends-on): Likewise.
17756         * modules/getdelim (Depends-on): Likewise.
17757         * modules/getdomainname (Depends-on): Likewise.
17758         * modules/getgroups (Depends-on): Likewise.
17759         * modules/gethostname (Depends-on): Likewise.
17760         * modules/getline (Depends-on): Likewise.
17761         * modules/getlogin_r (Depends-on): Likewise.
17762         * modules/getopt-posix (Depends-on): Likewise.
17763         * modules/getpeername (Depends-on): Likewise.
17764         * modules/getsockname (Depends-on): Likewise.
17765         * modules/getsockopt (Depends-on): Likewise.
17766         * modules/getsubopt (Depends-on): Likewise.
17767         * modules/getusershell (Depends-on): Likewise.
17768         * modules/glob (Depends-on): Likewise.
17769         * modules/grantpt (Depends-on): Likewise.
17770         * modules/iconv_open (Depends-on): Likewise.
17771         * modules/iconv_open-utf (Depends-on): Likewise.
17772         * modules/inet_ntop (Depends-on): Likewise.
17773         * modules/inet_pton (Depends-on): Likewise.
17774         * modules/ioctl (Depends-on): Likewise.
17775         * modules/isapipe (Depends-on): Likewise.
17776         * modules/isfinite (Depends-on): Likewise.
17777         * modules/isinf (Depends-on): Likewise.
17778         * modules/lchown (Depends-on): Likewise.
17779         * modules/ldexpl (Depends-on): Likewise.
17780         * modules/link (Depends-on): Likewise.
17781         * modules/linkat (Depends-on): Likewise.
17782         * modules/listen (Depends-on): Likewise.
17783         * modules/logl (Depends-on): Likewise.
17784         * modules/lstat (Depends-on): Likewise.
17785         * modules/mbrlen (Depends-on): Likewise.
17786         * modules/mbrtowc (Depends-on): Likewise.
17787         * modules/mbsinit (Depends-on): Likewise.
17788         * modules/mbsnrtowcs (Depends-on): Likewise.
17789         * modules/mbsrtowcs (Depends-on): Likewise.
17790         * modules/mbtowc (Depends-on): Likewise.
17791         * modules/memcmp (Depends-on): Likewise.
17792         * modules/mkdir (Depends-on): Likewise.
17793         * modules/mkdtemp (Depends-on): Likewise.
17794         * modules/mkfifo (Depends-on): Likewise.
17795         * modules/mkfifoat (Depends-on): Likewise.
17796         * modules/mknod (Depends-on): Likewise.
17797         * modules/mkostemp (Depends-on): Likewise.
17798         * modules/mkostemps (Depends-on): Likewise.
17799         * modules/mkstemp (Depends-on): Likewise.
17800         * modules/mkstemps (Depends-on): Likewise.
17801         * modules/mktime (Depends-on): Likewise.
17802         * modules/nanosleep (Depends-on): Likewise.
17803         * modules/open (Depends-on): Likewise.
17804         * modules/openat (Depends-on): Likewise.
17805         * modules/perror (Depends-on): Likewise.
17806         * modules/poll (Depends-on): Likewise.
17807         * modules/popen (Depends-on): Likewise.
17808         * modules/posix_spawn (Depends-on): Likewise.
17809         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
17810         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
17811         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
17812         * modules/posix_spawnp (Depends-on): Likewise.
17813         * modules/pread (Depends-on): Likewise.
17814         * modules/printf-posix (Depends-on): Likewise.
17815         * modules/ptsname (Depends-on): Likewise.
17816         * modules/putenv (Depends-on): Likewise.
17817         * modules/pwrite (Depends-on): Likewise.
17818         * modules/readline (Depends-on): Likewise.
17819         * modules/readlink (Depends-on): Likewise.
17820         * modules/readlinkat (Depends-on): Likewise.
17821         * modules/recv (Depends-on): Likewise.
17822         * modules/recvfrom (Depends-on): Likewise.
17823         * modules/regex (Depends-on): Likewise.
17824         * modules/remove (Depends-on): Likewise.
17825         * modules/rename (Depends-on): Likewise.
17826         * modules/renameat (Depends-on): Likewise.
17827         * modules/rmdir (Depends-on): Likewise.
17828         * modules/round (Depends-on): Likewise.
17829         * modules/roundf (Depends-on): Likewise.
17830         * modules/roundl (Depends-on): Likewise.
17831         * modules/rpmatch (Depends-on): Likewise.
17832         * modules/select (Depends-on): Likewise.
17833         * modules/send (Depends-on): Likewise.
17834         * modules/sendto (Depends-on): Likewise.
17835         * modules/setenv (Depends-on): Likewise.
17836         * modules/setlocale (Depends-on): Likewise.
17837         * modules/setsockopt (Depends-on): Likewise.
17838         * modules/shutdown (Depends-on): Likewise.
17839         * modules/sigaction (Depends-on): Likewise.
17840         * modules/signbit (Depends-on): Likewise.
17841         * modules/sigprocmask (Depends-on): Likewise.
17842         * modules/sinl (Depends-on): Likewise.
17843         * modules/sleep (Depends-on): Likewise.
17844         * modules/snprintf (Depends-on): Likewise.
17845         * modules/snprintf-posix (Depends-on): Likewise.
17846         * modules/socket (Depends-on): Likewise.
17847         * modules/sprintf-posix (Depends-on): Likewise.
17848         * modules/sqrtl (Depends-on): Likewise.
17849         * modules/stat (Depends-on): Likewise.
17850         * modules/strchrnul (Depends-on): Likewise.
17851         * modules/strdup-posix (Depends-on): Likewise.
17852         * modules/strerror (Depends-on): Likewise.
17853         * modules/strerror_r-posix (Depends-on): Likewise.
17854         * modules/strndup (Depends-on): Likewise.
17855         * modules/strnlen (Depends-on): Likewise.
17856         * modules/strptime (Depends-on): Likewise.
17857         * modules/strsep (Depends-on): Likewise.
17858         * modules/strsignal (Depends-on): Likewise.
17859         * modules/strstr-simple (Depends-on): Likewise.
17860         * modules/strtod (Depends-on): Likewise.
17861         * modules/strtoimax (Depends-on): Likewise.
17862         * modules/strtok_r (Depends-on): Likewise.
17863         * modules/strtoumax (Depends-on): Likewise.
17864         * modules/symlink (Depends-on): Likewise.
17865         * modules/symlinkat (Depends-on): Likewise.
17866         * modules/tanl (Depends-on): Likewise.
17867         * modules/tcgetsid (Depends-on): Likewise.
17868         * modules/tmpfile (Depends-on): Likewise.
17869         * modules/trunc (Depends-on): Likewise.
17870         * modules/truncf (Depends-on): Likewise.
17871         * modules/truncl (Depends-on): Likewise.
17872         * modules/uname (Depends-on): Likewise.
17873         * modules/unlink (Depends-on): Likewise.
17874         * modules/unlockpt (Depends-on): Likewise.
17875         * modules/unsetenv (Depends-on): Likewise.
17876         * modules/usleep (Depends-on): Likewise.
17877         * modules/utimensat (Depends-on): Likewise.
17878         * modules/vasprintf (Depends-on): Likewise.
17879         * modules/vdprintf (Depends-on): Likewise.
17880         * modules/vdprintf-posix (Depends-on): Likewise.
17881         * modules/vfprintf-posix (Depends-on): Likewise.
17882         * modules/vprintf-posix (Depends-on): Likewise.
17883         * modules/vsnprintf (Depends-on): Likewise.
17884         * modules/vsnprintf-posix (Depends-on): Likewise.
17885         * modules/vsprintf-posix (Depends-on): Likewise.
17886         * modules/wcrtomb (Depends-on): Likewise.
17887         * modules/wcscasecmp (Depends-on): Likewise.
17888         * modules/wcscspn (Depends-on): Likewise.
17889         * modules/wcsdup (Depends-on): Likewise.
17890         * modules/wcsncasecmp (Depends-on): Likewise.
17891         * modules/wcsnrtombs (Depends-on): Likewise.
17892         * modules/wcspbrk (Depends-on): Likewise.
17893         * modules/wcsrtombs (Depends-on): Likewise.
17894         * modules/wcsspn (Depends-on): Likewise.
17895         * modules/wcsstr (Depends-on): Likewise.
17896         * modules/wcstok (Depends-on): Likewise.
17897         * modules/wcswidth (Depends-on): Likewise.
17898         * modules/wctob (Depends-on): Likewise.
17899         * modules/wctomb (Depends-on): Likewise.
17900         * modules/wctype (Depends-on): Likewise.
17901         * modules/wcwidth (Depends-on): Likewise.
17902         * modules/write (Depends-on): Likewise.
17903
17904 2011-05-03  Bruno Haible  <bruno@clisp.org>
17905
17906         Support for conditional dependencies.
17907         * doc/gnulib.texi (Module description): Document the syntax of
17908         conditional dependencies.
17909         * gnulib-tool: New option --conditional-dependencies.
17910         (func_usage): Document it.
17911         (cond_dependencies): New variable.
17912         (func_get_automake_snippet_conditional,
17913         func_get_automake_snippet_unconditional): New functions, extracted from
17914         func_get_automake_snippet.
17915         (func_get_automake_snippet): Use them.
17916         (sed_first_32_chars): New variable.
17917         (func_module_shellfunc_name): New function.
17918         (func_module_shellvar_name): New function.
17919         (func_module_conditional_name): New function.
17920         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
17921         func_cond_module_condition): New functions.
17922         (func_modules_transitive_closure): Add support for conditional
17923         dependencies.
17924         (func_emit_lib_Makefile_am): For a conditional module, enclose the
17925         conditional automake snippet in an automake conditional.
17926         (func_emit_autoconf_snippets): Emit shell functions that contain the
17927         code for conditional modules.
17928         (func_import, func_create_testdir): Update specification.
17929
17930 2011-05-03  Eric Blake  <eblake@redhat.com>
17931
17932         test-getaddrinfo: report error information
17933         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
17934
17935 2011-05-03  Jim Meyering  <meyering@redhat.com>
17936
17937         bootstrap: avoid build failure when $GZIP is set
17938         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
17939         program name.  If defined at all, it is supposed to list gzip options.
17940         Reported by Alan Curry in http://debbugs.gnu.org/8609
17941
17942 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
17943
17944         readme-release: new module with release instructions
17945         * modules/readme-release: New module.
17946         * top/README-release: New file, from coreutils, grep, diffutils.
17947         * MODULES.html.sh (Support for maintaining and releasing): Add it.
17948
17949 2011-05-02  Eric Blake  <eblake@redhat.com>
17950
17951         fflush: also replace fclose when fixing fflush
17952         * modules/fflush (Depends-on): Add fclose.
17953         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
17954         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
17955         memstreams with no backing fd.
17956         * doc/posix-functions/fclose.texi (fclose): Document the use of
17957         fflush module to fix the bug.
17958         * tests/test-fclose.c (main): Relax test when fclose is used in
17959         isolation.
17960
17961         fclose: add some tests
17962         * modules/fclose-tests: New test module.
17963         * tests/test-fclose.c: New file.
17964         * doc/posix-functions/fclose.texi (fclose): Document the bug.
17965
17966         fclose: reduced dependencies
17967         * modules/fclose (Depends-on): Switch from fflush/fseeko to
17968         simpler lseek.
17969         * lib/fclose.c (rpl_fclose): Likewise.
17970         Reported by Simon Josefsson.
17971
17972         exit: drop remaining clients
17973         * modules/argmatch (Depends-on): Replace exit with stdlib.
17974         * modules/copy-file (Depends-on): Likewise.
17975         * modules/execute (Depends-on): Likewise.
17976         * modules/exitfail (Depends-on): Likewise.
17977         * modules/obstack (Depends-on): Likewise.
17978         * modules/pagealign_alloc (Depends-on): Likewise.
17979         * modules/pipe-filter-gi (Depends-on): Likewise.
17980         * modules/pipe-filter-ii (Depends-on): Likewise.
17981         * modules/savewd (Depends-on): Likewise.
17982         * modules/spawn-pipe (Depends-on): Likewise.
17983         * modules/wait-process (Depends-on): Likewise.
17984         * modules/xsetenv (Depends-on): Likewise.
17985         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
17986         * modules/git-merge-changelog (Depends-on): Likewise.
17987         * modules/long-options (Depends-on): Likewise.
17988         * modules/pt_chown (Depends-on): Likewise.
17989         * modules/sysexits (Depends-on): Likewise.
17990
17991         freading: relax license from LGPLv3+ to LGPLv2+
17992         * modules/freading (License): Relax LGPL version.
17993
17994 2011-05-02  Bruno Haible  <bruno@clisp.org>
17995
17996         fchdir: Remove unused dependencies.
17997         * modules/fchdir (Depends-on): Remove include_next.
17998
17999 2011-05-02  Bruno Haible  <bruno@clisp.org>
18000
18001         gnulib-tool: Refactor.
18002         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18003         from func_emit_autoconf_snippets.
18004         (func_emit_autoconf_snippets): Use it.
18005
18006 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18007
18008         * NEWS: Document removal of 'exit'.
18009         * modules/exit: Remove file.
18010
18011 2011-05-01  Bruno Haible  <bruno@clisp.org>
18012
18013         Update DEPENDENCIES.
18014         * DEPENDENCIES (gettext): Recommend the newest release.
18015         Reported by Simon Josefsson.
18016
18017 2011-05-01  Bruno Haible  <bruno@clisp.org>
18018
18019         gnulib-tool: Reduce code duplication.
18020         * gnulib-tool (func_emit_autoconf_snippets): New function.
18021         (func_import, func_create_testdir): Use it.
18022
18023 2011-04-30  Eric Blake  <eblake@redhat.com>
18024
18025         fclose: don't fail on non-seekable input stream
18026         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18027         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18028         since fflush is allowed to fail in that case.
18029
18030 2011-04-30  Bruno Haible  <bruno@clisp.org>
18031
18032         dup3: cleanup
18033         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18034
18035 2011-04-30  Bruno Haible  <bruno@clisp.org>
18036
18037         netdb: Make it work in C++ mode.
18038         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18039         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18040         module.
18041         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18042         gl_MODULE_INDICATOR_FOR_TESTS.
18043         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18044         * modules/netdb-c++-tests: New file.
18045         * tests/test-netdb-c++.cc: New file.
18046
18047 2011-04-30  Bruno Haible  <bruno@clisp.org>
18048
18049         New modules 'vfscanf', 'vscanf'.
18050         * modules/vfscanf: New file.
18051         * modules/vscanf: New file.
18052         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18053         here.
18054         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18055         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18056
18057 2011-04-30  Bruno Haible  <bruno@clisp.org>
18058
18059         passfd: Add comments.
18060         * lib/passfd.c: Add comments about platforms.
18061
18062 2011-04-30  Bruno Haible  <bruno@clisp.org>
18063
18064         sys_uio: Make <sys/uio.h> self-contained.
18065         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18066         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18067
18068 2011-04-30  Bruno Haible  <bruno@clisp.org>
18069
18070         sys_socket: Ensure 'struct iovec' definition.
18071         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18072         <sys/socket.h>.
18073         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18074
18075 2011-04-30  Bruno Haible  <bruno@clisp.org>
18076
18077         sys_uio: Protect definition of 'struct iovec'.
18078         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18079         it as a C struct.
18080
18081 2011-04-30  Bruno Haible  <bruno@clisp.org>
18082
18083         manywarnings: fix indentation
18084         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18085
18086 2011-04-30  Pádraig Brady <P@draigBrady.com>
18087
18088         manywarnings: add -Wno-missing-field-initializers if needed.
18089         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18090         option if it's needed to allow initialization with { 0, }
18091
18092 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18093
18094         announce-gen: cosmetic improvement
18095         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18096
18097 2011-04-29  Jim Meyering  <meyering@redhat.com>
18098
18099         vc-list-files: indent with spaces, not TABs
18100         * build-aux/vc-list-files: Convert leading TABs to spaces,
18101         to match the style of most other files in gnulib.
18102
18103         announce-gen: indent with spaces, not TABs
18104         * build-aux/announce-gen: Convert all TABs to spaces, to match
18105         the style of most other files in gnulib.
18106
18107 2011-04-29  Eric Blake  <eblake@redhat.com>
18108
18109         quotearg: avoid uninitialized variable use
18110         * lib/quotearg.c (quoting_options_from_style): Initialize
18111         remaining fields, and ensure that custom styles are only used via
18112         quoting_options rather than quoting_style.
18113
18114 2011-04-29  Jim Meyering  <meyering@redhat.com>
18115
18116         maint.mk: remove unused VC-tag variable
18117         * top/maint.mk (VC-tag): Remove unused variable.
18118
18119 2011-04-29  Bruno Haible  <bruno@clisp.org>
18120
18121         netdb: fix gai_strerror replacements
18122         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18123         * modules/netdb: Substitute it.
18124
18125 2011-04-29  Jim Meyering  <meyering@redhat.com>
18126
18127         test-getcwd.c: avoid new set-but-not-used warning
18128         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18129         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18130         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18131         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18132
18133         test-hash.c: avoid a new shadowing warning
18134         * tests/test-hash.c (main): Don't shadow "dup".
18135
18136 2011-04-28  Eric Blake  <eblake@redhat.com>
18137
18138         getaddrinfo: fix gai_strerror signature
18139         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18140         and work around mingw with UNICODE defined.
18141         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18142         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18143         * modules/netdb (Makefile.am): Substitute it.
18144         * lib/netdb.in.h (gai_strerror): Declare replacement.
18145         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18146         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18147         the fix.
18148
18149         getsockopt: avoid compiler warning
18150         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18151         Reported by Matthias Bolte.
18152
18153         tests: drop unused link dependency
18154         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18155         * modules/dirent-safer-tests (Makefile.am): Likewise.
18156         * modules/fdopendir-tests (Makefile.am): Likewise.
18157         * modules/mkfifoat-tests (Makefile.am): Likewise.
18158         * modules/openat-safer-tests (Makefile.am): Likewise.
18159         * modules/openat-tests (Makefile.am): Likewise.
18160         * modules/readlinkat-tests (Makefile.am): Likewise.
18161         * modules/symlinkat-tests (Makefile.am): Likewise.
18162         * modules/linkat-tests (Makefile.am): Likewise.
18163         (Depends-on): Switch to filenamecat-lgpl.
18164         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18165         LIBINTL.
18166         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18167         * tests/test-linkat.c (main): Don't require xalloc.
18168
18169         hash, mgetgroups: drop xalloc dependency
18170         * lib/hash.c (includes): Adjust includes.
18171         * lib/mgetgroups.c (includes): Likewise.
18172         (xgetgroups): Move...
18173         * lib/xgetgroups.c: ...to new file.
18174         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
18175         * modules/xgetgroups: New file, split from...
18176         * modules/mgetgroups: ...here.
18177         (Depends-on): Add xalloc-oversized.
18178         * modules/hash (Depends-on): Likewise.
18179         * modules/hash-tests (Depends-on): Drop xalloc.
18180         (test_hash_LDADD): Drop unused library.
18181         * tests/test-hash.c (main): Break xalloc dependency.
18182         (includes): Drop unused include.
18183
18184         xalloc-oversized: new module
18185         * modules/xalloc-oversized: New module.
18186         * modules/xalloc (Depends-on): Add it.
18187         * lib/xalloc.h (xalloc_oversized): Move...
18188         * lib/xalloc-oversized.h: ...into new file.
18189
18190         utimecmp: drop dependency on xmalloc
18191         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
18192         due to memory pressure.
18193         * modules/utimecmp (Depends-on): Drop xalloc.
18194
18195 2011-04-27  Eric Blake  <eblake@redhat.com>
18196
18197         getcwd: fix mingw bugs
18198         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
18199         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
18200         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
18201
18202 2011-04-27  Bruno Haible  <bruno@clisp.org>
18203
18204         mkstemps: Ensure declaration on MacOS X 10.5.
18205         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
18206         * doc/glibc-functions/mkstemps.texi: Document header file problem on
18207         MacOS X.
18208
18209 2011-04-27  Bruno Haible  <bruno@clisp.org>
18210
18211         mkstemp: More documentation.
18212         * doc/posix-functions/mkstemp.texi: Document header file problem on
18213         MacOS X.
18214
18215 2011-04-27  Bruno Haible  <bruno@clisp.org>
18216
18217         mkstemp: Tweak configure message when cross-compiling.
18218         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
18219         result as a guess.
18220
18221 2011-04-27  Bruno Haible  <bruno@clisp.org>
18222
18223         clean-temp: Clarify what it does.
18224         * lib/clean-temp.h: Add more comments.
18225         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
18226         module.
18227         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
18228         * doc/glibc-functions/mkstemps.texi: Likewise.
18229         * doc/glibc-functions/mkostemps.texi: Likewise.
18230
18231 2011-04-27  Eric Blake  <eblake@redhat.com>
18232
18233         fchdir: avoid extra chdir and fix test
18234         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
18235         getcwd-lgpl.
18236         * lib/fchdir.c (get_name): Any absolute name will do; it does not
18237         have to be canonical.
18238         (canonicalize_file_name): Drop unused macro.
18239         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
18240
18241         filenamecat-lgpl: fix licence
18242         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
18243         when it was first created.
18244
18245         linkat, renameat: add missing dependency
18246         * modules/linkat (Depends-on): Require getcwd-lgpl.
18247         * modules/renameat (Depends-on): Likewise.
18248
18249         tests: reduce dependencies
18250         * tests/test-linkat.c (main): Use lighter-weight getcwd.
18251         * tests/test-renameat.c (main): Likewise.
18252         * modules/linkat-tests (Depends-on): Relax dependency.
18253         * modules/renameat-tests (Depends-on): Likewise.
18254         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
18255         dependency explicit.
18256
18257         save-cwd: reduce default dependency
18258         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
18259         * lib/save-cwd.c: Update comments.
18260         * NEWS: Document the semantic change.
18261
18262         getcwd: enhance tests
18263         * tests/test-getcwd-lgpl.c: New file, taken from...
18264         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
18265         repeat long path stress tests from m4 probe.
18266         * modules/getcwd-lgpl-tests: New module.
18267         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
18268         * m4/getcwd-abort-bug.m4: Update comment.
18269         * m4/getcwd-path-max.m4: Likewise.
18270
18271         getcwd-lgpl: new module
18272         * modules/getcwd-lgpl: New module.
18273         * lib/getcwd-lgpl.c: New file.
18274         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18275         * MODULES.html.sh (lacking POSIX:2008): Likewise.
18276         * modules/getcwd (configure.ac): Set C witness.
18277         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
18278
18279         getcwd: tweak comments
18280         * m4/getcwd-abort-bug.m4: Fix comments.
18281         * m4/getcwd-path-max.m4: Likewise.
18282         * m4/getcwd.m4: Likewise.
18283
18284 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18285         and Eric Blake  <eblake@redhat.com>
18286
18287         mkstemp: replace if system version uses wrong permissions
18288         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
18289         read/write mode bits set in file created by mkstemp.
18290         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
18291
18292 2011-04-27  Eric Blake  <eblake@redhat.com>
18293
18294         passfd: avoid compiler warning
18295         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
18296         Reported by Laine Stump.
18297
18298 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
18299
18300         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
18301         required by the NetBSD (and perhaps other 4.4BSD derived) join.
18302
18303 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
18304         and Eric Blake  <eblake@redhat.com>
18305
18306         mkstemp: mention clean-temp module
18307         * lib/mkstemp.c: Add comment.
18308         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
18309
18310 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
18311
18312         inttypes: also provide default values for 32-bit tests
18313         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
18314         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
18315
18316 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
18317
18318         strtoumax: remove dependency on strtoimax
18319         This is like the strtoull change of yesterday.
18320         * modules/strtoumax (Files): Add lib/strtoimax.c.
18321         (Depends-on): Remove strtoimax and add verify.
18322
18323         inttypes-incomplete: new module
18324         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
18325         all but the PRI* and SCN* parts of gl_INTTYPES_H.
18326         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
18327         of gl_INTTYPES_H.
18328         (gl_INTTYPES_H): Rewrite in terms of these new macros.
18329         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
18330         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
18331         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
18332         * modules/strtoumax, modules/xstrtol (Depends-on):
18333         Depend on inttypes-incomplete, not inttypes.
18334         * modules/inttypes-incomplete: New module, containing the contents
18335         of the old modules/inttypes module, except that the Files: section
18336         omits m4/inttypes-pri.m4, and the configure.ac section invokes
18337         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
18338         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
18339         (Depends-on): Depend only on inttypes-incomplete.
18340         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
18341
18342         inttypes: omit now-redundant strtoimax and strtoumax work
18343         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
18344         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
18345
18346         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
18347         This supports apps that need pointers to strtoimax and strtoumax,
18348         and ports to HP-UX 11.00 64.bit, which has macros that expand to
18349         nonexistent functions.  See
18350         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
18351         et seq.
18352         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
18353         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
18354         a macro.
18355         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
18356
18357 2011-04-25  Simon Josefsson  <simon@josefsson.org>
18358
18359         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
18360
18361 2011-04-25  Bruno Haible  <bruno@clisp.org>
18362
18363         strtol, strtoul: Mark modules as obsolete.
18364         * modules/strtol (Status, Notice): New sections.
18365         * modules/strtoul (Status, Notice): New sections.
18366
18367 2011-04-25  Bruno Haible  <bruno@clisp.org>
18368
18369         strtod: Remove check for strtod, unless supporting old platforms.
18370         * modules/strtod-obsolete: New file.
18371         * m4/strtod-obsolete.m4: New file.
18372         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
18373         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
18374         * modules/strtod (Depends-on): Add strtod-obsolete.
18375         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
18376
18377 2011-04-25  Bruno Haible  <bruno@clisp.org>
18378
18379         strcase: Make module obsolete.
18380         * modules/strcase (Status, Notice): New sections.
18381
18382 2011-04-25  Bruno Haible  <bruno@clisp.org>
18383
18384         dup2: Remove check for dup2, unless supporting old obsolete platforms.
18385         * modules/dup2-obsolete: New file.
18386         * m4/dup2-obsolete.m4: New file.
18387         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
18388         gl_FUNC_DUP2_OBSOLETE is not also defined.
18389         * modules/dup2 (Depends-on): Add dup2-obsolete.
18390         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
18391
18392 2011-04-25  Bruno Haible  <bruno@clisp.org>
18393
18394         strnlen: Avoid memchr related link error on old obsolete platforms.
18395         * modules/memchr-obsolete: New file.
18396         * m4/memchr-obsolete.m4: New file.
18397         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
18398         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
18399         * modules/memchr (Depends-on): Add memchr-obsolete.
18400         * modules/strnlen (Depends-on): Likewise.
18401         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
18402
18403 2011-04-25  Jim Meyering  <meyering@redhat.com>
18404
18405         maint.mk: makefile_at_at_check extend and clean up
18406         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
18407         in addition to */Makefile.am.
18408         Exempt legitimate uses of @VAR@ notation, e.g.,
18409         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
18410         Remove obsolete coreutils-specific comment.
18411         Prompted by discussion here:
18412         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
18413
18414 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
18415
18416         strtoul: remove dependency on strtol
18417         This is so that 'configure' need not check for strtol merely because
18418         the application needs strtoul.
18419         * modules/strtoul (Files): Add lib/strtol.c.
18420         (Depends-on): Remove strtol.
18421
18422         strtoull: remove dependency on strtoul
18423         This is like the strtoll change.
18424         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
18425         (Depends-on): Remove strtoul.
18426
18427         strtoll: remove dependency on strtol
18428         This is so that 'configure' need not check for strtol merely because
18429         the application needs strtoll.
18430         * modules/strtoll (Files): Add lib/strtol.c.
18431         (Depends-on): Remove strtol.
18432
18433 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18434
18435         inttypes: Move some configure check to module 'imaxdiv'.
18436         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
18437         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
18438         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
18439
18440 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18441
18442         inttypes: Move some configure check to module 'imaxabs'.
18443         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
18444         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
18445         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
18446
18447 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18448
18449         inttypes: Remove configure tests that are not needed since 2009-12-31.
18450         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
18451         gl_cv_header_working_inttypes_h.
18452
18453 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
18454
18455         * modules/strnlen (Depends-on): Remove memchr.
18456         The strnlen implementation doesn't need the memchr module's fixes; see
18457         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
18458
18459         strtol: remove dependency on wchar
18460         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
18461         * modules/strtol (Depends-on): Remove wchar.
18462
18463 2011-04-21  Eric Blake  <eblake@redhat.com>
18464
18465         passfd: fix test regression on Linux
18466         * modules/passfd-tests (configure.ac): Correct socketpair check.
18467
18468         passfd: speed up configure and drop unused code
18469         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
18470         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
18471         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
18472         Instead of probing at configure for unix_scm_rights_bsd44_way,
18473         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
18474         check to a struct member probe.
18475         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
18476         (sendfd, recvfd): Update preprocessor checks.
18477         * modules/passfd (Files): Reflect rename, and drop unused file.
18478         (Depends-on): Drop unused dependency.
18479
18480         passfd: allow compilation on mingw
18481         * modules/sys_socket (Depends-on): Add sys_uio.
18482         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
18483         iovec and a minimal struct msghdr.
18484         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
18485         * tests/test-sys_socket.c (main): Enhance test.
18486         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
18487         guaranteed to provide what we need.
18488         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
18489         * modules/passfd-tests (Depends-on): Add sys_wait.
18490         * tests/test-passfd.c (main): Skip test on mingw, for now.
18491         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
18492         partial 'struct msghdr' implementation.
18493
18494         sys_uio: new module
18495         * modules/sys_uio: New module.
18496         * modules/sys_uio-tests: Likewise.
18497         * lib/sys_uio.in.h: New file.
18498         * m4/sys_uio_h.m4: Likewise.
18499         * tests/test-sys_uio.c: Likewise.
18500         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
18501         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
18502
18503 2011-04-20  Jim Meyering  <meyering@redhat.com>
18504
18505         useless-if-before-free: avoid false-positive
18506         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
18507         disjunct so that it too requires a terminating ";".  Without that,
18508         this script would identify as useless one statement from gcc that
18509         was not:
18510           if (aligned_ptr)
18511             free (((void **) aligned_ptr) [-1]);
18512
18513 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
18514
18515         doc: update users.txt.
18516         * users.txt: Add barcode.
18517
18518 2011-04-19  Bruno Haible  <bruno@clisp.org>
18519
18520         ioctl: Remove link dependency on native Windows.
18521         * lib/fd-hook.h: Renamed from lib/close-hook.h.
18522         (gl_close_fn, gl_ioctl_fn): New types.
18523         (struct fd_hook): Renamed from struct close_hook. Change type of
18524         private_close_fn field. Add private_ioctl_fn field.
18525         (close_hook_fn): Add parameter for primary close method.
18526         (execute_close_hooks, execute_all_close_hooks): Likewise.
18527         (ioctl_hook_fn): New type.
18528         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
18529         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18530         argument.
18531         (unregister_fd_hook): Renamed from unregister_close_hook.
18532         * lib/fd-hook.c: Renamed from lib/close-hook.c.
18533         Don't include <unistd.h>.
18534         (close): Remove undef.
18535         (anchor): Update.
18536         (execute_close_hooks): Add argument for primary close method.
18537         (execute_all_close_hooks): Likewise.
18538         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
18539         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
18540         argument. Allow each argument to be NULL.
18541         (unregister_fd_hook): Renamed from unregister_close_hook.
18542         * lib/close.c (rpl_close): Pass 'close' function pointer to
18543         execute_all_close_hooks.
18544         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
18545         (primary_ioctl): New function.
18546         (ioctl): Don't call ioctlsocket here. Instead, call
18547         execute_all_ioctl_hooks.
18548         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
18549         close method.
18550         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
18551         (fd_sockets_hook): Renamed from close_sockets_hook.
18552         (gl_sockets_startup, gl_sockets_cleanup): Update.
18553         * modules/fd-hook: Renamed from modules/close-hook. Update.
18554         * modules/close (Depends-on): Add fd-hook, remove close-hook.
18555         * modules/sockets (Depends-on): Likewise.
18556         * modules/ioctl (Depends-on): Add fd-hook.
18557         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
18558         GNULIB_SOCKET.
18559
18560 2011-04-19  Bruno Haible  <bruno@clisp.org>
18561
18562         Move the support of O_NONBLOCK in open() to the 'open' module.
18563         * modules/nonblocking (Depends-on): Remove 'open'.
18564         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
18565         gl_cv_have_open_O_NONBLOCK.
18566         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
18567         O_NONBLOCK support.
18568         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
18569
18570 2011-04-17  Bruno Haible  <bruno@clisp.org>
18571
18572         pipe2: Simplify code.
18573         * lib/pipe2.c (pipe2): Reduce code duplication.
18574
18575 2011-04-17  Bruno Haible  <bruno@clisp.org>
18576
18577         nonblocking: Add comment.
18578         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
18579
18580 2011-04-17  Bruno Haible  <bruno@clisp.org>
18581
18582         nonblocking: Add tests for sockets.
18583         * tests/test-nonblocking-socket.sh: New file.
18584         * tests/test-nonblocking-socket-main.c: New file.
18585         * tests/test-nonblocking-socket-child.c: New file.
18586         * tests/test-nonblocking-socket.h: New file.
18587         * tests/socket-server.h: New file.
18588         * tests/socket-client.h: New file.
18589         * modules/nonblocking-socket-tests: New file.
18590         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
18591
18592 2011-04-17  Bruno Haible  <bruno@clisp.org>
18593
18594         nonblocking: Add tests for pipes.
18595         * tests/test-nonblocking-pipe.sh: New file.
18596         * tests/test-nonblocking-pipe-main.c: New file.
18597         * tests/test-nonblocking-pipe-child.c: New file.
18598         * tests/test-nonblocking-pipe.h: New file.
18599         * tests/test-nonblocking-writer.h: New file.
18600         * tests/test-nonblocking-reader.h: New file.
18601         * tests/test-nonblocking-misc.h: New file.
18602         * modules/nonblocking-pipe-tests: New file.
18603         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
18604
18605 2011-04-16  Bruno Haible  <bruno@clisp.org>
18606
18607         gettext: Clarify the needed programmer actions.
18608         * modules/gettext (Notice): New field.
18609         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
18610
18611 2011-04-16  Bruno Haible  <bruno@clisp.org>
18612
18613         strchrnul: Tweak last commit.
18614         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
18615         bug.
18616         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
18617         as in _GL_FUNCDECL_SYS.
18618         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
18619         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
18620
18621 2011-04-15  Eric Blake  <eblake@redhat.com>
18622
18623         strchrnul: work around cygwin bug
18624         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
18625         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
18626         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
18627         * modules/string (Makefile.am): Substitute it.
18628         * lib/string.in.h (strchrnul): Use it.
18629
18630 2011-04-15  Bruno Haible  <bruno@clisp.org>
18631
18632         Don't require lib/stdio-write.c when only module 'stdio' is used.
18633         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
18634         invocation.
18635         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
18636
18637 2011-04-14  Bruno Haible  <bruno@clisp.org>
18638
18639         Support non-blocking pipe I/O in read() on native Windows.
18640         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
18641         (read): New declaration.
18642         * lib/read.c: New file.
18643         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
18644         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
18645         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
18646         vscanf): New declarations.
18647         * lib/stdio-read.c: New file.
18648         * m4/read.m4: New file.
18649         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
18650         REPLACE_READ.
18651         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
18652         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18653         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
18654         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
18655         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
18656         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18657         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18658         * modules/read: New file.
18659         * modules/nonblocking (Files): Add lib/stdio-read.c.
18660         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
18661         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
18662         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
18663         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
18664         * modules/pread (Depends-on): Add read.
18665         * modules/safe-read (Depends-on): Likewise.
18666         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
18667         gets, scanf, vfscanf, vscanf): Verify signatures.
18668         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
18669         problem with non-blocking pipes.
18670         * doc/posix-functions/fgetc.texi: Likewise.
18671         * doc/posix-functions/fgets.texi: Likewise.
18672         * doc/posix-functions/fread.texi: Likewise.
18673         * doc/posix-functions/fscanf.texi: Likewise.
18674         * doc/posix-functions/getc.texi: Likewise.
18675         * doc/posix-functions/getchar.texi: Likewise.
18676         * doc/posix-functions/gets.texi: Likewise.
18677         * doc/posix-functions/scanf.texi: Likewise.
18678         * doc/posix-functions/vfscanf.texi: Likewise.
18679         * doc/posix-functions/vscanf.texi: Likewise.
18680
18681 2011-04-14  Bruno Haible  <bruno@clisp.org>
18682
18683         Support non-blocking pipe I/O in write() on native Windows.
18684         * lib/write.c (rpl_write): Split a write request that failed merely
18685         because the byte count was larger than the pipe buffer's size.
18686         * doc/posix-functions/write.texi: Mention the problem with large byte
18687         counts.
18688
18689 2011-04-14  Bruno Haible  <bruno@clisp.org>
18690
18691         wchar: Ensure that wchar_t gets defined on uClibc.
18692         * lib/wchar.in.h: On uClibc, include <stddef.h>.
18693         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
18694
18695 2011-04-13  Bruno Haible  <bruno@clisp.org>
18696
18697         safe-write, full-read: Avoid unnecessary compilation units.
18698         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
18699         (Depends-on): Remove safe-read. Add ssize_t.
18700         * modules/full-read (Files): Add lib/full-write.c.
18701         (Depends-on): Add full-write.
18702
18703 2011-04-13  Bruno Haible  <bruno@clisp.org>
18704
18705         Support non-blocking pipe I/O and SIGPIPE in pwrite().
18706         * modules/pwrite (Depends-on): Add 'write'.
18707
18708 2011-04-13  Bruno Haible  <bruno@clisp.org>
18709
18710         Support non-blocking pipe I/O in write() on native Windows.
18711         * lib/unistd.in.h (write): Enable replacement also if
18712         GNULIB_UNISTD_H_NONBLOCKING is 1.
18713         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
18714         (rpl_write): When failing to write on a non-blocking pipe, change
18715         errno from ENOSPC to EAGAIN.
18716         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
18717         putchar, puts, vfprintf, vprintf): Enable replacement also if
18718         GNULIB_STDIO_H_NONBLOCKING is 1.
18719         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
18720         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
18721         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
18722         CALL_WITH_SIGPIPE_EMULATION.
18723         (CALL_WITH_SIGPIPE_EMULATION): Use them.
18724         * m4/nonblocking.m4: New file.
18725         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
18726         for non-blocking I/O support.
18727         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18728         GNULIB_UNISTD_H_NONBLOCKING.
18729         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
18730         required for non-blocking I/O support.
18731         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
18732         * modules/nonblocking (Files): Add m4/nonblocking.m4,
18733         lib/stdio-write.c, m4/asm-underscore.m4.
18734         (Depends-on): Add stdio, unistd.
18735         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
18736         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
18737         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
18738         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
18739         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
18740         problem with non-blocking pipes.
18741         * doc/posix-functions/fputc.texi: Likewise.
18742         * doc/posix-functions/fputs.texi: Likewise.
18743         * doc/posix-functions/fwrite.texi: Likewise.
18744         * doc/posix-functions/printf.texi: Likewise.
18745         * doc/posix-functions/putc.texi: Likewise.
18746         * doc/posix-functions/putchar.texi: Likewise.
18747         * doc/posix-functions/puts.texi: Likewise.
18748         * doc/posix-functions/vfprintf.texi: Likewise.
18749         * doc/posix-functions/vprintf.texi: Likewise.
18750         * doc/posix-functions/write.texi: Likewise.
18751
18752 2011-04-10  Jim Meyering  <meyering@redhat.com>
18753
18754         maint.mk: prohibit doubled words
18755         Detect them also when they're separated by a newline.
18756         There are 3 ways to customize it:
18757           - disable the test on a per file basis, as usual with rules using
18758             $(VC_LIST_EXCEPT)
18759           - replace the default doubled-word-selecting regexp (affects all files)
18760           - ignore a particular file-vs-doubled-word match
18761         I nearly used that last one to ignore the "is is" match in
18762         coreutils' NEWS file, since the text was "ls -is is ..."
18763         To do that, I would have added this line to cfg.mk:
18764           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
18765         but it would have ignored any "is is" match in NEWS.
18766         Low probability, but still...
18767         Instead, I changed the text, slightly:
18768           -  ls -is is now consistent with ls -lis in ignoring values returned
18769           +  "ls -is" is now consistent with ls -lis in ignoring values returned
18770         * top/maint.mk (prohibit_double_word_RE_): Provide default.
18771         (prohibit_doubled_word_): Define.
18772         (sc_prohibit_doubled_word): New rule.
18773         (sc_prohibit_the_the): Remove.  Subsumed by the above.
18774
18775 2011-04-10  Jim Meyering  <meyering@redhat.com>
18776
18777         maint: fix doubled-word typo in comment
18778         * m4/gethostname.m4: s/is is/it is/
18779         * m4/getdomainname.m4: Likewise.
18780
18781 2011-04-10  Jim Meyering  <meyering@redhat.com>
18782
18783         maint: remove doubled word: s/it it/it/
18784         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
18785
18786 2011-04-10  Jim Meyering  <meyering@redhat.com>
18787
18788         maint.mk: remove useless semicolon and backslash
18789         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
18790         semicolon and backslash.
18791
18792 2011-04-10  Bruno Haible  <bruno@clisp.org>
18793
18794         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
18795         * modules/stdint-tests (Depends-on): Add wchar.
18796
18797 2011-04-10  Jim Meyering  <meyering@redhat.com>
18798
18799         maint: remove doubled words in comments, e.g., s/a a/a/
18800         * lib/strptime.c (day_of_the_week): s/the the/the/
18801         * tests/test-chown.h (test_chown): s/a a/a/
18802
18803         test-chown.h: correct a cast
18804         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
18805         when the destination is a stat.st_gid.
18806
18807 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
18808
18809         getaddrinfo: Fix test for sa_len member.
18810         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
18811         include <sys/types.h> before <sys/socket.h>.
18812
18813 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
18814
18815         maint: change "can not" to "cannot"
18816         * doc/posix-functions/iconv.texi (iconv): This one crossed line
18817         boundaries.
18818
18819 2011-04-09  Jim Meyering  <meyering@redhat.com>
18820
18821         maint: change "a a" to "a"
18822         * tests/test-lchown.h (test_lchown): s/a a/a/
18823
18824         maint.mk: prohibit \<the the\>
18825         * top/maint.mk (sc_prohibit_the_the): New rule.
18826
18827         maint: fix "the the" in comment
18828         * lib/count-one-bits.h: s/the the/the/
18829
18830         maint: change "can not" to "cannot"
18831         But do not change the occurrences in maintain.texi or in
18832         build-aux/po/Makefile.in.in, which I presume comes from gettext.
18833         * doc/gnulib-tool.texi: s/can not/cannot/
18834         * doc/posix-functions/accept.texi (accept): Likewise.
18835         * doc/posix-functions/socket.texi (socket): Likewise.
18836         * lib/mbrtowc.c: Likewise.
18837
18838         maint.mk: prohibit use of "can not"
18839         * top/maint.mk (sc_prohibit_can_not): New rule.
18840         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
18841
18842 2011-04-09  Bruno Haible  <bruno@clisp.org>
18843
18844         careadlinkat: Guard against misuse of careadlinkatcwd.
18845         * lib/careadlinkat.c: Include <stdlib.h>.
18846         (careadlinkatcwd): Check that the fd argument is as expected.
18847
18848 2011-04-09  Bruno Haible  <bruno@clisp.org>
18849
18850         careadlinkat: Use common coding style.
18851         * lib/careadlinkat.c: Move gnulib includes after system includes.
18852
18853 2011-04-09  Bruno Haible  <bruno@clisp.org>
18854
18855         careadlinkat: Clarify specification.
18856         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
18857         (careadlinkatcwd): Add comment.
18858         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
18859
18860 2011-04-09  Bruno Haible  <bruno@clisp.org>
18861
18862         areadlinkat: Avoid link error on many platforms.
18863         * modules/areadlinkat (Depends-on): Add areadlink.
18864
18865 2011-04-09  Bruno Haible  <bruno@clisp.org>
18866
18867         allocator, careadlinkat: Fix double-inclusion guard.
18868         * lib/allocator.h: Fix double-inclusion guard.
18869         * lib/careadlinkat.h: Likewise.
18870
18871 2011-04-09  Bruno Haible  <bruno@clisp.org>
18872
18873         relocatable-prog-wrapper: Update after module 'areadlink' changed.
18874         * lib/relocwrapper.c: Update dependencies hierarchy.
18875         * build-aux/install-reloc: Update list of files to be compiled.
18876         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
18877         lib/allocator.[hc].
18878
18879 2011-04-08  Eric Blake  <eblake@redhat.com>
18880
18881         strftime: silence gnulib-tool warning
18882         * modules/strftime-tests (Depends-on): Drop automatic dependency.
18883
18884 2011-04-08  Bruno Haible  <bruno@clisp.org>
18885
18886         verify: Fix syntax error with GCC 4.6 in C++ mode.
18887         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
18888         (HAVE_STATIC_ASSERT): New macro.
18889         (verify_true, verify): Use 'static_assert' if it is supported and
18890         '_Static_assert' is not supported.
18891
18892 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
18893
18894         allocator: New module.
18895         * modules/allocator, lib/allocator.c: New files.
18896         * lib/allocator.h (stdlib_allocator): New decl.
18897         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
18898         Remove.  Do not include <stdlib.h>.
18899         (careadlinkat): Use stdlib_allocator instead of rolling our own.
18900         * modules/careadlinkat (Files): Remove lib/allocator.h.
18901         (Depends-on): Add allocator.
18902
18903         stdlib: let modules use system malloc, realloc
18904         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
18905         if !_GL_USE_STDLIB_ALLOC.
18906         (malloc, realloc): Limit this change to a smaller scope.
18907
18908         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
18909         (malloc, realloc): Don't #undef; no longer needed.
18910         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18911         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18912         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18913         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18914         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18915         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18916         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
18917         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
18918
18919         careadlinkat: rename members to avoid problem
18920         * lib/allocator.h (struct allocator): Rename members from
18921         malloc/realloc to allocate/reallocate, to avoid problems if malloc
18922         and realloc are #define'd.  Reported by Eric Blake in
18923         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
18924         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
18925
18926 2011-04-08  Eric Blake  <eblake@redhat.com>
18927
18928         nonblocking: reduce dependency
18929         * tests/test-nonblocking.c: Only test sockets when in use.
18930         * modules/nonblocking-tests (Depends-on): Drop socket.
18931         (Makefile.am): Link even if sockets are not present.
18932         * modules/pipe2-tests (Makefile.am): Likewise.
18933         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
18934
18935         pipe2: fix O_NONBLOCK support on mingw
18936         * modules/pipe2 (Depends-on): Add nonblocking.
18937         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
18938         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
18939         * tests/test-nonblocking.c (main): Likewise.
18940         * modules/pipe2-tests (Makefile.am): Avoid link failure.
18941
18942         fcntl-h: fix O_ACCMODE on cygwin
18943         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
18944         * lib/fcntl.in.h (O_ACCMODE): Fix it.
18945
18946         pipe-filter: drop O_NONBLOCK workarounds
18947         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
18948         * modules/pipe-filter-ii (Depends-on): Likewise.
18949         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
18950
18951         nonblocking: provide O_NONBLOCK for mingw
18952         * modules/nonblocking (Depends-on): Add open.
18953         (configure.ac): Set new witness macro.
18954         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
18955         * modules/fcntl-h (Makefile.am): Substitute it.
18956         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
18957         nonblocking module is in use.
18958         * lib/nonblocking.c: Adjust portability test.
18959         * lib/open.c (open): Don't let native open see gnulib flag.
18960         * tests/test-fcntl-h.c (main): Enhance test.
18961         * tests/test-open.h (test_open): Likewise.
18962         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
18963
18964         careadlinkat: fix compilation error on mingw
18965         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
18966         within struct allocator.
18967
18968 2011-04-06  Eric Blake  <eblake@redhat.com>
18969
18970         binary-io: relicense under LGPLv2+
18971         * modules/binary-io (License): Relax to LGPLv2+.
18972         Requested for libvirt, and required by pipe2.
18973
18974 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
18975
18976         verify: use _Static_assert if available
18977         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
18978         (verify_true, verify): Use it if available.  This generates better
18979         diagnostics with GCC 4.6.0 and later.
18980
18981 2011-04-05  Bruno Haible  <bruno@clisp.org>
18982
18983         Remove leftover generated .h files after config.status changed.
18984
18985         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
18986         GL_GENERATE_ALLOCA_H.
18987         * modules/alloca-opt (Makefile.am): Remove alloca.h if
18988         GL_GENERATE_ALLOCA_H evaluates to false.
18989
18990         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
18991         GL_GENERATE_ARGZ_H.
18992         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
18993         evaluates to false.
18994
18995         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
18996         GL_GENERATE_BYTESWAP_H.
18997         * modules/byteswap (Makefile.am): Remove byteswap.h if
18998         GL_GENERATE_BYTESWAP_H evaluates to false.
18999
19000         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19001         GL_GENERATE_ERRNO_H.
19002         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19003         evaluates to false.
19004
19005         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19006         GL_GENERATE_FLOAT_H.
19007         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19008         evaluates to false.
19009
19010         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19011         GL_GENERATE_FNMATCH_H.
19012         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19013         GL_GENERATE_FNMATCH_H evaluates to false.
19014
19015         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19016         GL_GENERATE_GLOB_H.
19017         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19018         evaluates to false.
19019
19020         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19021         automake conditional GL_GENERATE_ICONV_H.
19022         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19023         evaluates to false.
19024
19025         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19026         GL_GENERATE_NETINET_IN_H.
19027         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19028         GL_GENERATE_NETINET_IN_H evaluates to false.
19029
19030         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19031         conditional GL_GENERATE_PTHREAD_H.
19032         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19033         * modules/pthread (Makefile.am): Remove pthread.h if
19034         GL_GENERATE_PTHREAD_H evaluates to false.
19035
19036         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19037         GL_GENERATE_SCHED_H.
19038         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19039         evaluates to false.
19040
19041         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19042         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19043         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19044         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19045
19046         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19047         GL_GENERATE_STDARG_H.
19048         * modules/stdarg (Makefile.am): Remove stdarg.h if
19049         GL_GENERATE_STDARG_H evaluates to false.
19050
19051         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19052         GL_GENERATE_STDBOOL_H.
19053         * modules/stdbool (Makefile.am): Remove stdbool.h if
19054         GL_GENERATE_STDBOOL_H evaluates to false.
19055
19056         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19057         conditional GL_GENERATE_STDDEF_H.
19058         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19059         * modules/stddef (Makefile.am): Remove stddef.h if
19060         GL_GENERATE_STDDEF_H evaluates to false.
19061
19062         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19063         GL_GENERATE_STDINT_H.
19064         * modules/stdint (Makefile.am): Remove stdint.h if
19065         GL_GENERATE_STDINT_H evaluates to false.
19066
19067         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19068         GL_GENERATE_SYSEXITS_H.
19069         * modules/sysexits (Makefile.am): Remove sysexits.h if
19070         GL_GENERATE_SYSEXITS_H evaluates to false.
19071
19072         Reported by Karl Berry and Ralf Wildenhues.
19073
19074 2011-04-05  Bruno Haible  <bruno@clisp.org>
19075
19076         Ensure to rebuild generated .h files when config.status has changed.
19077         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19078         config.status.
19079         * modules/ctype (Makefile.am): Likewise.
19080         * modules/dirent (Makefile.am): Likewise.
19081         * modules/errno (Makefile.am): Likewise.
19082         * modules/fcntl-h (Makefile.am): Likewise.
19083         * modules/float (Makefile.am): Likewise.
19084         * modules/getopt-posix (Makefile.am): Likewise.
19085         * modules/glob (Makefile.am): Likewise.
19086         * modules/iconv-h (Makefile.am): Likewise.
19087         * modules/inttypes (Makefile.am): Likewise.
19088         * modules/langinfo (Makefile.am): Likewise.
19089         * modules/locale (Makefile.am): Likewise.
19090         * modules/math (Makefile.am): Likewise.
19091         * modules/netdb (Makefile.am): Likewise.
19092         * modules/netinet_in (Makefile.am): Likewise.
19093         * modules/poll-h (Makefile.am): Likewise.
19094         * modules/pthread (Makefile.am): Likewise.
19095         * modules/pty (Makefile.am): Likewise.
19096         * modules/sched (Makefile.am): Likewise.
19097         * modules/search (Makefile.am): Likewise.
19098         * modules/selinux-h (Makefile.am): Likewise.
19099         * modules/signal (Makefile.am): Likewise.
19100         * modules/spawn (Makefile.am): Likewise.
19101         * modules/stdarg (Makefile.am): Likewise.
19102         * modules/stdbool (Makefile.am): Likewise.
19103         * modules/stddef (Makefile.am): Likewise.
19104         * modules/stdint (Makefile.am): Likewise.
19105         * modules/stdio (Makefile.am): Likewise.
19106         * modules/stdlib (Makefile.am): Likewise.
19107         * modules/string (Makefile.am): Likewise.
19108         * modules/strings (Makefile.am): Likewise.
19109         * modules/sys_file (Makefile.am): Likewise.
19110         * modules/sys_ioctl (Makefile.am): Likewise.
19111         * modules/sys_select (Makefile.am): Likewise.
19112         * modules/sys_socket (Makefile.am): Likewise.
19113         * modules/sys_stat (Makefile.am): Likewise.
19114         * modules/sys_time (Makefile.am): Likewise.
19115         * modules/sys_times (Makefile.am): Likewise.
19116         * modules/sys_utsname (Makefile.am): Likewise.
19117         * modules/sys_wait (Makefile.am): Likewise.
19118         * modules/sysexits (Makefile.am): Likewise.
19119         * modules/termios (Makefile.am): Likewise.
19120         * modules/time (Makefile.am): Likewise.
19121         * modules/unistd (Makefile.am): Likewise.
19122         * modules/wchar (Makefile.am): Likewise.
19123         * modules/wctype-h (Makefile.am): Likewise.
19124         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19125
19126 2011-04-05  Bruno Haible  <bruno@clisp.org>
19127
19128         pipe2: Relicense under LGPLv2+.
19129         * modules/pipe2 (License): Change to LGPLv2+.
19130         Requested by Eric Blake, for libvirt.
19131
19132 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19133
19134         bootstrap: compute gnulib_extra_files after updating build_aux
19135         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19136         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19137
19138 2011-04-05  Eric Blake  <eblake@redhat.com>
19139
19140         bootstrap: preserve git whitelist item sorting
19141         * build-aux/bootstrap (sort_patterns): New function.
19142         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19143
19144 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19145
19146         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19147         sc_space_tab check.
19148
19149 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19150
19151         areadlink, areadlinkat: rewrite in terms of careadlinkat
19152         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19153         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19154         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19155         (malloc, realloc): Remove #undefs.
19156         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19157         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19158         readlink, ssize_t, stdint, unistd.
19159         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19160         areadlink, stdint.
19161
19162         careadlinkat: new module
19163         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19164         * modules/careadlinkat: New files, written by me with
19165         a review and feedback from Ben Pfaff in
19166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19167
19168 2011-04-01  Bruno Haible  <bruno@clisp.org>
19169
19170         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
19171         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
19172         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
19173         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
19174         Reported by Bruce Korb <bruce.korb@gmail.com>.
19175
19176 2011-04-01  Bruno Haible  <bruno@clisp.org>
19177
19178         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
19179         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
19180         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
19181         * modules/wcpcpy (Depends-on): Add extensions.
19182         * modules/wcpncpy (Depends-on): Likewise.
19183         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
19184         systems.
19185         * doc/posix-functions/wcpncpy.texi: Likewise.
19186         * doc/posix-functions/wcwidth.texi: Likewise.
19187
19188 2011-03-31  Eric Blake  <eblake@redhat.com>
19189
19190         nonblocking: fix mingw test failures
19191         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
19192         non-blocking flag on regular file.
19193         (get_nonblocking_flag): Set errno on invalid fd.
19194         * tests/test-nonblocking.c (main): Avoid test failure on
19195         directories if fchdir is not active.
19196         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
19197
19198 2011-03-31  Bruno Haible  <bruno@clisp.org>
19199
19200         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
19201         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
19202         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
19203         Reported by Simon Josefsson <simon@josefsson.org>.
19204
19205 2011-03-31  Bruno Haible  <bruno@clisp.org>
19206         and Eric Blake  <eblake@redhat.com>
19207
19208         nonblocking: new module
19209         * modules/nonblocking: New module.
19210         * modules/nonblocking-tests: Likewise.
19211         * lib/nonblocking.h: New file.
19212         * lib/nonblocking.c: Likewise.
19213         * tests/test-nonblocking.c: New test.
19214         * lib/ioctl.c (ioctl) [mingw]: Update comment.
19215
19216 2011-03-30  Bruno Haible  <bruno@clisp.org>
19217
19218         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
19219         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
19220         instead of 'printf' format for GCC >= 4.4.
19221         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
19222         (fprintf, printf, vfprintf, vprintf): Declare with
19223         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
19224         the system's vfprintf() function.
19225         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
19226
19227 2011-03-30  Eric Blake  <eblake@redhat.com>
19228
19229         passfd: fix scoping bug
19230         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
19231         before sendmsg/recvmsg.
19232
19233         passfd: standardize coding conventions
19234         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
19235         can be learned at compile time.
19236         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
19237         ifdefs.
19238         (sendfd, recvfd): Follow gnulib code conventions.
19239
19240         passfd: fix incorrect sendmsg arguments
19241         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
19242         incorrect msg_controllen value.
19243         * modules/passfd-tests (Depends-on): Check for alarm.
19244         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
19245         Reported by Bastien ROUCARIES.
19246
19247 2011-03-30  Bruno Haible  <bruno@clisp.org>
19248
19249         c-strcasestr: Relicense under LGPLv2+.
19250         * modules/c-strcasestr (License): Change to LGPLv2+.
19251         Requested by Eric Blake, for libvirt.
19252
19253 2011-03-30  Simon Josefsson  <simon@josefsson.org>
19254
19255         * users.txt: Add libidn2.  Fix libtasn1 link.
19256
19257 2011-03-30  Jim Meyering  <meyering@redhat.com>
19258
19259         tests: readlink* ("",... fails with EINVAL on newer kernels
19260         readlink and readlinkat have typically failed with ENOENT for
19261         the invalid, empty file name,  "".  However, with the advent
19262         of linux-2.6.39, they fail with EINVAL.
19263         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
19264         when operating on the empty file name.
19265         * tests/test-readlink.h (test_readlink): Likewise.
19266
19267 2011-03-29  Bruno Haible  <bruno@clisp.org>
19268
19269         Relicense some modules under LGPLv2+, for libidn2.
19270         * modules/array-mergesort (License): Change to LGPLv2+.
19271         * modules/c-strcaseeq (License): Likewise.
19272         * modules/striconveh (License): Likewise.
19273         * modules/striconveha (License): Likewise.
19274         * modules/uniconv/base (License): Likewise.
19275         * modules/uniconv/u8-conv-from-enc (License): Likewise.
19276         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
19277         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
19278         * modules/unictype/base (License): Likewise.
19279         * modules/unictype/bidiclass-of (License): Likewise.
19280         * modules/unictype/category-M (License): Likewise.
19281         * modules/unictype/category-none (License): Likewise.
19282         * modules/unictype/category-of (License): Likewise.
19283         * modules/unictype/category-test (License): Likewise.
19284         * modules/unictype/category-test-withtable (License): Likewise.
19285         * modules/unictype/combining-class (License): Likewise.
19286         * modules/unictype/joiningtype-of (License): Likewise.
19287         * modules/unictype/scripts (License): Likewise.
19288         * modules/uninorm/base (License): Likewise.
19289         * modules/uninorm/canonical-decomposition (License): Likewise.
19290         * modules/uninorm/composition (License): Likewise.
19291         * modules/uninorm/decompose-internal (License): Likewise.
19292         * modules/uninorm/decomposition-table (License): Likewise.
19293         * modules/uninorm/nfc (License): Likewise.
19294         * modules/uninorm/nfd (License): Likewise.
19295         * modules/uninorm/u32-normalize (License): Likewise.
19296         * modules/unistr/base (License): Likewise.
19297         * modules/unistr/u32-cpy (License): Likewise.
19298         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
19299         * modules/unistr/u32-to-u8 (License): Likewise.
19300         * modules/unistr/u32-uctomb (License): Likewise.
19301         * modules/unistr/u8-check (License): Likewise.
19302         * modules/unistr/u8-mblen (License): Likewise.
19303         * modules/unistr/u8-mbtouc (License): Likewise.
19304         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
19305         * modules/unistr/u8-mbtoucr (License): Likewise.
19306         * modules/unistr/u8-prev (License): Likewise.
19307         * modules/unistr/u8-strlen (License): Likewise.
19308         * modules/unistr/u8-to-u32 (License): Likewise.
19309         * modules/unistr/u8-uctomb (License): Likewise.
19310         * modules/unitypes (License): Likewise.
19311         Requested by Simon Josefsson.
19312
19313 2011-03-29  Simon Josefsson  <simon@josefsson.org>
19314
19315         lib-symbol-visibility: Add a notice.
19316         * modules/lib-symbol-visibility (Notice): New field.
19317
19318 2011-03-29  Bruno Haible  <bruno@clisp.org>
19319
19320         getaddrinfo: Doc fix.
19321         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
19322         section "fixed in Gnulib".
19323
19324 2011-03-28  Simon Josefsson  <simon@josefsson.org>
19325
19326         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
19327         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
19328
19329 2011-03-26  Bruno Haible  <bruno@clisp.org>
19330
19331         unictype/property-byname: Reduce the number of load-time relocations.
19332         * lib/unictype/pr_byname.c: Include <stdlib.h>.
19333         (UC_PROPERTY_INDEX_*): New enumeration values.
19334         (uc_property_byname): Convert an index from the lookup table to an
19335         uc_property_t.
19336         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
19337         values.
19338
19339 2011-03-26  Bruno Haible  <bruno@clisp.org>
19340
19341         unictype/property-byname: Allow omitted word separators and aliases.
19342         * lib/unictype/pr_byname.gperf: Add property names without word
19343         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
19344         for 'space'.
19345
19346 2011-03-26  Bruno Haible  <bruno@clisp.org>
19347
19348         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
19349         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
19350         also hyphens to space.
19351         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
19352         without spaces.
19353         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
19354
19355 2011-03-26  Bruno Haible  <bruno@clisp.org>
19356
19357         unictype/joiningtype-byname: Recognize long names as well.
19358         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
19359         a long name.
19360         * lib/unictype/joiningtype_byname.c: Include <string.h>,
19361         unictype/joiningtype_byname.h.
19362         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
19363         * lib/unictype/joiningtype_byname.gperf: New file.
19364         * modules/unictype/joiningtype-byname (Files): Add
19365         lib/unictype/joiningtype_byname.gperf.
19366         (Depends-on): Add gperf.
19367         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
19368         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
19369         long names.
19370
19371         Tests for module 'unictype/joiningtype-longname'.
19372         * modules/unictype/joiningtype-longname-tests: New file.
19373         * tests/unictype/test-joiningtype_longname.c: New file.
19374
19375         New module 'unictype/joiningtype-longname'.
19376         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
19377         * lib/unictype/joiningtype_longname.c: New file.
19378         * modules/unictype/joiningtype-longname: New file.
19379         * modules/unictype/joiningtype-all (Depends-on): Add
19380         unictype/joiningtype-longname.
19381
19382 2011-03-26  Bruno Haible  <bruno@clisp.org>
19383
19384         unictype/bidiclass-byname: Recognize long names as well.
19385         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
19386         name.
19387         * lib/unictype/bidi_byname.c: Include <string.h>,
19388         unictype/bidi_byname.h.
19389         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
19390         * lib/unictype/bidi_byname.gperf: New file.
19391         * modules/unictype/bidiclass-byname (Files): Add
19392         lib/unictype/bidi_byname.gperf.
19393         (Depends-on): Add gperf.
19394         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
19395         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
19396         long names.
19397
19398         Tests for module 'unictype/bidiclass-longname'.
19399         * modules/unictype/bidiclass-longname-tests: New file.
19400         * tests/unictype/test-bidi_longname.c: New file.
19401
19402         New module 'unictype/bidiclass-longname'.
19403         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
19404         * lib/unictype/bidi_longname.c: New file.
19405         * modules/unictype/bidiclass-longname: New file.
19406         * modules/unictype/bidiclass-all (Depends-on): Add
19407         unictype/bidiclass-longname.
19408
19409 2011-03-26  Bruno Haible  <bruno@clisp.org>
19410
19411         unictype/bidi*: Rename modules.
19412         * modules/unictype/bidiclass-all: Renamed from
19413         modules/unictype/bidicategory-all.
19414         * modules/unictype/bidiclass-name: Renamed from
19415         modules/unictype/bidiclass-name.
19416         (Description): Update.
19417         * modules/unictype/bidiclass-name-tests: Renamed from
19418         modules/unictype/bidicategory-name-tests.
19419         * modules/unictype/bidiclass-byname: Renamed from
19420         modules/unictype/bidicategory-byname.
19421         (Description): Update.
19422         * modules/unictype/bidiclass-byname-tests: Renamed from
19423         modules/unictype/bidicategory-byname-tests.
19424         * modules/unictype/bidiclass-of: Renamed from
19425         modules/unictype/bidicategory-of.
19426         (Description): Update.
19427         * modules/unictype/bidiclass-of-tests: Renamed from
19428         modules/unictype/bidicategory-of-tests.
19429         * modules/unictype/bidiclass-test: Renamed from
19430         modules/unictype/bidicategory-test.
19431         (Description): Update.
19432         * modules/unictype/bidiclass-test-tests: Renamed from
19433         modules/unictype/bidicategory-test-tests.
19434         * modules/unictype/bidicategory-all: New file, a simple redirection.
19435         * modules/unictype/bidicategory-name: Likewise.
19436         * modules/unictype/bidicategory-byname: Likewise.
19437         * modules/unictype/bidicategory-of: Likewise.
19438         * modules/unictype/bidicategory-test: Likewise.
19439         * modules/unictype/property-bidi-* (Dependencies): Update.
19440         * lib/unictype/bidi_*.c: Update comment.
19441
19442 2011-03-26  Bruno Haible  <bruno@clisp.org>
19443
19444         unictype/bidi*: Rename functions, part 2.
19445         * modules/unictype/bidicategory-name (configure.ac): Update required
19446         libunistring version.
19447         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
19448
19449 2011-03-25  Bruno Haible  <bruno@clisp.org>
19450
19451         New module 'unictype/combining-class-all'.
19452         * modules/unictype/combining-class-all: New file.
19453
19454         Tests for module 'unictype/combining-class-byname'.
19455         * modules/unictype/combining-class-byname-tests: New file.
19456         * tests/unictype/test-combiningclass_byname.c: New file.
19457
19458         New module 'unictype/combining-class-byname'.
19459         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
19460         * lib/unictype/combiningclass_byname.c: New file.
19461         * lib/unictype/combiningclass_byname.gperf: New file.
19462         * modules/unictype/combining-class-byname: New file.
19463
19464         Tests for module 'unictype/combining-class-longname'.
19465         * modules/unictype/combining-class-longname-tests: New file.
19466         * tests/unictype/test-combiningclass_longname.c: New file.
19467
19468         New module 'unictype/combining-class-longname'.
19469         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
19470         * lib/unictype/combiningclass_longname.c: New file.
19471         * modules/unictype/combining-class-longname: New file.
19472
19473         Tests for module 'unictype/combining-class-name'.
19474         * modules/unictype/combining-class-name-tests: New file.
19475         * tests/unictype/test-combiningclass_name.c: New file.
19476
19477         New module 'unictype/combining-class-name'.
19478         * lib/unictype.in.h (uc_combining_class_name): New declaration.
19479         * lib/unictype/combiningclass_name.c: New file.
19480         * modules/unictype/combining-class-name: New file.
19481
19482 2011-03-25  Bruno Haible  <bruno@clisp.org>
19483
19484         unictype/combining-class: Rename source files.
19485         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
19486         of unictype/combining.h.
19487         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
19488         Update.
19489         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
19490         * modules/unictype/combining-class (Description): Fix.
19491         (Files, Makefile.am): Update.
19492         * tests/unictype/test-combiningclass.c: Renamed from
19493         tests/unictype/test-combining.c.
19494         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
19495
19496 2011-03-25  Bruno Haible  <bruno@clisp.org>
19497
19498         unictype: Update list of canonical combining classes.
19499         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
19500
19501 2011-03-25  Bruno Haible  <bruno@clisp.org>
19502
19503         unictype/category-byname: Recognize long names as well.
19504         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
19505         a long name.
19506         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
19507         unictype/categ_byname.h.
19508         (UC_CATEGORY_INDEX_*): New enumeration values.
19509         (uc_general_category_byname): Use uc_general_category_lookup and
19510         convert from index to value.
19511         * lib/unictype/categ_byname.gperf: New file.
19512         * modules/unictype/category-byname (Files): Add
19513         lib/unictype/categ_byname.gperf.
19514         (Depends-on): Add gperf.
19515         (Makefile.am): Add rule for generating unictype/categ_byname.h.
19516         * tests/unictype/test-categ_byname.c (main): Test the recognition of
19517         long names.
19518
19519         Tests for module 'unictype/category-longname'.
19520         * modules/unictype/category-longname-tests: New file.
19521         * tests/unictype/test-categ_longname.c: New file.
19522
19523         New module 'unictype/category-longname'.
19524         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
19525         * lib/unictype/categ_longname.c: New file.
19526         * modules/unictype/category-longname: New file.
19527         * modules/unictype/category-all (Depends-on): Add it.
19528
19529 2011-03-25  Bruno Haible  <bruno@clisp.org>
19530
19531         Tests for module 'unictype/category-LC'.
19532         * modules/unictype/category-LC-tests: New file.
19533         * tests/unictype/test-categ_LC.c: New file, automatically generated.
19534
19535         New module 'unictype/category-LC'.
19536         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
19537         (UC_CATEGORY_LC): New declaration.
19538         (UC_CASED_LETTER): New macro.
19539         * lib/gen-uni-tables.c (is_category_LC): New function.
19540         (output_categories): Also handle category LC.
19541         (UC_CATEGORY_MASK_LC): New enumeration value.
19542         (general_category_byname): Also handle category LC.
19543         * lib/unictype/categ_LC.c: New file.
19544         * lib/unictype/categ_LC.h: New file, automatically generated.
19545         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
19546         category LC.
19547         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
19548         * modules/unictype/category-LC: New file.
19549         * modules/unictype/category-byname (Depends-on): Add
19550         unictype/category-LC.
19551         * modules/unictype/category-all (Depends-on): Likewise.
19552
19553 2011-03-25  Eric Blake  <eblake@redhat.com>
19554
19555         xmalloc: revert yesterday's regression
19556         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
19557         realloc's underlying behavior (allowing allocation of zero-size
19558         objects, especially if malloc-gnu is also in use).
19559
19560 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
19561
19562         maint.mk: add missing version to VC-tag
19563         * top/maint.mk: git tag was missing actual tag name; add it.
19564
19565         valgrind: do leak checking, and exit with code 1 on error (not 0)
19566         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
19567         to VALGRIND.
19568
19569 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
19570
19571         posix-modules: say what it does.
19572         * posix-modules: Add a line to the --help output saying what it does.
19573
19574 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
19575
19576         xmalloc: Do not leak if underlying realloc is C99 compatible.
19577         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
19578         This avoids a leak on C99-based systems.  See
19579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
19580
19581 2011-03-24  Eric Blake  <eblake@redhat.com>
19582
19583         realloc: document portability problem
19584         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
19585         passing 0 size to realloc.
19586
19587 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
19588
19589         doc: update users.txt
19590         * users.txt: Add cvsps, tmpwatch
19591
19592 2011-03-23  Matt Rice  <ratmice@gmail.com>
19593
19594         doc: update users.txt
19595         * users.txt: Add gdb.
19596
19597 2011-03-23  Jim Meyering  <meyering@redhat.com>
19598
19599         doc: update users.txt
19600         Looking through matches up to the following URL (there are still
19601         several more pages), I found several projects that use gnulib:
19602         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
19603         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
19604         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
19605
19606 2011-03-22  Bruno Haible  <bruno@clisp.org>
19607
19608         unictype/bidi*: Rename functions.
19609         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
19610         uc_bidi_class, uc_is_bidi_class): New declarations.
19611         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
19612         uc_bidi_category_byname.
19613         (uc_bidi_category_byname): New function.
19614         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
19615         u_bidi_category_name.
19616         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
19617         (uc_bidi_category_name): New function.
19618         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
19619         uc_bidi_category.
19620         (uc_bidi_category): New function.
19621         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
19622         uc_is_bidi_category. Invoke uc_bidi_class.
19623         (uc_is_bidi_category): New function.
19624         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
19625         instead of uc_bidi_category_byname.
19626         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
19627         instead of uc_bidi_category_name.
19628         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
19629         uc_bidi_category.
19630         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
19631         instead of uc_is_bidi_category.
19632
19633 2011-03-21  Bruno Haible  <bruno@clisp.org>
19634
19635         New module 'unictype/joininggroup-all'.
19636         * modules/unictype/joininggroup-all: New file.
19637
19638         Tests for module 'unictype/joininggroup-of'.
19639         * modules/unictype/joininggroup-of-tests: New file.
19640         * tests/unictype/test-joininggroup_of.c: New file.
19641         * tests/unictype/test-joininggroup_of.h: New file, automatically
19642         generated by gen-uni-tables.
19643
19644         New module 'unictype/joininggroup-of'.
19645         * modules/unictype/joininggroup-of: New file.
19646         * lib/unictype/joininggroup_of.c: New file.
19647         * lib/unictype/joininggroup_of.h: New file, automatically generated by
19648         gen-uni-tables.
19649
19650         Tests for module 'unictype/joininggroup-byname'.
19651         * modules/unictype/joininggroup-byname-tests: New file.
19652         * tests/unictype/test-joininggroup_byname.c: New file.
19653
19654         New module 'unictype/joininggroup-byname'.
19655         * modules/unictype/joininggroup-byname: New file.
19656         * lib/unictype/joininggroup_byname.c: New file.
19657         * lib/unictype/joininggroup_byname.gperf: New file.
19658
19659         Tests for module 'unictype/joininggroup-name'.
19660         * modules/unictype/joininggroup-name-tests: New file.
19661         * tests/unictype/test-joininggroup_name.c: New file.
19662
19663         New module 'unictype/joininggroup-name'.
19664         * modules/unictype/joininggroup-name: New file.
19665         * lib/unictype/joininggroup_name.c: New file.
19666         * lib/unictype/joininggroup_name.h: New file.
19667
19668         New module 'unictype/joiningtype-all'.
19669         * modules/unictype/joiningtype-all: New file.
19670
19671         Tests for module 'unictype/joiningtype-of'.
19672         * modules/unictype/joiningtype-of-tests: New file.
19673         * tests/unictype/test-joiningtype_of.c: New file.
19674         * tests/unictype/test-joiningtype_of.h: New file, automatically
19675         generated by gen-uni-tables.
19676
19677         New module 'unictype/joiningtype-of'.
19678         * modules/unictype/joiningtype-of: New file.
19679         * lib/unictype/joiningtype_of.c: New file.
19680         * lib/unictype/joiningtype_of.h: New file, automatically generated by
19681         gen-uni-tables.
19682
19683         Tests for module 'unictype/joiningtype-byname'.
19684         * modules/unictype/joiningtype-byname-tests: New file.
19685         * tests/unictype/test-joiningtype_byname.c: New file.
19686
19687         New module 'unictype/joiningtype-byname'.
19688         * modules/unictype/joiningtype-byname: New file.
19689         * lib/unictype/joiningtype_byname.c: New file.
19690
19691         Tests for module 'unictype/joiningtype-name'.
19692         * modules/unictype/joiningtype-name-tests: New file.
19693         * tests/unictype/test-joiningtype_name.c: New file.
19694
19695         New module 'unictype/joiningtype-name'.
19696         * modules/unictype/joiningtype-name: New file.
19697         * lib/unictype/joiningtype_name.c: New file.
19698
19699         unictype: Add support for Arabic shaping properties.
19700         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
19701         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
19702         declarations.
19703         (UC_JOINING_GROUP_*): New enumeration values.
19704         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
19705         declarations.
19706         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
19707         (unicode_joining_type): New variable.
19708         (UC_JOINING_GROUP_*): New enumeration values.
19709         (unicode_joining_group): New variable.
19710         (fill_arabicshaping, joining_type_as_c_identifier,
19711         output_joining_type_test, output_joining_type,
19712         joining_group_as_c_identifier, output_joining_group_test,
19713         output_joining_group): New functions.
19714         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
19715         fill_arabicshaping and output_joining_type_test, output_joining_type,
19716         output_joining_group_test, output_joining_group.
19717         Reported by Simon Josefsson.
19718
19719 2011-03-21  Jim Meyering  <meyering@redhat.com>
19720
19721         strftime: fix a bug in yesterday's change
19722         * lib/strftime.c (add): Accommodate width's initial value of -1.
19723         Otherwise, nstrftime would copy uninitialized data into
19724         the result buffer.
19725
19726 2011-03-21  Jim Meyering  <meyering@redhat.com>
19727
19728         tests: add strftime-tests module
19729         * tests/test-strftime.c: New file.
19730         * modules/strftime-tests: New module.
19731
19732 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19733
19734         strftime: don't assume a byte count fits in 'int'
19735         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
19736         found this problem by static analysis, using gcc -Wstrict-overflow
19737         (GCC 4.5.2, x86-64).  This reported an optimization that depended
19738         on an integer overflow having undefined behavior, but it turns out
19739         that the argument is a size, which might not fit in 'int' anyway,
19740
19741 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19742
19743         stdio: don't require ignore_value around fwrite
19744
19745         This patch works around libc bug 11959
19746         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
19747         Without this patch, applications must often write
19748         ignore_value (fwrite (...)) even though the ignore_value is
19749         not helpful here.  It's common to write many objects, using
19750         fwrite/printf/etc., and then use ferror to detect output error.
19751
19752         I considered making this patch optional, but decided against it,
19753         because libc is obviously being inconsistent here: there is no
19754         reason libc should insist that user code must inspect fwrite
19755         return's value without also insisting that it inspect printf's,
19756         putchar's, etc.  If user code wants to have a strict style where
19757         all these functions' values are checked (so that ferror need not
19758         be checked), we could add support for that style in a new gnulib
19759         module, but in the meantime it's better to be consistent and to
19760         support common usage.
19761
19762         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
19763         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
19764         that we are compiling in checking mode, and if not C++, and
19765         if not already wrapping fwrite for some other reason.
19766         (fwrite): #define to rpl_fwrite if the latter is defined.
19767
19768 2011-03-20  Bruno Haible  <bruno@clisp.org>
19769
19770         verror: Fix compilation error introduced on 2011-02-13.
19771         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
19772         instead of __attribute__.
19773         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19774
19775 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
19776             Bruno Haible  <bruno@clisp.org>
19777
19778         socklen: do not depend on sys_socket
19779         While trying to modify Emacs to use gnulib's socklen module,
19780         I discovered a circular dependency: socklen depends on sys_socket
19781         and vice versa.  Emacs can use socklen, but it does not need
19782         sys_socket because it has its own substitute for sys/socket.h.
19783         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
19784         gl_TYPE_SOCKLEN_T.
19785         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
19786         gl_PREREQ_SYS_H_SOCKET.
19787         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
19788         gl_PREREQ_SYS_H_SOCKET.
19789         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
19790         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
19791         * modules/socklen (Depends-on): Do not depend on sys_socket.
19792         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
19793
19794 2011-03-20  Jim Meyering  <meyering@redhat.com>
19795
19796         maint.mk: sort file names *after* new transformation
19797         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
19798         prefix would have led to an unwarranted failure in GNU parted.
19799         Sort after that transformation.
19800
19801 2011-03-19  Jim Meyering  <meyering@redhat.com>
19802
19803         maint.mk: fix po-file syntax-check rule
19804         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
19805         Patch by Bruno Haible.
19806
19807 2011-03-19  Bruno Haible  <bruno@clisp.org>
19808
19809         socklen: Update comment.
19810         * m4/socklen.m4: Update comment about platforms.
19811
19812 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19813             Bruno Haible  <bruno@clisp.org>
19814
19815         inet_ntop, inet_pton: Simplify.
19816         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
19817         documented to provide socklen_t and we already depend on sys_socket.
19818         * modules/inet_pton (Depends-on): Likewise.
19819         * lib/arpa_inet.in.h: Adjust comment.
19820
19821 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19822             Bruno Haible  <bruno@clisp.org>
19823
19824         netdb: Simplify.
19825         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
19826         documented to provide socklen_t and we already depend on sys_socket.
19827         * lib/netdb.in.h: Adjust comment.
19828
19829 2011-03-19  Bruno Haible  <bruno@clisp.org>
19830
19831         sys_socket, netdb: Document problem with socklen_t.
19832         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
19833         platforms.
19834         * doc/posix-headers/netdb.texi: Likewise.
19835
19836 2011-03-18  Eric Blake  <eblake@redhat.com>
19837
19838         maint.mk: let po check work in VPATH build
19839         * top/maint.mk (po_file): Allow cfg.mk override.
19840         (sc_po_check): Allow VPATH use.
19841         Reported by Jiri Denemark.
19842
19843 2011-03-16  Jim Meyering  <meyering@redhat.com>
19844
19845         maint.mk: allow fine-grained syntax-check exclusion via Make variables
19846         Before, you would have had to create one .x-sc_ file per rule in order
19847         to exempt offending files.  Now, you may instead use a Make variable --
19848         usually defined in cfg.mk -- whose name identifies the affected rule.
19849         * top/maint.mk (_sc_excl): Define.
19850         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
19851         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
19852
19853 2011-03-13  Bruno Haible  <bruno@clisp.org>
19854
19855         ignore-value tests: Avoid warnings.
19856         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
19857         empty for gcc < 3.4.
19858
19859 2011-03-13  Bruno Haible  <bruno@clisp.org>
19860
19861         passfd: Fix link error on Solaris.
19862         * modules/passfd (Description): Correct.
19863         (Depends-on): Add socketlib.
19864         (Link): New section.
19865         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
19866
19867 2011-03-13  Bruno Haible  <bruno@clisp.org>
19868
19869         passfd: Fix link error on AIX 5.2.
19870         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
19871
19872 2011-03-13  Bruno Haible  <bruno@clisp.org>
19873
19874         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
19875         * lib/sys_socket.in.h: Include <stddef.h>.
19876         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
19877         CMSG_FIRSTHDR. Remove unused variable.
19878
19879 2011-03-13  Bruno Haible  <bruno@clisp.org>
19880
19881         passfd: Fix compilation error on OpenBSD.
19882         * lib/passfd.c: Include <sys/uio.h>.
19883
19884 2011-03-13  Bruno Haible  <bruno@clisp.org>
19885
19886         passfd test: Fix warnings.
19887         * tests/test-passfd.c: Include <sys/wait.h>.
19888         (main): Fix typo.
19889
19890 2011-03-13  Bruno Haible  <bruno@clisp.org>
19891
19892         passfd module, part 4, tweaks.
19893         * tests/test-passfd.c: Reorder includes.
19894         (main): Fix perror and printf calls.
19895
19896 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19897
19898         passfd module, part 4.
19899         * modules/passfd-tests: New file.
19900         * tests/test-passfd.c: New file.
19901
19902 2011-03-13  Jim Meyering  <meyering@redhat.com>
19903
19904         Makefile: rely on GNU make; derive syntax-check rule names
19905         Rather than requiring that each sc_ rule be listed as a dependent
19906         of "check", use features of GNU make to derive the list.
19907         * Makefile (syntax-check-rules): Define.
19908         (check): Depend on the new variable, not the hard-coded list.
19909
19910 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
19911             Bruno Haible  <bruno@clisp.org>
19912
19913         passfd module, part 3.
19914         * lib/passfd.h (recvfd): Add a flags argument.
19915         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
19916         (recvfd): Add a flags argument.
19917         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
19918         exists.
19919         * modules/passfd (Depends-on): Add cloexec.
19920         Suggested by Eric Blake.
19921
19922 2011-03-13  Bruno Haible  <bruno@clisp.org>
19923
19924         passfd module, part 2, tweaks.
19925         * modules/passfd (Files): Reorder.
19926         (Depends-on): Remove errno.
19927         (Include): Remove <sys/socket.h>, <sys/un.h>.
19928         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
19929         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
19930         specification header. Include <sys/socket.h> always. Don't include
19931         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
19932         (sendfd): Clarify that it sets errno when it fails.
19933         (recvfd): Fix specification.
19934
19935 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19936
19937         passfd module, part 2.
19938         * modules/passfd: New file.
19939         * lib/passfd.h: New file.
19940         * lib/passfd.c: New file.
19941
19942 2011-03-12  Bruno Haible  <bruno@clisp.org>
19943
19944         wcswidth, mbswidth: Avoid integer overflow.
19945         * lib/wcswidth.c: Include <limits.h>.
19946         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
19947         * lib/mbswidth.c: Include <limits.h>.
19948         (mbsnwidth): Avoid 'int' overflow.
19949         Reported by Jim Meyering.
19950
19951 2011-03-12  Bruno Haible  <bruno@clisp.org>
19952
19953         futimens, utimensat: Avoid endless recursion on Solaris 10.
19954         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
19955         Solaris.
19956         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
19957         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
19958
19959 2011-03-11  Jim Meyering  <meyering@redhat.com>
19960
19961         maint.mk: relax a regexp to accommodate other formatting styles
19962         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
19963         between "ngettext" and the following "(".
19964
19965 2011-03-11  Pádraig Brady <P@draigBrady.com>
19966
19967         maint.mk: suppress a false positive warning
19968         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
19969         diagnostics are marked with ngettext.
19970
19971 2011-03-10  Eric Blake  <eblake@redhat.com>
19972
19973         wchar: add explicit dependencies, for Tru64
19974         * modules/mbmemcasecoll (Depends-on): Add wchar.
19975         * modules/mbtowc (Depends-on): Likewise.
19976         * modules/vasnprintf (Depends-on): Likewise.
19977         * modules/unistdio/u-printf-args (Depends-on): Likewise.
19978         * modules/wctomb (Depends-on): Likewise.
19979         Reported by Peter O'Gorman.
19980
19981 2011-03-08  Bruno Haible  <bruno@clisp.org>
19982
19983         passfd module, part 1, tweaks.
19984         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
19985         Improve indentation. Improve AC_MSG_CHECKING messages.
19986         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
19987         gl_SOCKET_FAMILIES.
19988
19989 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
19990
19991         passfd module, part 1.
19992         * m4/afunix.m4: New file.
19993         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
19994         sockets.
19995
19996 2011-03-08  Bruno Haible  <bruno@clisp.org>
19997
19998         regex-quote: New API.
19999         * lib/regex-quote.h: Include <stdbool.h>.
20000         (struct regex_quote_spec): New type.
20001         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20002         New declarations.
20003         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20004         'const struct regex_quote_spec *' argument.
20005         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20006         (pcre_special): New constant.
20007         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20008         New functions.
20009         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20010         'const struct regex_quote_spec *' argument.
20011         * modules/regex-quote (Depends-on): Add stdbool.
20012         * tests/test-regex-quote.c (check): Update for new API. Add test for
20013         anchored results.
20014         * NEWS: Mention the API change.
20015         Reported by Reuben Thomas and Eric Blake.
20016
20017 2011-03-06  Bruno Haible  <bruno@clisp.org>
20018
20019         regex-quote: Fix creation of POSIX extended regular expressions.
20020         * lib/regex-quote.c (ere_special): Add grouping and alternation
20021         operators.
20022
20023 2011-03-05  Bruno Haible  <bruno@clisp.org>
20024
20025         doc: Improve doc regarding autopoint vs. gnulib.
20026         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20027         disable autopoint while running autoreconf.
20028         Suggested by Ralf Wildenhues.
20029
20030 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20031
20032         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20033         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20034
20035 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20036
20037         parse-duration: remove xalloc.h dependency
20038         * lib/parse-duration.c (parse_period): handle NULL return from
20039         strdup instead of calling xstrdup().
20040         * modules/parse-duration: remove "xalloc" dependency
20041
20042 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20043
20044         bootstrap: honor m4_base when running aclocal
20045         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20046
20047 2011-03-02  Jim Meyering  <meyering@redhat.com>
20048
20049         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20050         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20051         on request from Matt Booth.
20052
20053 2011-03-01  Eric Blake  <eblake@redhat.com>
20054
20055         test-link: work on Hurd
20056         * tests/test-link.h (test_link): Hurd rejects linking directories
20057         with EISDIR instead of the POSIX-mandated EPERM.
20058
20059 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20060
20061         stdio: simplify by moving files to printf-posix, sigpipe
20062         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20063         since this symbol is needed only if printf is replaced.
20064         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20065         Require gl_ASM_SYMBOL_PREFIX.
20066         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20067         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20068         (Depends-on): Add 'raise'.
20069         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20070         * modules/stdio (Files): Remove lib/stdio-write.c,
20071         m4/asm-underscore.m4.
20072         (Depends-on): Remove 'raise'.
20073
20074         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20075         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20076         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20077         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20078
20079 2011-02-28  Bruno Haible  <bruno@clisp.org>
20080
20081         localcharset: Assume ANSI C behaviour of free().
20082         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20083         calling free().
20084         Suggested by Simon Josefsson <simon@josefsson.org>.
20085
20086 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20087             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20088             Bruno Haible  <bruno@clisp.org>  (tiny change)
20089
20090         On Cygwin, use /proc file system instead of win32 API.
20091         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20092         Win32 file names.
20093         (DllMain): Simplify by removing Cygwin specific code.
20094         (find_shared_library_fullname): Use Linux specific implementation also
20095         for Cygwin.
20096         (get_shared_library_fullname): Update accordingly.
20097         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20098         Win32 file names.
20099         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20100         Cygwin specific code.
20101
20102 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20103             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20104
20105         Fix OpenMP flag detection for various Fortran compilers.
20106         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20107         OpenMP-conditional compilation construct, to force compile
20108         failure with missing OpenMP flag.
20109         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20110
20111 2011-02-25  Eric Blake  <eblake@redhat.com>
20112
20113         strstr: expand test coverage
20114         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20115         compilation.
20116         * tests/test-memmem.c (main): Duplicate tests.
20117         * tests/test-strcasestr.c (main): Likewise.
20118         * tests/test-c-strcasestr.c (main): Likewise.
20119
20120 2011-02-25  Jim Meyering  <meyering@redhat.com>
20121
20122         maint.mk: detect missing-NL-at-EOF, too
20123         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20124         it also detects when a file lacks a newline at EOF.
20125         (require_exactly_one_NL_at_EOF_): Renamed from
20126         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20127         since people may well have .x-sc_... file names tied to the
20128         existing name.  Suggested by Eric Blake.
20129
20130 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20131
20132         dirname: move m4/dos.m4 functionality into lib/dosname.h
20133
20134         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20135         extracts symbols from it, puts them into config.h; but it's much
20136         easier to use the symbols directly.  filename.h already does this,
20137         but it disagrees with dos.m4 in some respects.  This patch
20138         introduces a different include file dosname.h that packages up
20139         dos.m4, and then later we can work on merging filename.h and
20140         dosname.h.  Applications that need only the easy-to-configure
20141         symbols should consider including dosname.h rather than dirname.h.
20142         * NEWS: Mention incompatible changes.
20143         * m4/dos.m4: Remove.
20144         * lib/dosname.h, modules/dosname: New files.
20145         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20146         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20147         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20148         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20149         Include dosname.h, not dirname.h.
20150         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20151         Include dosname.h, for definitions of symbols like ISSLASH
20152         that used to be in config.h.
20153         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20154         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20155         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20156         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20157         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20158         * modules/rmdir (Files): Likewise.
20159         * modules/stat (Files): Likewise.
20160         * modules/unlink (Files): Likewise.
20161         * modules/dirname-lgpl (Depends-on): Add dosname.
20162         * modules/lstat (Depends-on): Likewise.
20163         * modules/openat (Depends-on): Likewise.
20164         * modules/rmdir (Depends-on): Likewise.
20165         * modules/savewd (Depends-on): Likewise.
20166         * modules/stat (Depends-on): Likewise.
20167         * modules/unlink (Depends-on): Likewise.
20168         * modules/openat (Depends-on): Remove dirname-lgpl.
20169         * modules/savewd (Depends-on): Likewise.
20170         * tests/test-dirname.c: Do not use removed symbols like
20171         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
20172         the remaining symbols, e.g., ISSLASH ('\\').
20173
20174 2011-02-25  Eric Blake  <eblake@redhat.com>
20175
20176         strstr: revert patches that introduced bug and pessimization
20177         * lib/str-two-way.h: Add another reference.
20178         (two_way_short_needle, two_way_long_needle): Revert changes from
20179         2011-02-24; they pessimize search speed.
20180         (critical_factorization): Partially revert changes from
20181         2010-06-22; they violate the requirement that the left half of the
20182         needle be smaller than the period of the needle.
20183
20184 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
20185
20186         filenamecat: remove unnecessary dependency on dirname-lgpl
20187         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
20188         is no direct dependency, just an indirect one via filenamecat-lgpl.
20189
20190         remove: remove unnecessary use of m4/dos.m4
20191         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
20192         * modules/remove (FILES): Remove m4/dos.m4.
20193
20194         * lib/openat-proc.c: Don't include dirname.h; not needed.
20195
20196         backupfile: remove unnecessary use of m4/dos.m4
20197         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
20198         of its symbols are used by the backupfile code.  backupfile.c does
20199         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
20200         for the rare case of programs that want all their backup file
20201         names to live within 8+3 limits, and dos.m4 doesn't address that.
20202         * modules/backupfile (Files): Remove m4/dos.m4.
20203
20204 2011-02-24  Jim Meyering  <meyering@redhat.com>
20205
20206         strstr: fix a bug whereby strstr would mistakenly return NULL
20207         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
20208         in period calculation.
20209         (two_way_long_needle): Likewise.
20210         The original problem was reported by Mike Stump in
20211         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
20212         Ralf Wildenhues provided the short needle and haystack.
20213         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
20214         Add a more involved test to trigger the bug in two_way_long_needle.
20215
20216 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
20217
20218         gnulib-tool: remove use of bold display in help screen
20219         * gnulib-tool (func_usage): Do not use bold display anymore in the
20220         help screen.  That was just meant to be a temporary emphasis for a
20221         backward-incompatible change.
20222
20223 2011-02-23  Bruno Haible  <bruno@clisp.org>
20224
20225         Fix misindentation of preprocessor directives.
20226         * lib/argp-namefrob.h: Reindent preprocessor directives.
20227         * lib/getopt_int.h (struct _getopt_data): Likewise.
20228         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
20229         * lib/vasnprintf.c (decode_long_double): Likewise.
20230         * tests/test-argmatch.c: Insert blank lines, for clarity.
20231         * tests/test-exclude.c: Likewise.
20232
20233 2011-02-22  Bruno Haible  <bruno@clisp.org>
20234
20235         ioctl: Fix for MacOS X in 64-bit mode.
20236         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
20237         value.
20238         Suggested by Eric Blake.
20239         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
20240
20241 2011-02-22  Jim Meyering  <meyering@redhat.com>
20242
20243         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
20244         * Makefile (sc_cpp_indent_check): Don't limit the check to files
20245         in lib/.
20246
20247 2011-02-22  Eric Blake  <eblake@redhat.com>
20248
20249         maint: avoid any CDPATH issue
20250         * Makefile (sc_cpp_indent_check): Anchor cd argument.
20251
20252         maint: adjust cpp indentation for my modules, as well
20253         * Makefile (sc_cpp_indent_check): Add my name.
20254         * lib/fbufmode.c: Filter through cppi.
20255         * lib/fpurge.c: Likewise.
20256         * lib/freadable.c: Likewise.
20257         * lib/freading.c: Likewise.
20258         * lib/fwritable.c: Likewise.
20259         * lib/fwriting.c: Likewise.
20260         * lib/sigaction.c: Likewise.
20261
20262 2011-02-22  Jim Meyering  <meyering@redhat.com>
20263
20264         maint: adjust cpp indentation to reflect nesting depth
20265         I.e., in a block of code that begins with an unnested "#if",
20266         put one space between the "#" in column 1 and following token.
20267         For example,
20268         -#include <sys/vfs.h>
20269         +# include <sys/vfs.h>
20270         Do this only in .c files that are part of a module I maintain.
20271         * lib/linkat.c: Filter through cppi.
20272         * lib/nanosleep.c: Likewise.
20273         * lib/openat.c: Likewise.
20274         * lib/openat-die.c: Likewise.
20275         * lib/dup3.c: Likewise.
20276         * lib/fchownat.c: Likewise.
20277         * lib/flock.c: Likewise.
20278         * lib/fsync.c: Likewise.
20279         * lib/fts.c: Likewise.
20280         * lib/getpass.c: Likewise.
20281         * lib/gettimeofday.c: Likewise.
20282         * lib/userspec.c: Likewise.
20283         * Makefile (sc_cpp_indent_check): New rule, to check this.
20284
20285 2011-02-22  Bruno Haible  <bruno@clisp.org>
20286
20287         New module 'wctomb'.
20288         * lib/stdlib.in.h (wctomb): New declaration.
20289         * lib/wctomb.c: New file.
20290         * lib/wctomb-impl.h: New file.
20291         * m4/wctomb.m4: New file.
20292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
20293         REPLACE_WCTOMB.
20294         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
20295         REPLACE_WCTOMB.
20296         * modules/wctomb: New file.
20297         * tests/test-stdlib-c++.cc: Test signature of wctomb.
20298         * doc/posix-functions/wctomb.texi: Mention the new module.
20299         * modules/wctob (Depends-on): Add wctomb.
20300
20301 2011-02-22  Bruno Haible  <bruno@clisp.org>
20302
20303         New module 'mbtowc'.
20304         * lib/stdlib.in.h (mbtowc): New declaration.
20305         * lib/mbtowc.c: New file.
20306         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
20307         * m4/mbtowc.m4: New file.
20308         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
20309         REPLACE_MBTOWC.
20310         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
20311         REPLACE_MBTOWC.
20312         * modules/mbtowc: New file.
20313         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
20314         * doc/posix-functions/mbtowc.texi: Mention the new module.
20315         * modules/btowc (Depends-on): Add mbtowc.
20316
20317 2011-02-22  Bruno Haible  <bruno@clisp.org>
20318
20319         wcrtomb: Add more tests for native Windows platforms.
20320         * tests/test-wcrtomb-w32-1.sh: New file.
20321         * tests/test-wcrtomb-w32-2.sh: New file.
20322         * tests/test-wcrtomb-w32-3.sh: New file.
20323         * tests/test-wcrtomb-w32-4.sh: New file.
20324         * tests/test-wcrtomb-w32-5.sh: New file.
20325         * tests/test-wcrtomb-w32.c: New file.
20326         * modules/wcrtomb-tests (Files): Add them.
20327         (Makefile.am): Arrange to run these tests.
20328         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
20329         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
20330
20331 2011-02-20  Bruno Haible  <bruno@clisp.org>
20332
20333         wcrtomb: Enhance test.
20334         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
20335
20336 2011-02-20  Bruno Haible  <bruno@clisp.org>
20337
20338         mbrtowc: Tiny optimization.
20339         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
20340
20341 2011-02-20  Jim Meyering  <meyering@redhat.com>
20342
20343         test-exclude.c: remove unmatched #endif
20344         * tests/test-exclude.c: Remove stray #endif, left over from
20345         the change of a week ago.
20346
20347 2011-02-19  Jim Meyering  <meyering@redhat.com>
20348
20349         git-version-gen: skip "-dirty" check when appropriate
20350         * build-aux/git-version-gen: Don't run any git commands when the
20351         version string comes from .tarball-version.  Prior to this, we
20352         would run git update-index --refresh even from a just-unpacked
20353         tarball directory, and that could affect a .git/ directory in a
20354         parent of the build directory.  Reported by Mike Frysinger.
20355
20356 2011-02-19  Bruno Haible  <bruno@clisp.org>
20357
20358         unictype/property-byname: Reduce the size of the 'data' segment.
20359         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
20360
20361 2011-02-19  Bruno Haible  <bruno@clisp.org>
20362
20363         unictype/scripts: Reduce the size of the 'data' segment.
20364         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
20365         '%pic'.
20366         * lib/unictype/scripts_byname.gperf: Regenerated.
20367
20368 2011-02-19  Bruno Haible  <bruno@clisp.org>
20369
20370         stdint: Update documentation.
20371         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
20372
20373 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
20374
20375         stdint: omit redundant check for wchar.h
20376         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
20377         always tests whether wchar.h exists, so remove the now-redundant test.
20378
20379 2011-02-18  Bruno Haible  <bruno@clisp.org>
20380
20381         stdint: Cut dependency to module 'wchar'.
20382         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
20383         include the necessary prerequisites.
20384         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
20385         * modules/stdint (Depends-on): Remove wchar.
20386         (Makefile.am): Substitute HAVE_WCHAR_H.
20387         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
20388
20389 2011-02-18  Eric Blake  <eblake@redhat.com>
20390
20391         longlong: skip, rather than fail, on cross-compilation
20392         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
20393         when cross-compiling; regression from 2011-02-16.
20394
20395 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20396
20397         * NEWS: Mention 2011-02-08 change to stdlib.
20398
20399 2011-02-17  Bruno Haible  <bruno@clisp.org>
20400
20401         getloadavg: Add comments about platforms.
20402         * m4/getloadavg.m4: Add comment.
20403         * lib/getloadavg.c: Likewise.
20404
20405 2011-02-17  Bruno Haible  <bruno@clisp.org>
20406
20407         getloadavg: Fix link error on Solaris 2.6.
20408         * modules/getloadavg (Link): New section.
20409         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
20410         linking test-getloadavg.
20411         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
20412         getloadavg.
20413
20414 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
20415
20416         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
20417         It was 'int', but this doesn't match the IRIX 6.5 manual.
20418         Suggested by Bruno Haible in
20419         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
20420
20421 2011-02-17  Bruno Haible  <bruno@clisp.org>
20422
20423         havelib: Fix comments.
20424         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
20425         change.
20426
20427 2011-02-17  Bruno Haible  <bruno@clisp.org>
20428
20429         havelib: Update config.rpath.
20430         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
20431
20432 2011-02-17  Bruno Haible  <bruno@clisp.org>
20433
20434         getloadavg test: Add some plausibility checks.
20435         * tests/test-getloadavg.c (check_avg): Print a warning when the value
20436         is improbable.
20437
20438 2011-02-16  Eric Blake  <eblake@redhat.com>
20439
20440         maintainer-makefile: make syntax-check a no-op from tarballs
20441         * top/maint.mk (no-vc-detected): New rule.
20442         (local-checks-available): Use it to avoid hanging if someone tries
20443         'make syntax-check' from a tarball.  Also append to any non-syntax
20444         checks already defined in cfg.mk.
20445
20446 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
20447
20448         longlong: tune, particularly for common case of c99
20449
20450         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
20451         or running anything if c99, or if unsigned long long int does not
20452         work.  In either case, we know the answer without further tests.
20453         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
20454         it at most once, and use its results for both long long int and
20455         unsigned long long int.  This is more likely to be efficient in
20456         the common case where the program wants to check for both long
20457         long int and unsigned long long int.
20458         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
20459         since the answer is already known.
20460
20461 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
20462
20463         getloadavg: set errno
20464         * lib/getloadavg.c: Set errno when returning -1.  If no other
20465         error number looks appropriate, set it to ENOSYS if the getloadavg
20466         looks like it can't possibly ever work, ENOTSUP otherwise.
20467         Suggested by Bruno Haible in
20468         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
20469
20470         getloadavg: trim unused parts and speed up 'configure'
20471         * NEWS: Document this.
20472         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
20473         always compiled if getloadavg is absent.
20474         Move test code to ...
20475         * tests/test-getloadavg.c: New file, containing previous
20476         contents of test from lib/getloadavg.c.  It also contains
20477         suggestions by Bruno Haible in
20478         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
20479         * modules/getloadavg-tests: New file.
20480         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
20481         Do tests in the same order as they're needed for getloadavg.c.
20482         Omit setgid-related tests that generate symbols KMEM_GROUP,
20483         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
20484         Do only the tests that are needed to see whether the system has
20485         getloadavg, moving the other tests into ...
20486         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
20487         NLIST_NAME_UNION; nobody should be using it.  Do not define
20488         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
20489         relevant, as the user of this module shouldn't care how getloadavg
20490         is implemented.
20491
20492         getloadavg: omit unused var
20493         * lib/getloadavg.c (getloadavg): Omit unused local variable.
20494
20495 2011-02-15  Jim Meyering  <meyering@redhat.com>
20496
20497         doc: update users.txt
20498         * users.txt: Update iwhd's URL.
20499
20500 2011-02-13  Bruno Haible  <bruno@clisp.org>
20501
20502         Consistent macro naming for macros that use GCC __attribute__.
20503         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
20504         _ATTRIBUTE_NONNULL_.
20505         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
20506         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
20507         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
20508         ATTRIBUTE_DEPRECATED.
20509         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
20510         ATTRIBUTE_NORETURN.
20511         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20512         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20513         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20514         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
20515         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
20516         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
20517         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
20518         ATTRIBUTE_SENTINEL.
20519         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
20520         ATTRIBUTE_RETURN_CHECK.
20521         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
20522         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
20523         ATTRIBUTE_NORETURN.
20524         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
20525         Reported by Paul Eggert.
20526
20527 2011-02-13  Bruno Haible  <bruno@clisp.org>
20528
20529         Don't interfere with a program's definition of __attribute__.
20530         * lib/argp.h (__attribute__): Remove definition.
20531         (_GL_ATTRIBUTE_FORMAT): New macro.
20532         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
20533         * lib/argp-fmtstream.h (__attribute__): Remove definition.
20534         (_GL_ATTRIBUTE_FORMAT): New macro.
20535         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
20536         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
20537         GCC 3 or newer.
20538         * lib/error.h (__attribute__): Remove definition.
20539         (_GL_ATTRIBUTE_FORMAT): New macro.
20540         (error, error_at_line): Use it.
20541         * lib/hash.h (__attribute__): Remove definition.
20542         (ATTRIBUTE_WUR): Update definition. Define always.
20543         * lib/openat.h (__attribute__): Remove definition.
20544         (ATTRIBUTE_NORETURN): Update definition. Define always.
20545         * lib/sigpipe-die.h (__attribute__): Remove definition.
20546         (ATTRIBUTE_NORETURN): Update definition. Define always.
20547         * lib/vasnprintf.h (__attribute__): Remove definition.
20548         (_GL_ATTRIBUTE_FORMAT): New macro.
20549         (asnprintf, vasnprintf): Use it.
20550         * lib/xalloc.h (__attribute__): Remove definition.
20551         (ATTRIBUTE_NORETURN): Update definition. Define always.
20552         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
20553         * lib/xmemdup0.h (__attribute__): Remove definition.
20554         (ATTRIBUTE_NORETURN): Update definition. Define always.
20555         * lib/xprintf.h (__attribute__): Remove definition.
20556         (_GL_ATTRIBUTE_FORMAT): New macro.
20557         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
20558         * lib/xstrtol.h (__attribute__): Remove definition.
20559         (ATTRIBUTE_NORETURN): Update definition. Define always.
20560         * lib/xvasprintf.h (__attribute__): Remove definition.
20561         (_GL_ATTRIBUTE_FORMAT): New macro.
20562         (xasprintf, xvasprintf): Use it.
20563         * tests/test-argmatch.c (__attribute__): Remove definition.
20564         (ATTRIBUTE_NORETURN): Update definition. Define always.
20565         * tests/test-exclude.c (__attribute__): Remove definition.
20566         (ATTRIBUTE_NORETURN): Update definition. Define always.
20567         Reported by Paul Eggert.
20568
20569 2011-02-13  Bruno Haible  <bruno@clisp.org>
20570
20571         mbrtowc: Add more tests for native Windows platforms.
20572         * tests/test-mbrtowc-w32-1.sh: New file.
20573         * tests/test-mbrtowc-w32-2.sh: New file.
20574         * tests/test-mbrtowc-w32-3.sh: New file.
20575         * tests/test-mbrtowc-w32-4.sh: New file.
20576         * tests/test-mbrtowc-w32-5.sh: New file.
20577         * tests/test-mbrtowc-w32.c: New file.
20578         * modules/mbrtowc-tests (Files): Add them.
20579         (Makefile.am): Arrange to run these tests.
20580         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
20581         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
20582
20583 2011-02-13  Bruno Haible  <bruno@clisp.org>
20584
20585         mbrtowc: Work around native Windows bug.
20586         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
20587         guess when no suitable locale for testing was found.
20588         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
20589
20590 2011-02-13  Bruno Haible  <bruno@clisp.org>
20591
20592         mbsinit: Work around mingw bug.
20593         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
20594         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
20595         Windows.
20596         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
20597
20598 2011-02-13  Bruno Haible  <bruno@clisp.org>
20599
20600         mbsinit: Don't crash for a NULL argument.
20601         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
20602         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
20603
20604 2011-02-13  Bruno Haible  <bruno@clisp.org>
20605
20606         Don't interfere with a program's definition of __attribute__.
20607         * lib/stdio.in.h (__attribute__): Remove definition.
20608         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
20609         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
20610         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
20611         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
20612         * lib/string.in.h (__attribute__): Remove definition.
20613         Reported by Paul Eggert.
20614
20615 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20616
20617         stdlib: don't get in the way of non-GCC __attribute__
20618         See thread starting at
20619         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
20620         Revert previous stdlib change, installing the following instead:
20621         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
20622         to get in the way of a non-GCC compiler that supports __attribute__.
20623         (_GL_ATTRIBUTE_RETURN): New macro.
20624         (_Exit): Use it instead of __attribute__.
20625
20626 2011-02-12  Bruno Haible  <bruno@clisp.org>
20627
20628         quotearg test: Avoid test failure on mingw.
20629         * tests/test-quotearg.sh: Convert the locale identifier from native
20630         Windows syntax to Unix syntax.
20631
20632 2011-02-12  Bruno Haible  <bruno@clisp.org>
20633
20634         setlocale: Prefer gnulib's override over libintl's override.
20635         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
20636         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
20637         GNULIB_defined_setlocale is set.
20638
20639 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
20640
20641         stdlib: support non-GCC __attribute__
20642
20643         Fix a serious and tricky problem encountered when attempting to
20644         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
20645         5.5, but it crashed due to memory corruption on Solaris 10 with
20646         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
20647         bits that are otherwise zero.  This tagging is optional inside
20648         Emacs but is preferred and is used when __attribute__ ((__aligned
20649         (8))) works, as it does with both recent-enough GCC and with Sun C
20650         5.11.  However, Sun C 5.11 is not GCC and does not #define
20651         __GNUC__ and __GNUC_MINOR__.
20652
20653         When I added the getloadavg module to Emacs, it brought in
20654         stdlib.in.h, which contained this fragment:
20655
20656            #ifndef __attribute__
20657            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
20658            #  define __attribute__(Spec)   /* empty */
20659            # endif
20660            #endif
20661
20662         When files that include <stdlib.h> were compiled with Sun C 5.11,
20663         the above code disabled __attribute__ ((__aligned (8))), which
20664         caused variables to not be properly aligned, which eventually led
20665         to the pointer corruption mentioned above.  (This was a bit hard
20666         to diagnose, unfortunately.)
20667
20668         Several "#define __attribute__(X) /* empty */" code snippets need
20669         to be eradicated from Gnulib to work with non-GCC compilers that
20670         support __attribute__.  The Autoconf way to do this is to test for
20671         each kind of attribute that we want support for, and selectively
20672         enable that in source code.
20673
20674         Fix this problem just for stdlib.h, by adding a test for the
20675         __noreturn__ attribute, and change stdlib.in.h to use that test
20676         when needed.  This technique can be easily generalized to the
20677         other *.in.h files and attributes, and a similar technique can be
20678         used for *.h and *.c files.  This patch is enough to solve the
20679         problem for Emacs + getloadavg, and I thought I'd publish it for
20680         feedback before undertaking further, similar fixes in other
20681         modules.
20682
20683         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
20684         because it's not needed for stdlib.h.  It merely substitutes the
20685         value directly into stdlib.h.  We may well need to #define it, or
20686         similar symbols, for other modules, but it's nice to also have an
20687         option to not #define it for applications like Emacs that do not
20688         need it.
20689
20690         * lib/stdlib.in.h (__attribute__): Do not #define.
20691         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
20692         be defined only if the _Exit module is also used.
20693         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
20694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
20695         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
20696         platforms.
20697         * modules/_Exit (Files): Add m4/attribute.m4.
20698         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
20699         * m4/attribute.m4: New file.
20700
20701 2011-02-12  Bruno Haible  <bruno@clisp.org>
20702
20703         wcsrtombs: Work around bug on native Windows.
20704         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
20705         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
20706         instead of len.
20707         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
20708
20709 2011-02-12  Bruno Haible  <bruno@clisp.org>
20710
20711         mbsrtowcs: Work around bug on native Windows.
20712         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
20713         against mingw bug.
20714         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
20715
20716 2011-02-12  Bruno Haible  <bruno@clisp.org>
20717
20718         Avoid setlocale bugs in tests.
20719         * modules/btowc (Dependencies): Add setlocale.
20720         * modules/c-strcase (Dependencies): Likewise.
20721         * modules/mbmemcasecmp (Dependencies): Likewise.
20722         * modules/mbmemcasecoll (Dependencies): Likewise.
20723         * modules/mbrtowc (Dependencies): Likewise.
20724         * modules/mbscasecmp (Dependencies): Likewise.
20725         * modules/mbscasestr (Dependencies): Likewise.
20726         * modules/mbschr (Dependencies): Likewise.
20727         * modules/mbscspn (Dependencies): Likewise.
20728         * modules/mbsinit (Dependencies): Likewise.
20729         * modules/mbsncasecmp (Dependencies): Likewise.
20730         * modules/mbsnrtowcs (Dependencies): Likewise.
20731         * modules/mbspbrk (Dependencies): Likewise.
20732         * modules/mbspcasecmp (Dependencies): Likewise.
20733         * modules/mbsrchr (Dependencies): Likewise.
20734         * modules/mbsrtowcs (Dependencies): Likewise.
20735         * modules/mbsspn (Dependencies): Likewise.
20736         * modules/mbsstr (Dependencies): Likewise.
20737         * modules/nl_langinfo (Dependencies): Likewise.
20738         * modules/quotearg (Dependencies): Likewise.
20739         * modules/unicase/locale-language (Dependencies): Likewise.
20740         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
20741         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
20742         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
20743         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
20744         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
20745         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
20746         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
20747         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
20748         * modules/vasnprintf-posix (Dependencies): Likewise.
20749         * modules/wcrtomb (Dependencies): Likewise.
20750         * modules/wcsnrtombs (Dependencies): Likewise.
20751         * modules/wcsrtombs (Dependencies): Likewise.
20752
20753 2011-02-12  Bruno Haible  <bruno@clisp.org>
20754
20755         setlocale: Workaround native Windows bug.
20756         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
20757         succeeds but sets LC_CTYPE to "C", report a failure.
20758         * tests/test-setlocale2.sh: New file.
20759         * tests/test-setlocale2.c: New file.
20760         * modules/setlocale-tests (Files): Add the new files.
20761         (Makefile.am): Enable test-setlocale2.sh test.
20762         * doc/posix-functions/setlocale.texi: Mention workaround.
20763
20764 2011-02-11  Bruno Haible  <bruno@clisp.org>
20765
20766         Tests for module 'setlocale'.
20767         * modules/setlocale-tests: New file.
20768         * tests/test-setlocale1.sh: New file.
20769         * tests/test-setlocale1.c: New file.
20770
20771         New module 'setlocale'.
20772         * lib/locale.in.h (setlocale): New declaration.
20773         * lib/setlocale.c: New file, based on
20774         gettext/gettext-runtime/intl/setlocale.c.
20775         * m4/setlocale.m4: New file.
20776         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
20777         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
20778         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
20779         REPLACE_SETLOCALE.
20780         * modules/setlocale: New file.
20781         * tests/test-locale-c++.cc: Test the declaration of setlocale.
20782         * doc/posix-functions/setlocale.texi: Mention the new module.
20783
20784 2011-02-11  Bruno Haible  <bruno@clisp.org>
20785
20786         Prepare for locale dependent tests on mingw.
20787         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
20788         because it has the wrong locale encoding.
20789         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
20790         French_France.1252 instead of "fr".
20791         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
20792         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
20793         because it has the wrong locale encoding.
20794         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
20795         native Windows, try Turkish_Turkey.65001.
20796         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
20797         Chinese_China.54936.
20798
20799         Prepare for locale dependent tests on mingw.
20800         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
20801         differently.
20802         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
20803         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
20804         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20805         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20806
20807 2011-02-11  Eric Blake  <eblake@redhat.com>
20808
20809         strptime: avoid compiler warnings
20810         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
20811         compiler warnings about dead code.
20812         Reported by Daniel P. Berrange.
20813
20814 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
20815
20816         doc: update users.txt
20817         * users.txt: Add rcs.
20818
20819 2011-02-10  John W. Eaton  <jwe@gnu.org>
20820
20821         doc: update users.txt
20822         * users.txt: Add octave.
20823
20824 2011-02-10  Jim Meyering  <meyering@redhat.com>
20825
20826         doc: update users.txt
20827         * users.txt: Add iwhd.
20828
20829 2011-02-09  Bruno Haible  <bruno@clisp.org>
20830
20831         gnulib-tool: Make copyright notice adjustment more robust.
20832         * gnulib-tool (func_import): In sed_transform_main_lib_file,
20833         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
20834         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
20835         License".
20836         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
20837
20838 2011-02-06  Bruno Haible  <bruno@clisp.org>
20839
20840         New module 'towctrans'.
20841         * modules/towctrans: New file.
20842         * lib/wctype.in.h (towctrans): New declaration.
20843         * lib/towctrans.c: New file.
20844         * lib/towctrans-impl.h: New file.
20845         * m4/towctrans.m4: New file.
20846         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
20847         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
20848         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
20849         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
20850         * doc/posix-functions/towctrans.texi: Mention the new module.
20851
20852 2011-02-06  Bruno Haible  <bruno@clisp.org>
20853
20854         New module 'wctrans'.
20855         * modules/wctrans: New file.
20856         * lib/wctype.in.h (wctrans): New declaration.
20857         * lib/wctrans.c: New file.
20858         * lib/wctrans-impl.h: New file.
20859         * m4/wctrans.m4: New file.
20860         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
20861         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
20862         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
20863         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
20864         * doc/posix-functions/wctrans.texi: Mention the new module.
20865
20866 2011-02-06  Bruno Haible  <bruno@clisp.org>
20867
20868         New module 'iswctype'.
20869         * modules/iswctype: New file.
20870         * lib/wctype.in.h (iswctype): New declaration.
20871         * lib/iswctype.c: New file.
20872         * lib/iswctype-impl.h: New file.
20873         * m4/iswctype.m4: New file.
20874         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
20875         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
20876         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
20877         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
20878         * doc/posix-functions/iswctype.texi: Mention the new module and the
20879         HP-UX 11.00 problem.
20880
20881 2011-02-06  Bruno Haible  <bruno@clisp.org>
20882
20883         New module 'wctype'.
20884         * modules/wctype: Change to represent the wctype() substitute.
20885         * lib/wctype.in.h (wctype): New declaration.
20886         * lib/wctype.c: New file.
20887         * lib/wctype-impl.h: New file.
20888         * m4/wctype.m4: New file.
20889         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
20890         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
20891         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
20892         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
20893         * doc/posix-functions/wctype.texi: Mention the new module and the
20894         HP-UX 11.00 problem.
20895
20896 2011-02-06  Bruno Haible  <bruno@clisp.org>
20897
20898         wctype-h: Ensure wctype_t and wctrans_t are defined.
20899         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
20900         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20901         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
20902         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
20903         HAVE_WCTRANS_T.
20904         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
20905
20906 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
20907
20908         flock: fix license typo
20909
20910         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
20911         omitted.
20912
20913 2011-02-08  Bruno Haible  <bruno@clisp.org>
20914
20915         Split large sed scripts, for HP-UX sed.
20916         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
20917         to avoid HP-UX limit of 99 commands, in the near future.
20918         * modules/stdlib (Makefile.am): Likewise.
20919         * modules/unistd (Makefile.am): Likewise.
20920         * modules/wchar (Makefile.am): Likewise.
20921         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20922         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
20923         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
20924
20925 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20926             Bruno Haible  <bruno@clisp.org>
20927
20928         stdlib: improve random_r modularization
20929         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
20930         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
20931         you also need the random_r module to get this material right.
20932         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
20933         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
20934         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
20935
20936 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
20937
20938         stdlib: don't depend on stdint
20939         * lib/stdlib.in.h: Don't include <stdint.h> merely because
20940         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
20941         be independent of whether stdint.h is needed.
20942         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
20943         here, instead of ...
20944         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
20945         struct random_data should be using the random_r module, not just
20946         the stdlib module (which wouldn't make sense: what package needs
20947         just struct random_data without also needing random_r?).
20948         * modules/stdlib (Depends-on): Remove stdint.
20949
20950         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
20951         See the thread rooted at
20952         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
20953         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
20954         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
20955         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
20956         __VMS)); previously it was always included (via fcntl--.h).
20957         (getloadavg): Do not use c_strtod.  Instead, approximate it by
20958         hand; this is good enough for load averages.  Also, do not use
20959         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
20960         flags directly if available and don't bother otherwise.  (Packages
20961         that need the extra reliability should use the modules that define
20962         these flags on older platforms that lack them.)
20963         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
20964         fcntl-safer.
20965
20966 2011-02-08  Jim Meyering  <meyering@redhat.com>
20967
20968         di-set.h, ino-map.h: add multiple-inclusion guard
20969         Technically, the guard is required only for ino-map.h, due to its
20970         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
20971         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
20972         * lib/ino-map.h: Likewise.
20973
20974 2011-02-06  Bruno Haible  <bruno@clisp.org>
20975
20976         iswblank: Ensure declaration on glibc systems.
20977         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
20978         * modules/iswblank (Dependencies): Add 'extensions'.
20979         * doc/posix-functions/iswblank.texi: Document the glibc problem.
20980
20981 2011-02-06  Bruno Haible  <bruno@clisp.org>
20982
20983         New module 'iswblank'.
20984         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
20985         * modules/iswblank: New file.
20986         * modules/wctype-h (Files): Remove lib/iswblank.c.
20987         (Makefile.am): Substitute GNULIB_ISWBLANK.
20988         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
20989         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
20990         (gl_WCTYPE_H_DEFAULTS): New macro.
20991         (gl_WCTYPE_H): Require it. Remove iswblank related code.
20992         * modules/iswblank-tests: New file.
20993         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
20994         * tests/test-wctype-h.c (main): Remove iswblank tests.
20995         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
20996         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
20997         of 'wctype-h'.
20998         * NEWS: Mention the change.
20999         * modules/mbchar (Depends-on): Add iswblank.
21000
21001 2011-02-08  Bruno Haible  <bruno@clisp.org>
21002
21003         di-set tests: Refactor.
21004         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21005         unnecessary includes.
21006         (ASSERT): Remove macro.
21007         (main): Make C90 compliant by avoiding variable declaration after
21008         statement.
21009         * modules/di-set-tests (Files): Add tests/macros.h.
21010
21011 2011-02-08  Bruno Haible  <bruno@clisp.org>
21012
21013         ino-map tests: Refactor.
21014         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21015         unnecessary includes.
21016         (ASSERT): Remove macro.
21017         (main): Make C90 compliant by avoiding variable declaration after
21018         statement.
21019         * modules/ino-map-tests (Files): Add tests/macros.h.
21020
21021 2011-02-08  Jim Meyering  <meyering@redhat.com>
21022
21023         di-set: add "const" to a cast
21024         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21025         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21026
21027 2011-02-06  Bruno Haible  <bruno@clisp.org>
21028
21029         Rename module 'wctype' to 'wctype-h'.
21030         * modules/wctype-h: Renamed from modules/wctype.
21031         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21032         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21033         (Files, Depends-on, Makefile.am): Update.
21034         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21035         (Files, Makefile.am): Update.
21036         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21037         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21038         * doc/posix-headers/wctype.texi: Update.
21039         * doc/posix-functions/iswalnum.texi: Update.
21040         * doc/posix-functions/iswalpha.texi: Update.
21041         * doc/posix-functions/iswblank.texi: Update.
21042         * doc/posix-functions/iswcntrl.texi: Update.
21043         * doc/posix-functions/iswdigit.texi: Update.
21044         * doc/posix-functions/iswgraph.texi: Update.
21045         * doc/posix-functions/iswlower.texi: Update.
21046         * doc/posix-functions/iswprint.texi: Update.
21047         * doc/posix-functions/iswpunct.texi: Update.
21048         * doc/posix-functions/iswspace.texi: Update.
21049         * doc/posix-functions/iswupper.texi: Update.
21050         * doc/posix-functions/iswxdigit.texi: Update.
21051         * doc/posix-functions/towlower.texi: Update.
21052         * doc/posix-functions/towupper.texi: Update.
21053         * NEWS: Mention the change.
21054         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21055         * modules/mbchar (Dependencies): Likewise.
21056         * modules/mbswidth (Dependencies): Likewise.
21057         * modules/quotearg (Dependencies): Likewise.
21058         * modules/regex (Dependencies): Likewise.
21059         * modules/wcscasecmp (Dependencies): Likewise.
21060         * modules/wcsncasecmp (Dependencies): Likewise.
21061         * modules/wcwidth (Dependencies): Likewise.
21062
21063 2011-02-06  Bruno Haible  <bruno@clisp.org>
21064
21065         New module 'wcswidth'.
21066         * modules/wcswidth: New file.
21067         * lib/wchar.in.h (wcswidth): New declaration.
21068         * lib/wcswidth.c: New file.
21069         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21070         * m4/wcswidth.m4: New file.
21071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21073         REPLACE_WCSWIDTH.
21074         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21075         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21076         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21077         * doc/posix-functions/wcswidth.texi: Mention the new module.
21078
21079 2011-02-06  Bruno Haible  <bruno@clisp.org>
21080
21081         New module 'wcstok'.
21082         * modules/wcstok: New file.
21083         * lib/wchar.in.h (wcstok): New declaration.
21084         * lib/wcstok.c: New file.
21085         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21086         * m4/wcstok.m4: New file.
21087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21089         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21090         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21091         * doc/posix-functions/wcstok.texi: Mention the new module.
21092
21093 2011-02-06  Bruno Haible  <bruno@clisp.org>
21094
21095         New module 'wcsstr'.
21096         * modules/wcsstr: New file.
21097         * lib/wchar.in.h (wcsstr): New declaration.
21098         * lib/wcsstr.c: New file.
21099         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21100         * m4/wcsstr.m4: New file.
21101         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21102         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21103         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21104         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21105         * doc/posix-functions/wcsstr.texi: Mention the new module.
21106
21107 2011-02-06  Bruno Haible  <bruno@clisp.org>
21108
21109         New module 'wcspbrk'.
21110         * modules/wcspbrk: New file.
21111         * lib/wchar.in.h (wcspbrk): New declaration.
21112         * lib/wcspbrk.c: New file.
21113         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21114         * m4/wcspbrk.m4: New file.
21115         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21116         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21117         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21118         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21119         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21120
21121 2011-02-06  Bruno Haible  <bruno@clisp.org>
21122
21123         New module 'wcsspn'.
21124         * modules/wcsspn: New file.
21125         * lib/wchar.in.h (wcsspn): New declaration.
21126         * lib/wcsspn.c: New file.
21127         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21128         * m4/wcsspn.m4: New file.
21129         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21130         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21131         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21132         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21133         * doc/posix-functions/wcsspn.texi: Mention the new module.
21134
21135 2011-02-06  Bruno Haible  <bruno@clisp.org>
21136
21137         New module 'wcscspn'.
21138         * modules/wcscspn: New file.
21139         * lib/wchar.in.h (wcscspn): New declaration.
21140         * lib/wcscspn.c: New file.
21141         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21142         * m4/wcscspn.m4: New file.
21143         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21144         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21145         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21146         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21147         * doc/posix-functions/wcscspn.texi: Mention the new module.
21148
21149 2011-02-06  Bruno Haible  <bruno@clisp.org>
21150
21151         New module 'wcsrchr'.
21152         * modules/wcsrchr: New file.
21153         * lib/wchar.in.h (wcsrchr): New declaration.
21154         * lib/wcsrchr.c: New file.
21155         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21156         * m4/wcsrchr.m4: New file.
21157         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21158         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21159         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21160         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21161         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21162
21163 2011-02-06  Bruno Haible  <bruno@clisp.org>
21164
21165         New module 'wcschr'.
21166         * modules/wcschr: New file.
21167         * lib/wchar.in.h (wcschr): New declaration.
21168         * lib/wcschr.c: New file.
21169         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21170         * m4/wcschr.m4: New file.
21171         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
21172         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
21173         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
21174         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
21175         * doc/posix-functions/wcschr.texi: Mention the new module.
21176
21177 2011-02-06  Bruno Haible  <bruno@clisp.org>
21178
21179         New module 'wcsdup'.
21180         * modules/wcsdup: New file.
21181         * lib/wchar.in.h (wcsdup): New declaration.
21182         * lib/wcsdup.c: New file.
21183         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
21184         * m4/wcsdup.m4: New file.
21185         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
21186         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
21187         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
21188         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
21189         * doc/posix-functions/wcsdup.texi: Mention the new module.
21190
21191 2011-02-06  Bruno Haible  <bruno@clisp.org>
21192
21193         New module 'wcsxfrm'.
21194         * modules/wcsxfrm: New file.
21195         * lib/wchar.in.h (wcsxfrm): New declaration.
21196         * lib/wcsxfrm.c: New file.
21197         * lib/wcsxfrm-impl.h: New file.
21198         * m4/wcsxfrm.m4: New file.
21199         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
21200         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
21201         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
21202         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
21203         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
21204
21205 2011-02-06  Bruno Haible  <bruno@clisp.org>
21206
21207         New module 'wcscoll'.
21208         * modules/wcscoll: New file.
21209         * lib/wchar.in.h (wcscoll): New declaration.
21210         * lib/wcscoll.c: New file.
21211         * lib/wcscoll-impl.h: New file.
21212         * m4/wcscoll.m4: New file.
21213         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
21214         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
21215         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
21216         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
21217         * doc/posix-functions/wcscoll.texi: Mention the new module.
21218
21219 2011-02-06  Bruno Haible  <bruno@clisp.org>
21220
21221         New module 'wcsncasecmp'.
21222         * modules/wcsncasecmp: New file.
21223         * lib/wchar.in.h (wcsncasecmp): New declaration.
21224         * lib/wcsncasecmp.c: New file.
21225         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
21226         * m4/wcsncasecmp.m4: New file.
21227         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
21228         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
21229         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
21230         HAVE_WCSNCASECMP.
21231         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
21232         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
21233
21234 2011-02-06  Bruno Haible  <bruno@clisp.org>
21235
21236         New module 'wcscasecmp'.
21237         * modules/wcscasecmp: New file.
21238         * lib/wchar.in.h (wcscasecmp): New declaration.
21239         * lib/wcscasecmp.c: New file.
21240         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
21241         * m4/wcscasecmp.m4: New file.
21242         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
21243         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
21244         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
21245         HAVE_WCSCASECMP.
21246         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
21247         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
21248
21249 2011-02-05  Bruno Haible  <bruno@clisp.org>
21250
21251         New module 'wcsncmp'.
21252         * modules/wcsncmp: New file.
21253         * lib/wchar.in.h (wcsncmp): New declaration.
21254         * lib/wcsncmp.c: New file.
21255         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
21256         * m4/wcsncmp.m4: New file.
21257         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
21258         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
21259         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
21260         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
21261         * doc/posix-functions/wcsncmp.texi: Mention the new module.
21262
21263 2011-02-05  Bruno Haible  <bruno@clisp.org>
21264
21265         New module 'wcscmp'.
21266         * modules/wcscmp: New file.
21267         * lib/wchar.in.h (wcscmp): New declaration.
21268         * lib/wcscmp.c: New file.
21269         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
21270         * m4/wcscmp.m4: New file.
21271         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
21272         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
21273         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
21274         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
21275         * doc/posix-functions/wcscmp.texi: Mention the new module.
21276
21277 2011-02-05  Bruno Haible  <bruno@clisp.org>
21278
21279         New module 'wcsncat'.
21280         * modules/wcsncat: New file.
21281         * lib/wchar.in.h (wcsncat): New declaration.
21282         * lib/wcsncat.c: New file.
21283         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
21284         * m4/wcsncat.m4: New file.
21285         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
21286         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
21287         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
21288         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
21289         * doc/posix-functions/wcsncat.texi: Mention the new module.
21290
21291 2011-02-05  Bruno Haible  <bruno@clisp.org>
21292
21293         New module 'wcscat'.
21294         * modules/wcscat: New file.
21295         * lib/wchar.in.h (wcscat): New declaration.
21296         * lib/wcscat.c: New file.
21297         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
21298         * m4/wcscat.m4: New file.
21299         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
21300         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
21301         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
21302         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
21303         * doc/posix-functions/wcscat.texi: Mention the new module.
21304
21305 2011-02-05  Bruno Haible  <bruno@clisp.org>
21306
21307         New module 'wcpncpy'.
21308         * modules/wcpncpy: New file.
21309         * lib/wchar.in.h (wcpncpy): New declaration.
21310         * lib/wcpncpy.c: New file.
21311         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
21312         * m4/wcpncpy.m4: New file.
21313         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
21314         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
21315         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
21316         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
21317         * doc/posix-functions/wcpncpy.texi: Mention the new module.
21318
21319 2011-02-05  Bruno Haible  <bruno@clisp.org>
21320
21321         New module 'wcsncpy'.
21322         * modules/wcsncpy: New file.
21323         * lib/wchar.in.h (wcsncpy): New declaration.
21324         * lib/wcsncpy.c: New file.
21325         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
21326         * m4/wcsncpy.m4: New file.
21327         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
21328         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
21329         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
21330         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
21331         * doc/posix-functions/wcsncpy.texi: Mention the new module.
21332
21333 2011-02-05  Bruno Haible  <bruno@clisp.org>
21334
21335         New module 'wcpcpy'.
21336         * modules/wcpcpy: New file.
21337         * lib/wchar.in.h (wcpcpy): New declaration.
21338         * lib/wcpcpy.c: New file.
21339         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
21340         * m4/wcpcpy.m4: New file.
21341         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
21342         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
21343         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
21344         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
21345         * doc/posix-functions/wcpcpy.texi: Mention the new module.
21346
21347 2011-02-05  Bruno Haible  <bruno@clisp.org>
21348
21349         New module 'wcscpy'.
21350         * modules/wcscpy: New file.
21351         * lib/wchar.in.h (wcscpy): New declaration.
21352         * lib/wcscpy.c: New file.
21353         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
21354         * m4/wcscpy.m4: New file.
21355         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
21356         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
21357         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
21358         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
21359         * doc/posix-functions/wcscpy.texi: Mention the new module.
21360
21361 2011-02-05  Bruno Haible  <bruno@clisp.org>
21362
21363         New module 'wcsnlen'.
21364         * modules/wcsnlen: New file.
21365         * lib/wchar.in.h (wcsnlen): New declaration.
21366         * lib/wcsnlen.c: New file.
21367         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
21368         * m4/wcsnlen.m4: New file.
21369         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
21370         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
21371         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
21372         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
21373         * doc/posix-functions/wcsnlen.texi: Mention the new module.
21374
21375 2011-02-05  Bruno Haible  <bruno@clisp.org>
21376
21377         New module 'wcslen'.
21378         * modules/wcslen: New file.
21379         * lib/wchar.in.h (wcslen): New declaration.
21380         * lib/wcslen.c: New file.
21381         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
21382         * m4/wcslen.m4: New file.
21383         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
21384         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
21385         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
21386         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
21387         * doc/posix-functions/wcslen.texi: Mention the new module.
21388
21389 2011-02-05  Bruno Haible  <bruno@clisp.org>
21390
21391         New module 'wmemset'.
21392         * modules/wmemset: New file.
21393         * lib/wchar.in.h (wmemset): New declaration.
21394         * lib/wmemset.c: New file.
21395         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
21396         * m4/wmemset.m4: New file.
21397         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
21398         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
21399         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
21400         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
21401         * doc/posix-functions/wmemset.texi: Mention the new module.
21402
21403 2011-02-05  Bruno Haible  <bruno@clisp.org>
21404
21405         New module 'wmemmove'.
21406         * modules/wmemmove: New file.
21407         * lib/wchar.in.h (wmemmove): New declaration.
21408         * lib/wmemmove.c: New file.
21409         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
21410         * m4/wmemmove.m4: New file.
21411         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
21412         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
21413         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
21414         HAVE_WMEMMOVE.
21415         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
21416         * doc/posix-functions/wmemmove.texi: Mention the new module.
21417
21418 2011-02-05  Bruno Haible  <bruno@clisp.org>
21419
21420         New module 'wmemcpy'.
21421         * modules/wmemcpy: New file.
21422         * lib/wchar.in.h (wmemcpy): New declaration.
21423         * lib/wmemcpy.c: New file.
21424         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
21425         * m4/wmemcpy.m4: New file.
21426         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
21427         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
21428         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
21429         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
21430         * doc/posix-functions/wmemcpy.texi: Mention the new module.
21431
21432 2011-02-05  Bruno Haible  <bruno@clisp.org>
21433
21434         New module 'wmemcmp'.
21435         * modules/wmemcmp: New file.
21436         * lib/wchar.in.h (wmemcmp): New declaration.
21437         * lib/wmemcmp.c: New file.
21438         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
21439         * m4/wmemcmp.m4: New file.
21440         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
21441         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
21442         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
21443         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
21444         * doc/posix-functions/wmemcmp.texi: Mention the new module.
21445
21446 2011-02-07  Jim Meyering  <meyering@redhat.com>
21447
21448         di-set, ino-map: new modules, from coreutils
21449         * lib/di-set.c: New file.
21450         * lib/di-set.h: Likewise.
21451         * lib/ino-map.c: Likewise.
21452         * lib/ino-map.h: Likewise.
21453         * modules/di-set: Likewise.
21454         * modules/di-set-tests: Likewise.
21455         * modules/ino-map: Likewise.
21456         * modules/ino-map-tests: Likewise.
21457         * tests/test-di-set.c: Likewise.
21458         * tests/test-ino-map.c: Likewise.
21459
21460 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
21461
21462         getloadavg: merge minor changes from Emacs
21463
21464         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
21465         (getloadavg): Use memset, not bzero.
21466
21467         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
21468         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
21469         clash (bug#86).
21470
21471 2010-11-14  Bruno Haible  <bruno@clisp.org>
21472
21473         Allow multiple gnulib generated replacements to coexist.
21474         * lib/getopt.in.h (struct option): Avoid identical redefinition.
21475         * lib/inttypes.in.h (imaxdiv_t): Likewise.
21476         * lib/langinfo.in.h (nl_item): Likewise.
21477         * lib/math.in.h (_NaN, NAN): Likewise.
21478         * lib/netdb.in.h (struct addrinfo): Likewise.
21479         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
21480         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
21481         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
21482         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
21483         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
21484         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
21485         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
21486         pthread_mutexattr_init, pthread_mutexattr_settype,
21487         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
21488         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
21489         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
21490         pthread_spin_trylock, pthread_spin_unlock): Likewise.
21491         * lib/sched.in.h (struct sched_param): Likewise.
21492         * lib/se-selinux.in.h (security_class_t, security_context_t,
21493         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
21494         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
21495         lsetfilecon, fsetfilecon, security_check_context,
21496         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
21497         Likewise.
21498         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
21499         Likewise.
21500         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
21501         _gl_function_taking_int_returning_void_t, union sigval,
21502         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
21503         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
21504         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
21505         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
21506         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
21507         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
21508         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
21509         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
21510         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
21511         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
21512         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
21513         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
21514         socklen_t, rpl_fd_isset): Likewise.
21515         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
21516         * lib/sys_time.in.h (struct timeval): Likewise.
21517         * lib/sys_times.in.h (struct tms): Likewise.
21518         * lib/sys_utsname.in.h (struct utsname):
21519         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
21520         * lib/unistd.in.h (getpagesize): Likewise.
21521         * lib/wchar.in.h (mbstate_t): Likewise.
21522         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
21523         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
21524         towlower, towupper): Likewise.
21525         Reported by Sam Steingold <sds@gnu.org>.
21526
21527 2011-02-05  Eric Blake  <eblake@redhat.com>
21528
21529         unsetenv: work around Haiku issues
21530         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
21531         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
21532
21533 2010-12-30  Bruce Korb  <bkorb@gnu.org>
21534
21535         libposix: avoid calling error() within libposix
21536         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
21537         is defined.
21538
21539 2011-02-05  Eric Blake  <eblake@redhat.com>
21540
21541         strerror_r-posix: port to cygwin
21542         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
21543         implementation.
21544         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
21545         * tests/test-strerror_r.c (main): Fix test.
21546         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
21547         issue.
21548
21549 2011-02-05  Bruno Haible  <bruno@clisp.org>
21550
21551         New module 'wmemchr'.
21552         * modules/wmemchr: New file.
21553         * lib/wchar.in.h (wmemchr): New declaration.
21554         * lib/wmemchr.c: New file.
21555         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
21556         * m4/wmemchr.m4: New file.
21557         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
21558         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
21559         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
21560         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
21561         * doc/posix-functions/wmemchr.texi: Mention the new module.
21562
21563 2011-02-04  Eric Blake  <eblake@redhat.com>
21564
21565         fdopendir: detect FreeBSD bug
21566         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
21567         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
21568
21569 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
21570
21571         stdbool: do not define HAVE_STDBOOL_H
21572         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
21573         AC_HEADER_STDBOOL.  All uses changed.  Do not define
21574         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
21575         imported from the latest Autoconf git.  It was motivated by Emacs,
21576         which uses gnulib but does not need HAVE_STDBOOL_H.
21577
21578 2011-02-04  Bruno Haible  <bruno@clisp.org>
21579
21580         wcsnrtombs: Prepare for new module wwcsnrtombs.
21581         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
21582         * lib/wcsnrtombs.c: Include it.
21583         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
21584
21585         wcsrtombs: Prepare for new module wwcsrtombs.
21586         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
21587         * lib/wcsrtombs.c: Include it.
21588         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
21589
21590         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
21591         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
21592         * lib/mbsnrtowcs.c: Include it.
21593         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
21594
21595         mbsrtowcs: Prepare for new module mbsrtowwcs.
21596         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
21597         * lib/mbsrtowcs.c: Include it.
21598         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
21599
21600 2011-02-04  Bruno Haible  <bruno@clisp.org>
21601
21602         vasnprintf: Reduce use of malloc for small format strings.
21603         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
21604         (arguments): Add room for the first 7 arguments.
21605         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
21606         (char_directives, u8_directives, u16_directives, u32_directives): Add
21607         room for the first 7 directives.
21608         * lib/printf-parse.c: Include <string.h>.
21609         (PRINTF_PARSE): Change memory handling code so that it uses the first
21610         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
21611         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
21612         Reported by Pádraig Brady <P@draigbrady.com>.
21613
21614 2011-01-31  Eric Blake  <eblake@redhat.com>
21615
21616         dup2: work around Haiku bug
21617         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
21618         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
21619         * doc/posix-functions/dup2.texi (dup2): Document the bug.
21620         * tests/test-dup2.c (main): Enhance test.
21621
21622 2011-01-31  Simon Josefsson  <simon@josefsson.org>
21623
21624         doc: off_t is not available in eglibc 2.11.2 stdio.h.
21625         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
21626         declared by eglibc 2.11.2.
21627         * lib/stdio.in.h: Likewise.
21628
21629 2011-01-31  Eric Blake  <eblake@redhat.com>
21630
21631         ignore-value: add missing test dependency
21632         * tests/test-ignore-value.c: Revert previous change; stdio.h
21633         provides off_t.
21634         * modules/ignore-value-tests (Depends-on): Add missing dependency.
21635
21636 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
21637
21638         mktime: clarify long_int width checking
21639         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
21640         the top level, to make it clearer that the assumption about
21641         long_int width is being checked.  See
21642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
21643
21644 2011-01-30  Simon Josefsson  <simon@josefsson.org>
21645
21646         ignore-value: Fix self-test.
21647         * tests/test-ignore-value.c: Include sys/types.h for off_t.
21648
21649 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
21650
21651         TYPE_MAXIMUM: avoid theoretically undefined behavior
21652         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
21653         negative number, which the C Standard says has undefined behavior.
21654         In practice this is not a problem, but might as well do it by the book.
21655         Reported by Rich Felker and Eric Blake; see
21656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
21657         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
21658         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
21659         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21660         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
21661         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21662         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
21663
21664         mktime: #undef mktime before #defining it
21665         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
21666
21667         mktime: systematically normalize tm_isdst comparisons
21668         * lib/mktime.c (isdst_differ): New function.
21669         (__mktime_internal): Use it systematically for all isdst comparisons.
21670         This completes the fix for libc BZ #6723, and removes the need for
21671         normalizing tm_isdst.  See
21672         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
21673         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
21674
21675         mktime: fix some integer overflow issues and sidestep the rest
21676
21677         This was prompted by a bug report by Benjamin Lindner for MinGW
21678         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
21679         His bug is due to signed integer overflow (0 - INT_MIN), and I
21680         I scanned through mktime.c looking for other integer overflow
21681         problems, fixing all the bugs I found.
21682
21683         Although the C Standard says the resulting code is still not safe
21684         in the presence of integer overflow, in practice it should be good
21685         enough for all real-world two's-complement implementations, except
21686         for debugging environments that deliberately trap on integer
21687         overflow (e.g., gcc -ftrapv).
21688
21689         * lib/mktime.c (WRAPV): New macro.
21690         (SHR): Also check that long_int and time_t shift right in the
21691         usual way, before using the fast-but-unportable method.
21692         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
21693         used.  The code already assumed two's complement, so there's
21694         no need to test for alternatives.  All uses removed.
21695         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
21696         the C standard.  Problem reported by Rich Felker in
21697         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
21698         (twos_complement_arithmetic): Also check long_int and time_t.
21699         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
21700         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
21701         (__mktime_internal): Avoid integer overflow with unary subtraction
21702         in two instances where -1 - X is an adequate replacement for -X,
21703         since the calculations are approximate.
21704
21705 2011-01-29  Eric Blake  <eblake@redhat.com>
21706
21707         mktime: avoid infinite loop
21708         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
21709         type; behavior is still undefined but portable to all known targets.
21710         Reported by Rich Felker.
21711
21712 2011-01-29  Simon Josefsson  <simon@josefsson.org>
21713
21714         rename, unlink, same-inode: Relicense.
21715         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
21716         * modules/unlink (License): Likewise.
21717         * modules/same-inode (License): Likewise.
21718
21719 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21720
21721         mktime: avoid problems on NetBSD 5 / i386
21722         * lib/mktime.c (long_int): New type.  This works around a problem
21723         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
21724         but time_t is 64 bits, and where I expect the existing code is
21725         wrong in some cases.
21726         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
21727         (ydhms_diff): Bring back the compile-time check for wide-enough
21728         year and yday.
21729
21730         mktime: fix misspelling in comment
21731         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
21732         This merges all recent glibc changes of importance.
21733
21734 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21735
21736         move-if-change: cope with concurrent mv of identical file.
21737         * build-aux/move-if-change (CMPPROG): Accept environment
21738         variable as an override for `cmp'.
21739         (usage): Document CMPPROG.
21740         Adjust comparison to drop stdout.  Cope with failure of mv if
21741         the target file exists and is identical to the source, for
21742         parallel builds.
21743         Report from H.J. Lu against binutils in PR binutils/12283.
21744
21745 2011-01-28  Bruce Korb  <bkorb@gnu.org>
21746
21747         * users.txt: Mention sharutils.
21748
21749 2011-01-28  Simon Josefsson  <simon@josefsson.org>
21750
21751         * users.txt: Mention OATH Toolkit.
21752
21753 2011-01-27  Bruno Haible  <bruno@clisp.org>
21754
21755         Prepare for supporting FreeBSD 10.
21756         * build-aux/config.libpath: Remove handling of freebsd1*.
21757
21758 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
21759
21760         Prepare for supporting FreeBSD 10.
21761         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
21762         match FreeBSD 10.0.
21763
21764 2011-01-27  Bruno Haible  <bruno@clisp.org>
21765
21766         vma-iter, get-rusage-as: Add OpenBSD support.
21767         * modules/vma-iter (configure.ac): Test for mquery.
21768         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
21769         * lib/vma-iter.c: Include <sys/mman.h>.
21770         (vma_iterate): Add an implementation based on mquery().
21771         * lib/resource-ext.h (get_rusage_as): Update comments.
21772         * lib/get-rusage-as.c: Likewise.
21773         * lib/get-rusage-data.c: Likewise.
21774
21775 2011-01-26  Karl Berry  <karl@gnu.org>
21776
21777         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
21778         variables to make it easier to override the makeinfo program used.
21779
21780 2011-01-26  Eric Blake  <eblake@redhat.com>
21781
21782         fcntl: work around Haiku F_DUPFD bugs
21783         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
21784         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
21785         cloexec bit on duplication.
21786         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
21787
21788 2011-01-26  Bruno Haible  <bruno@clisp.org>
21789
21790         Enable memory leak tests on AIX.
21791         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
21792         * tests/test-fprintf-posix3.c (main): Likewise.
21793
21794 2011-01-26  Bruno Haible  <bruno@clisp.org>
21795
21796         Tests for module 'get-rusage-data'.
21797         * modules/get-rusage-data-tests: New file.
21798         * tests/test-get-rusage-data.c: New file.
21799
21800         New module 'get-rusage-data'.
21801         * lib/resource-ext.h (get_rusage_data): New declaration.
21802         * lib/get-rusage-data.c: New file.
21803         * modules/get-rusage-data: New file.
21804
21805 2011-01-25  Bruno Haible  <bruno@clisp.org>
21806
21807         get-rusage-as: Allow for easier testing.
21808         * lib/resource-ext.h (get_rusage_as): Add comment.
21809         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
21810         (main): New function for interactive testing.
21811
21812 2011-01-25  Bruno Haible  <bruno@clisp.org>
21813
21814         vma-iter: Treat Haiku like BeOS.
21815         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
21816         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
21817
21818 2011-01-25  Eric Blake  <eblake@redhat.com>
21819
21820         c-stack: fix regression on cygwin when libsigsegv is present
21821         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
21822
21823 2011-01-24  Bruno Haible  <bruno@clisp.org>
21824
21825         vma-iter: Avoid empty intervals.
21826         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
21827         on an empty interval.
21828
21829 2011-01-24  Jim Meyering  <meyering@redhat.com>
21830
21831         u64: remove unnecessary #include
21832         * lib/u64.h: Don't include <stddef.h>.  It was not used.
21833
21834 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21835
21836         Allow the user to avoid the HAVE_RAW_DECL_* macros.
21837         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
21838
21839 2011-01-23  Bruno Haible  <bruno@clisp.org>
21840
21841         New module 'vma-iter'.
21842         * lib/vma-iter.h: New file.
21843         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
21844         * modules/vma-iter: New file.
21845         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
21846         for get_rusage_as_via_iterator.
21847         (vma_iterate_callback): New function.
21848         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
21849         * modules/get-rusage-as (Depends-on): Add vma-iter.
21850
21851 2011-01-23  Bruno Haible  <bruno@clisp.org>
21852
21853         uninorm: Tweak includes.
21854         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
21855         Reported by Jim Meyering.
21856
21857 2011-01-23  Bruno Haible  <bruno@clisp.org>
21858
21859         get-rusage-as: Improve on NetBSD.
21860         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
21861         /proc, like on FreeBSD.
21862
21863 2011-01-23  Jim Meyering  <meyering@redhat.com>
21864
21865         xreadlink.h: remove unnecessary #include
21866         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
21867
21868         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
21869         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
21870
21871 2011-01-23  Bruno Haible  <bruno@clisp.org>
21872
21873         get-rusage-as: Fix bug.
21874         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
21875         original limit when aborting the first loop.
21876
21877 2011-01-23  Bruno Haible  <bruno@clisp.org>
21878
21879         wctype: Ensure valid C syntax.
21880         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
21881         unconditionally, instead of gl_NEXT_HEADERS conditionally.
21882
21883 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21884
21885         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
21886         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
21887         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
21888         as they are needed only for configure's test case.
21889         This removes two unnecessary symbols from config.h.
21890
21891         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
21892         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
21893         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
21894         AC_CHECK_HEADERS_ONCE on a header that we also invoke
21895         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
21896         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
21897         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
21898         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
21899         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21900         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21901         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
21902         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21903         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21904         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21905         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
21906         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21907         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
21908         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21909
21910 2011-01-21  Eric Blake  <eblake@redhat.com>
21911
21912         maintainer-makefile: work with older git for submodule check
21913         * top/maint.mk (public-submodule-commit): Rewrite to avoid
21914         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
21915         Reported by Matthias Bolte.
21916
21917         bootstrap: minor portability fixes
21918         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
21919         (usage): Omit leading capital and trailing . on help phrases, per
21920         GNU Coding Standards.
21921         (check_versions, top level): Prefix messages with script name.
21922
21923 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
21924
21925         bootstrap: support --no-git option
21926         * build-aux/bootstrap: Add --no-git option, to be used when
21927         --gnulib-srcdir points to the exact desired checkout.
21928
21929 2011-01-21  Eric Blake  <eblake@redhat.com>
21930
21931         strerror_r-posix: work with glibc 2.13
21932         * lib/strerror_r.c (strerror_r): Fix return type.
21933
21934 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21935             Bruno Haible  <bruno@clisp.org>
21936
21937         uN_strstr: New unit tests.
21938         * modules/unistr/u8-strstr-tests: New file.
21939         * modules/unistr/u16-strstr-tests: New file.
21940         * modules/unistr/u32-strstr-tests: New file.
21941         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
21942         * tests/unistr/test-u8-strstr.c: New file.
21943         * tests/unistr/test-u16-strstr.c: New file.
21944         * tests/unistr/test-u32-strstr.c: New file.
21945
21946 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21947             Bruno Haible  <bruno@clisp.org>
21948
21949         Make uN_strstr functions O(n) worst-case.
21950         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
21951         16-bit and 32-bit unit cases, use the unibyte algorithm from
21952         lib/mbsstr.c.
21953         * lib/unistr/u8-strstr.c: Include <string.h>.
21954         (UNIT_IS_UINT8_T): New macro.
21955         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
21956         (U_STRLEN, U_STRNLEN): New macros.
21957         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
21958         (U_STRLEN, U_STRNLEN): New macros.
21959         * modules/unistr/u8-strstr (Depends-on): Add strstr.
21960         (configure.ac): Update required libunistring version.
21961         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
21962         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
21963         malloca.
21964         (configure.ac): Update required libunistring version.
21965         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
21966         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
21967         malloca.
21968         (configure.ac): Update required libunistring version.
21969
21970 2011-01-21  Pádraig Brady  <P@draigBrady.com>
21971             Bruno Haible  <bruno@clisp.org>
21972
21973         Prepare for faster uN_strstr functions.
21974         * lib/str-kmp.h: Support definable UNITs.
21975         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
21976         needle_len argument.
21977         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
21978         * lib/mbscasestr.c (mbscasestr): Likewise.
21979
21980 2011-01-21  Pádraig Brady <P@draigBrady.com>
21981
21982         malloca-tests: make faster by unsetting MALLOC_PERTURB_
21983         * tests/test-malloca.c (main): Unset the environment variable
21984         to greatly speed up the test.
21985         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
21986         * modules/malloca-tests: Depend on unsetenv.
21987
21988 2011-01-21  Pádraig Brady <P@draigBrady.com>
21989
21990         ignore-value: remove stdint dependency
21991         * lib/ignore-value.h: Remove <stdint.h>
21992         * modules/ignore-value: Remove stdint dependency.
21993
21994 2011-01-21  Jim Meyering  <meyering@redhat.com>
21995
21996         maint.mk: adjust variable name to be consistent with other gl_ vars
21997         * top/maint.mk (gl_public_submodule_commit): Rename the variable
21998         to be lower case.
21999
22000 2011-01-20  Jim Meyering  <meyering@redhat.com>
22001
22002         maint.mk: make "check" depend on public-submodule-commit by default
22003         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22004
22005 2011-01-20  Bruno Haible  <bruno@clisp.org>
22006
22007         mbfile, mbiter: Complete change from 2008-12-21.
22008         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22009         * m4/mbiter.m4 (gl_MBITER): Likewise.
22010
22011 2011-01-20  Jim Meyering  <meyering@redhat.com>
22012
22013         init.sh: insert space between each function name and "()"
22014         * tests/init.sh: Make it a little easier to see that a function's
22015         name is "warn_", and not "warn" when looking at the first part of
22016         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22017
22018 2011-01-20  Jim Meyering  <meyering@redhat.com>
22019
22020         mountlist: clean up code formatting
22021         * lib/mountlist.c (read_file_system_list): Split a long line,
22022         correct bracing style, use NULL in place of "(struct statfs *)0",
22023         don't parenthesize return value, add spaces around "=" and after
22024         ";-in-for-stmt".
22025
22026 2011-01-14  Markus Duft <mduft@gentoo.org>
22027
22028         mountlist: add support for Interix
22029         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22030         Apply statvfs to all entries of /dev/fs.
22031         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22032         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22033
22034 2011-01-20  Jim Meyering  <meyering@redhat.com>
22035
22036         maint.mk: improve the public-submodule-commit rule
22037         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22038         to suppress printing of its commands... unless V=1.
22039         Add git submodule's --quiet option to suppress printing of e.g.,
22040         "Entering gnulib" output.
22041         "cd" into $(srcdir) before running git submodule.
22042
22043 2011-01-20  Bruno Haible  <bruno@clisp.org>
22044
22045         include_next: Fix bug introduced on 2011-01-18.
22046         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22047         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22048         ac_cv_header_... variable if the second argument is not 'check'.
22049         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22050         gl_NEXT_HEADERS_INTERNAL.
22051
22052 2011-01-20  Bruno Haible  <bruno@clisp.org>
22053
22054         Allow the user to avoid the GNULIB_TEST_* macros.
22055         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22056         Suggested by Paul Eggert.
22057
22058 2011-01-14  Jim Meyering  <meyering@redhat.com>
22059
22060         bootstrap: avoid failure when there is no .gitmodules file
22061         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22062         has been assigned to, even when its value is the empty string.
22063         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22064         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22065         Reported by John W. Eaton <jwe@gnu.org>.
22066
22067 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22068
22069         assume <ctype.h>, ..., <time.h> exist
22070         For years gnulib has been assuming the existence of the headers
22071         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22072         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22073         them, since they don't appear to be needed.
22074         * README (Portability guidelines): Document this.
22075         * lib/flock.c: Assume <fcntl.h> exists.
22076         * lib/regex_internal.h: Assume <locale.h> exists.
22077         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22078         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22079         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22080         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22081         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22082         * m4/regex.m4 (gl_REGEX): Likewise.
22083         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22084         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22085         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22086         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22087         * tests/test-argp.c: Likewise.
22088         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22089
22090         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22091         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22092         AA_APPLE_UNIVERSAL_BUILD.  See
22093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22094         * NEWS: Document this.
22095
22096 2011-01-19  Eric Blake  <eblake@redhat.com>
22097
22098         c-stack: assume stack overflow if SA_SIGINFO unsupported
22099         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22100         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22101         sigaction will work.
22102         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22103         behavior match Linux.
22104         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22105
22106         stdbool-tests: accommodate Haiku
22107         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22108
22109         binary-io: fix O_TEXT on Haiku
22110         * modules/binary-io (Depends-on): Add fcntl-h.
22111         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22112         than blindly undefining O_TEXT.
22113         Reported by Scott McCreary.
22114
22115 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22116
22117         include_next: do not check for standard headers like stddef.h
22118
22119         I found this problem when modifying Emacs to use gnulib.
22120         I noticed that it added HAVE_STDDEF_H to config.h, even though
22121         gnulib always assumes <stddef.h> exists as per README and this
22122         symbol is unnecessary.
22123         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22124         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22125         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22126         faster for headers like stddef.h that are known to exist.
22127         (gl_CHECK_NEXT_HEADERS): Use it.
22128         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22129         rather than gl_CHECK_NEXT_HEADERS.
22130         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22131         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22132
22133 2011-01-18  Eric Blake  <eblake@redhat.com>
22134
22135         ansi-c++-opt: skip C++ dependency style if C++ is unused
22136         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22137         tests when we know C++ compilation is not desired.
22138         Reported by Scott McCreary.
22139
22140 2011-01-18  Bruno Haible  <bruno@clisp.org>
22141
22142         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22143         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22144         (main): Perform test also when getrlimit and setrlimit don't exist or
22145         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22146         limiting the address space size using setrlimit, compare the address
22147         space size before and after the the test.
22148         * tests/test-dprintf-posix2.c: Likewise.
22149         * tests/test-fprintf-posix3.sh: Update skip messages.
22150         * tests/test-dprintf-posix2.sh: Likewise.
22151         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22152         * modules/dprintf-posix-tests (Depends-on): Likewise.
22153         Reported by Bruce Korb <bkorb@gnu.org> and
22154         Gary V. Vaughan <gary@gnu.org>.
22155
22156 2011-01-18  Bruno Haible  <bruno@clisp.org>
22157
22158         get-rusage-as: Improvement for Cygwin.
22159         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22160         areas that are merely reserved.
22161
22162 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22163
22164         strftime: remove dependencies on multibyte modules
22165
22166         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22167         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22168         only if __osf__ is defined, and I suspect OSF doesn't need these
22169         other modules.  If my guess is wrong, we'll need to come up with a
22170         variant of strftime that doesn't need the multibyte modules.
22171
22172         I discovered this problem when attempting modify Emacs to use the
22173         strftime module.  With the previous gnulib, this caused Emacs to
22174         need 31 new files, ranging from lib/config.charset to
22175         m4/wint_t.m4.  This was overkill and I expect would be offputting
22176         to the Emacs maintainers.  After this change, only 6 new files are
22177         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
22178         stdbool.m4, and tm_gmtoff.m4.
22179
22180         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
22181         Suggested by Bruno Haible in
22182         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
22183         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
22184         and do not check for wchar.h.
22185         * modules/strftime (Files): Remove m4/mbstate_t.m4.
22186         (Depends-on): Remove mbrlen, mbsinit, wchar.
22187
22188 2011-01-18  Bruno Haible  <bruno@clisp.org>
22189
22190         Tests for module 'get-rusage-as'.
22191         * modules/get-rusage-as-tests: New file.
22192         * tests/test-get-rusage-as.c: New file.
22193
22194         New module 'get-rusage-as'.
22195         * modules/get-rusage-as: New file.
22196         * lib/resource-ext.h: New file.
22197         * lib/get-rusage-as.c: New file.
22198
22199 2011-01-17  Eric Blake  <eblake@redhat.com>
22200
22201         sigaction: relax license from LGPLv3+ to LGPLv2+
22202         * modules/sigaction (License): Relax to LGPLv2+.
22203
22204 2011-01-14  Bruno Haible  <bruno@clisp.org>
22205
22206         filemode: Make function declarations usable in C++ mode.
22207         * lib/filemode.h: Enclose function declarations in extern "C" block.
22208         Reported by John W. Eaton <jwe@gnu.org>.
22209
22210 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
22211
22212         save-cwd: no longer include "xgetcwd.h"
22213         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
22214         This avoids a compilation failure in projects that use save-cwd
22215         without also using the xgetcwd module.
22216
22217 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22218
22219         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
22220         This is so that a program like Emacs, which needs only dtoastr,
22221         does not have to bother with distributing and compiling ftoastr
22222         and ldtoastr.
22223         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
22224         * modules/dtoastr, modules/ldtoastr: New files.
22225         * modules/ftoastr: Now works just for 'float'.
22226         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
22227         (Makefile.am): Remove ftoastr.h (not needed and no effect),
22228         dtoastr.c, ldtoastr.c.
22229
22230 2011-01-11  Jim Meyering  <meyering@redhat.com>
22231
22232         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
22233         There is no need to work around the lack of the fchdir function,
22234         since gnulib can now provide a replacement when required.
22235         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
22236         * modules/save-cwd (Depends-on): Add fchdir.
22237
22238 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
22239
22240         openat, save-cwd: avoid xmalloc
22241
22242         This removes a direct (but undocumented) dependency of openat on
22243         xalloc, along with an indirect dependency via save-cwd.  It also
22244         removes a dependency of save-cwd on xgetcwd, and thereby
22245         indirectly on xalloc.  This change causes the openat substitute
22246         to fall back on save_cwd when memory is tight, and for save_cwd to
22247         fail instead of dying when memory is tight, but that's good enough.
22248         Problem and initial idea for fix reported by Bastien Roucaries in
22249         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
22250
22251         * lib/openat-proc.c: Include stdlib.h (for malloc), not
22252         xalloc.h (for xmalloc).
22253         (openat_proc_name): Use malloc, not xmalloc.
22254         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
22255         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
22256
22257         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
22258         This avoids heap allocation for file names whose lengths are in
22259         the range 512..1023, with the upper bound increasing to at most
22260         4031 depending on the platform's PATH_MAX.  (We do not want
22261         pathmax.h here as it might supply a non-constant PATH_MAX.)
22262         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
22263         Perhaps they should be moved to malloca.h?
22264         (OPENAT_BUFFER_SIZE): Use them.
22265
22266 2011-01-10  Bruno Haible  <bruno@clisp.org>
22267
22268         doc: Update users.txt.
22269         * users.txt: Add recutils.
22270
22271 2011-01-09  Karl Berry  <karl@gnu.org>
22272
22273         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
22274
22275         * doc/configmake.texi: New file.
22276         * doc/gnulib.texi: Include it.
22277         * modules/configmake: Move documentation from here.
22278
22279 2011-01-09  Bruno Haible  <bruno@clisp.org>
22280
22281         Update to Unicode 6.0.0.
22282         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
22283         (get_lbp): Update for Unicode 6.0.0.
22284         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
22285         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
22286         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
22287         U+11001, U+11038..U+11046. Remove U+06DE.
22288         (uc_width): Fix bounds of planes.
22289         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22290         lib/uniwidth/width.c.
22291         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
22292         trailing whitespace removed.
22293         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
22294         without comments, but with the original copyright notice.
22295         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
22296         * lib/unicase/ignorable.h: Likewise.
22297         * lib/unicase/tocasefold.h: Likewise.
22298         * lib/unicase/tolower.h: Likewise.
22299         * lib/unicase/totitle.h: Likewise.
22300         * lib/unicase/toupper.h: Likewise.
22301         * lib/unictype/bidi_of.h: Likewise.
22302         * lib/unictype/blocks.h: Likewise.
22303         * lib/unictype/categ_C.h: Likewise.
22304         * lib/unictype/categ_Cn.h: Likewise.
22305         * lib/unictype/categ_L.h: Likewise.
22306         * lib/unictype/categ_Ll.h: Likewise.
22307         * lib/unictype/categ_Lm.h: Likewise.
22308         * lib/unictype/categ_Lo.h: Likewise.
22309         * lib/unictype/categ_Lu.h: Likewise.
22310         * lib/unictype/categ_M.h: Likewise.
22311         * lib/unictype/categ_Mc.h: Likewise.
22312         * lib/unictype/categ_Me.h: Likewise.
22313         * lib/unictype/categ_Mn.h: Likewise.
22314         * lib/unictype/categ_N.h: Likewise.
22315         * lib/unictype/categ_Nd.h: Likewise.
22316         * lib/unictype/categ_No.h: Likewise.
22317         * lib/unictype/categ_P.h: Likewise.
22318         * lib/unictype/categ_Po.h: Likewise.
22319         * lib/unictype/categ_S.h: Likewise.
22320         * lib/unictype/categ_Sc.h: Likewise.
22321         * lib/unictype/categ_Sk.h: Likewise.
22322         * lib/unictype/categ_Sm.h: Likewise.
22323         * lib/unictype/categ_So.h: Likewise.
22324         * lib/unictype/categ_of.h: Likewise.
22325         * lib/unictype/combining.h: Likewise.
22326         * lib/unictype/ctype_alnum.h: Likewise.
22327         * lib/unictype/ctype_alpha.h: Likewise.
22328         * lib/unictype/ctype_graph.h: Likewise.
22329         * lib/unictype/ctype_lower.h: Likewise.
22330         * lib/unictype/ctype_print.h: Likewise.
22331         * lib/unictype/ctype_punct.h: Likewise.
22332         * lib/unictype/ctype_upper.h: Likewise.
22333         * lib/unictype/decdigit.h: Likewise.
22334         * lib/unictype/digit.h: Likewise.
22335         * lib/unictype/numeric.h: Likewise.
22336         * lib/unictype/pr_alphabetic.h: Likewise.
22337         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22338         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22339         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22340         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22341         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22342         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22343         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22344         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22345         * lib/unictype/pr_case_ignorable.h: Likewise.
22346         * lib/unictype/pr_cased.h: Likewise.
22347         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
22348         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
22349         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
22350         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
22351         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
22352         * lib/unictype/pr_combining.h: Likewise.
22353         * lib/unictype/pr_composite.h: Likewise.
22354         * lib/unictype/pr_currency_symbol.h: Likewise.
22355         * lib/unictype/pr_decimal_digit.h: Likewise.
22356         * lib/unictype/pr_deprecated.h: Likewise.
22357         * lib/unictype/pr_format_control.h: Likewise.
22358         * lib/unictype/pr_grapheme_base.h: Likewise.
22359         * lib/unictype/pr_grapheme_extend.h: Likewise.
22360         * lib/unictype/pr_grapheme_link.h: Likewise.
22361         * lib/unictype/pr_id_continue.h: Likewise.
22362         * lib/unictype/pr_id_start.h: Likewise.
22363         * lib/unictype/pr_ideographic.h: Likewise.
22364         * lib/unictype/pr_lowercase.h: Likewise.
22365         * lib/unictype/pr_math.h: Likewise.
22366         * lib/unictype/pr_numeric.h: Likewise.
22367         * lib/unictype/pr_other_alphabetic.h: Likewise.
22368         * lib/unictype/pr_other_id_continue.h: Likewise.
22369         * lib/unictype/pr_other_math.h: Likewise.
22370         * lib/unictype/pr_punctuation.h: Likewise.
22371         * lib/unictype/pr_sentence_terminal.h: Likewise.
22372         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22373         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22374         * lib/unictype/pr_unified_ideograph.h: Likewise.
22375         * lib/unictype/pr_uppercase.h: Likewise.
22376         * lib/unictype/pr_xid_continue.h: Likewise.
22377         * lib/unictype/pr_xid_start.h: Likewise.
22378         * lib/unictype/scripts.h: Likewise.
22379         * lib/unictype/scripts_byname.gperf: Likewise.
22380         * lib/unictype/sy_java_ident.h: Likewise.
22381         * lib/unigbrk/gbrkprop.h: Likewise.
22382         * lib/unilbrk/lbrkprop1.h: Likewise.
22383         * lib/unilbrk/lbrkprop2.h: Likewise.
22384         * lib/uninorm/decomposition-table2.h: Likewise.
22385         * lib/uniwbrk/wbrkprop.h: Likewise.
22386         * tests/unicase/test-cased.c: Likewise.
22387         * tests/unicase/test-ignorable.c: Likewise.
22388         * tests/unicase/test-uc_tolower.c: Likewise.
22389         * tests/unicase/test-uc_totitle.c: Likewise.
22390         * tests/unicase/test-uc_toupper.c: Likewise.
22391         * tests/unictype/test-categ_C.c: Likewise.
22392         * tests/unictype/test-categ_Cn.c: Likewise.
22393         * tests/unictype/test-categ_L.c: Likewise.
22394         * tests/unictype/test-categ_Ll.c: Likewise.
22395         * tests/unictype/test-categ_Lm.c: Likewise.
22396         * tests/unictype/test-categ_Lo.c: Likewise.
22397         * tests/unictype/test-categ_Lu.c: Likewise.
22398         * tests/unictype/test-categ_M.c: Likewise.
22399         * tests/unictype/test-categ_Mc.c: Likewise.
22400         * tests/unictype/test-categ_Me.c: Likewise.
22401         * tests/unictype/test-categ_Mn.c: Likewise.
22402         * tests/unictype/test-categ_N.c: Likewise.
22403         * tests/unictype/test-categ_Nd.c: Likewise.
22404         * tests/unictype/test-categ_No.c: Likewise.
22405         * tests/unictype/test-categ_P.c: Likewise.
22406         * tests/unictype/test-categ_Po.c: Likewise.
22407         * tests/unictype/test-categ_S.c: Likewise.
22408         * tests/unictype/test-categ_Sc.c: Likewise.
22409         * tests/unictype/test-categ_Sk.c: Likewise.
22410         * tests/unictype/test-categ_Sm.c: Likewise.
22411         * tests/unictype/test-categ_So.c: Likewise.
22412         * tests/unictype/test-ctype_alnum.c: Likewise.
22413         * tests/unictype/test-ctype_alpha.c: Likewise.
22414         * tests/unictype/test-ctype_graph.c: Likewise.
22415         * tests/unictype/test-ctype_lower.c: Likewise.
22416         * tests/unictype/test-ctype_print.c: Likewise.
22417         * tests/unictype/test-ctype_punct.c: Likewise.
22418         * tests/unictype/test-ctype_upper.c: Likewise.
22419         * tests/unictype/test-decdigit.h: Likewise.
22420         * tests/unictype/test-digit.h: Likewise.
22421         * tests/unictype/test-numeric.h: Likewise.
22422         * tests/unictype/test-pr_alphabetic.c: Likewise.
22423         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22424         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
22425         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
22426         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22427         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22428         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22429         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22430         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22431         * tests/unictype/test-pr_case_ignorable.c: Likewise.
22432         * tests/unictype/test-pr_cased.c: Likewise.
22433         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
22434         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
22435         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
22436         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
22437         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
22438         * tests/unictype/test-pr_combining.c: Likewise.
22439         * tests/unictype/test-pr_composite.c: Likewise.
22440         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22441         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22442         * tests/unictype/test-pr_deprecated.c: Likewise.
22443         * tests/unictype/test-pr_format_control.c: Likewise.
22444         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22445         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22446         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22447         * tests/unictype/test-pr_id_continue.c: Likewise.
22448         * tests/unictype/test-pr_id_start.c: Likewise.
22449         * tests/unictype/test-pr_ideographic.c: Likewise.
22450         * tests/unictype/test-pr_lowercase.c: Likewise.
22451         * tests/unictype/test-pr_math.c: Likewise.
22452         * tests/unictype/test-pr_numeric.c: Likewise.
22453         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22454         * tests/unictype/test-pr_other_id_continue.c: Likewise.
22455         * tests/unictype/test-pr_other_math.c: Likewise.
22456         * tests/unictype/test-pr_punctuation.c: Likewise.
22457         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22458         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22459         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22460         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22461         * tests/unictype/test-pr_uppercase.c: Likewise.
22462         * tests/unictype/test-pr_xid_continue.c: Likewise.
22463         * tests/unictype/test-pr_xid_start.c: Likewise.
22464         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22465         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22466         changes.
22467         * lib/unictype/categ_Cc.h: Likewise.
22468         * lib/unictype/categ_Cf.h: Likewise.
22469         * lib/unictype/categ_Co.h: Likewise.
22470         * lib/unictype/categ_Cs.h: Likewise.
22471         * lib/unictype/categ_Lt.h: Likewise.
22472         * lib/unictype/categ_Nl.h: Likewise.
22473         * lib/unictype/categ_Pc.h: Likewise.
22474         * lib/unictype/categ_Pd.h: Likewise.
22475         * lib/unictype/categ_Pe.h: Likewise.
22476         * lib/unictype/categ_Pf.h: Likewise.
22477         * lib/unictype/categ_Pi.h: Likewise.
22478         * lib/unictype/categ_Ps.h: Likewise.
22479         * lib/unictype/categ_Z.h: Likewise.
22480         * lib/unictype/categ_Zl.h: Likewise.
22481         * lib/unictype/categ_Zp.h: Likewise.
22482         * lib/unictype/categ_Zs.h: Likewise.
22483         * lib/unictype/ctype_blank.h: Likewise.
22484         * lib/unictype/ctype_cntrl.h: Likewise.
22485         * lib/unictype/ctype_digit.h: Likewise.
22486         * lib/unictype/ctype_space.h: Likewise.
22487         * lib/unictype/ctype_xdigit.h: Likewise.
22488         * lib/unictype/mirror.h: Likewise.
22489         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22490         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22491         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22492         * lib/unictype/pr_bidi_control.h: Likewise.
22493         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22494         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22495         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22496         * lib/unictype/pr_bidi_pdf.h: Likewise.
22497         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22498         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22499         * lib/unictype/pr_dash.h: Likewise.
22500         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22501         * lib/unictype/pr_diacritic.h: Likewise.
22502         * lib/unictype/pr_extender.h: Likewise.
22503         * lib/unictype/pr_hex_digit.h: Likewise.
22504         * lib/unictype/pr_hyphen.h: Likewise.
22505         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22506         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22507         * lib/unictype/pr_ignorable_control.h: Likewise.
22508         * lib/unictype/pr_iso_control.h: Likewise.
22509         * lib/unictype/pr_join_control.h: Likewise.
22510         * lib/unictype/pr_left_of_pair.h: Likewise.
22511         * lib/unictype/pr_line_separator.h: Likewise.
22512         * lib/unictype/pr_logical_order_exception.h: Likewise.
22513         * lib/unictype/pr_non_break.h: Likewise.
22514         * lib/unictype/pr_not_a_character.h: Likewise.
22515         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22516         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22517         * lib/unictype/pr_other_id_start.h: Likewise.
22518         * lib/unictype/pr_other_lowercase.h: Likewise.
22519         * lib/unictype/pr_other_uppercase.h: Likewise.
22520         * lib/unictype/pr_paired_punctuation.h: Likewise.
22521         * lib/unictype/pr_paragraph_separator.h: Likewise.
22522         * lib/unictype/pr_pattern_syntax.h: Likewise.
22523         * lib/unictype/pr_pattern_white_space.h: Likewise.
22524         * lib/unictype/pr_private_use.h: Likewise.
22525         * lib/unictype/pr_quotation_mark.h: Likewise.
22526         * lib/unictype/pr_radical.h: Likewise.
22527         * lib/unictype/pr_soft_dotted.h: Likewise.
22528         * lib/unictype/pr_space.h: Likewise.
22529         * lib/unictype/pr_titlecase.h: Likewise.
22530         * lib/unictype/pr_variation_selector.h: Likewise.
22531         * lib/unictype/pr_white_space.h: Likewise.
22532         * lib/unictype/pr_zero_width.h: Likewise.
22533         * lib/unictype/sy_c_ident.h: Likewise.
22534         * lib/unictype/sy_c_whitespace.h: Likewise.
22535         * lib/unictype/sy_java_whitespace.h: Likewise.
22536         * lib/uninorm/composition-table.gperf: Likewise.
22537         * lib/uninorm/decomposition-table1.h: Likewise.
22538         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
22539         LB8.
22540         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22541         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22542         * modules/unictype/*: Bump version number of expected libunistring
22543         version.
22544
22545 2011-01-09  Bruno Haible  <bruno@clisp.org>
22546
22547         Update to Unicode 5.2.0.
22548         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
22549         trailing whitespace removed.
22550
22551 2011-01-09  Bruno Haible  <bruno@clisp.org>
22552
22553         New Unicode character properties, from Unicode 5.2.0.
22554         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
22555         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
22556         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
22557         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
22558         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
22559         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
22560         uc_is_property_cased, uc_is_property_case_ignorable,
22561         uc_is_property_changes_when_lowercased,
22562         uc_is_property_changes_when_uppercased,
22563         uc_is_property_changes_when_titlecased,
22564         uc_is_property_changes_when_casefolded,
22565         uc_is_property_changes_when_casemapped): New declarations.
22566         * lib/unictype/pr_byname.gperf: Add the new properties.
22567         * modules/unictype/property-byname (Depends-on): Depend on the new
22568         properties modules.
22569         * modules/unictype/property-all (Depends-on): Likewise.
22570         * MODULES.html.sh (Unicode string functions): Add
22571         unictype/property-case-ignorable, unictype/property-cased,
22572         unictype/property-changes-when-casefolded,
22573         unictype/property-changes-when-casemapped,
22574         unictype/property-changes-when-lowercased,
22575         unictype/property-changes-when-titlecased,
22576         unictype/property-changes-when-uppercased.
22577
22578         New module 'unictype/property-changes-when-casemapped'.
22579         * modules/unictype/property-changes-when-casemapped: New file.
22580         * lib/unictype/pr_changes_when_casemapped.c: New file.
22581         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
22582         generated by gen-uni-tables.
22583         * modules/unictype/property-changes-when-casemapped-tests: New file.
22584         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
22585         automatically generated by gen-uni-tables.
22586
22587         New module 'unictype/property-changes-when-casefolded'.
22588         * modules/unictype/property-changes-when-casefolded: New file.
22589         * lib/unictype/pr_changes_when_casefolded.c: New file.
22590         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
22591         generated by gen-uni-tables.
22592         * modules/unictype/property-changes-when-casefolded-tests: New file.
22593         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
22594         automatically generated by gen-uni-tables.
22595
22596         New module 'unictype/property-changes-when-titlecased'.
22597         * modules/unictype/property-changes-when-titlecased: New file.
22598         * lib/unictype/pr_changes_when_titlecased.c: New file.
22599         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
22600         generated by gen-uni-tables.
22601         * modules/unictype/property-changes-when-titlecased-tests: New file.
22602         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
22603         automatically generated by gen-uni-tables.
22604
22605         New module 'unictype/property-changes-when-uppercased'.
22606         * modules/unictype/property-changes-when-uppercased: New file.
22607         * lib/unictype/pr_changes_when_uppercased.c: New file.
22608         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
22609         generated by gen-uni-tables.
22610         * modules/unictype/property-changes-when-uppercased-tests: New file.
22611         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
22612         automatically generated by gen-uni-tables.
22613
22614         New module 'unictype/property-changes-when-lowercased'.
22615         * modules/unictype/property-changes-when-lowercased: New file.
22616         * lib/unictype/pr_changes_when_lowercased.c: New file.
22617         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
22618         generated by gen-uni-tables.
22619         * modules/unictype/property-changes-when-lowercased-tests: New file.
22620         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
22621         automatically generated by gen-uni-tables.
22622
22623         New module 'unictype/property-case-ignorable'.
22624         * modules/unictype/property-case-ignorable: New file.
22625         * lib/unictype/pr_case_ignorable.c: New file.
22626         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
22627         by gen-uni-tables.
22628         * modules/unictype/property-case-ignorable-tests: New file.
22629         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
22630         generated by gen-uni-tables.
22631
22632         New module 'unictype/property-cased'.
22633         * modules/unictype/property-cased: New file.
22634         * lib/unictype/pr_cased.c: New file.
22635         * lib/unictype/pr_cased.h: New file, automatically generated by
22636         gen-uni-tables.
22637         * modules/unictype/property-cased-tests: New file.
22638         * tests/unictype/test-pr_cased.c: New file, automatically generated by
22639         gen-uni-tables.
22640
22641 2011-01-09  Bruno Haible  <bruno@clisp.org>
22642
22643         Update to Unicode 5.2.0.
22644         * lib/gen-uni-tables.c (output_predicate, output_category,
22645         output_combclass, output_bidi_category, output_decimal_digit_test,
22646         output_decimal_digit, output_digit_test, output_digit,
22647         output_numeric_test, output_numeric, output_mirror, output_scripts,
22648         output_scripts_byname, output_blocks, output_ident_category): Fix
22649         comment header.
22650         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
22651         get_wbp.
22652         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
22653         items.
22654         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
22655         Changes_When_Lowercased, Changes_When_Uppercased,
22656         Changes_When_Titlecased, Changes_When_Casefolded,
22657         Changes_When_Casemapped.
22658         (is_property_alphabetic, is_property_default_ignorable_code_point):
22659         Update for Unicode 5.2.0.
22660         (is_property_cased, is_property_case_ignorable,
22661         is_property_changes_when_lowercased,
22662         is_property_changes_when_uppercased,
22663         is_property_changes_when_titlecased,
22664         is_property_changes_when_casefolded,
22665         is_property_changes_when_casemapped): New functions.
22666         (output_properties): Output also the properties cased, case_ignorable,
22667         changes_when_lowercased, changes_when_uppercased,
22668         changes_when_titlecased, changes_when_casefolded,
22669         changes_when_casemapped.
22670         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
22671         Unicode TR#11 revision 17 -> 19.
22672         (LBP_CP): New enumeration value.
22673         (LBP_*): Adjust values accordingly.
22674         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22675         TR#14 revision 22 -> 24.
22676         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
22677         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
22678         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
22679         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
22680         is_WBP_MIDLETTER.
22681         (output_composition_tables): Allow for 24 bits instead of 16 bits in
22682         the code1 and code2 of each composition rule.
22683         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
22684         * lib/unicase/ignorable.h: Likewise.
22685         * lib/unicase/tocasefold.h: Likewise.
22686         * lib/unicase/tolower.h: Likewise.
22687         * lib/unicase/totitle.h: Likewise.
22688         * lib/unicase/toupper.h: Likewise.
22689         * lib/unictype/bidi_of.h: Likewise.
22690         * lib/unictype/blocks.h: Likewise.
22691         * lib/unictype/categ_C.h: Likewise.
22692         * lib/unictype/categ_Cf.h: Likewise.
22693         * lib/unictype/categ_Cn.h: Likewise.
22694         * lib/unictype/categ_L.h: Likewise.
22695         * lib/unictype/categ_Ll.h: Likewise.
22696         * lib/unictype/categ_Lm.h: Likewise.
22697         * lib/unictype/categ_Lo.h: Likewise.
22698         * lib/unictype/categ_Lu.h: Likewise.
22699         * lib/unictype/categ_M.h: Likewise.
22700         * lib/unictype/categ_Mc.h: Likewise.
22701         * lib/unictype/categ_Mn.h: Likewise.
22702         * lib/unictype/categ_N.h: Likewise.
22703         * lib/unictype/categ_Nd.h: Likewise.
22704         * lib/unictype/categ_Nl.h: Likewise.
22705         * lib/unictype/categ_No.h: Likewise.
22706         * lib/unictype/categ_P.h: Likewise.
22707         * lib/unictype/categ_Pd.h: Likewise.
22708         * lib/unictype/categ_Po.h: Likewise.
22709         * lib/unictype/categ_S.h: Likewise.
22710         * lib/unictype/categ_Sc.h: Likewise.
22711         * lib/unictype/categ_So.h: Likewise.
22712         * lib/unictype/categ_of.h: Likewise.
22713         * lib/unictype/combining.h: Likewise.
22714         * lib/unictype/ctype_alnum.h: Likewise.
22715         * lib/unictype/ctype_alpha.h: Likewise.
22716         * lib/unictype/ctype_graph.h: Likewise.
22717         * lib/unictype/ctype_lower.h: Likewise.
22718         * lib/unictype/ctype_print.h: Likewise.
22719         * lib/unictype/ctype_punct.h: Likewise.
22720         * lib/unictype/ctype_upper.h: Likewise.
22721         * lib/unictype/decdigit.h: Likewise.
22722         * lib/unictype/digit.h: Likewise.
22723         * lib/unictype/numeric.h: Likewise.
22724         * lib/unictype/pr_alphabetic.h: Likewise.
22725         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
22726         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
22727         * lib/unictype/pr_bidi_european_digit.h: Likewise.
22728         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
22729         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
22730         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
22731         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
22732         * lib/unictype/pr_combining.h: Likewise.
22733         * lib/unictype/pr_composite.h: Likewise.
22734         * lib/unictype/pr_currency_symbol.h: Likewise.
22735         * lib/unictype/pr_dash.h: Likewise.
22736         * lib/unictype/pr_decimal_digit.h: Likewise.
22737         * lib/unictype/pr_deprecated.h: Likewise.
22738         * lib/unictype/pr_diacritic.h: Likewise.
22739         * lib/unictype/pr_extender.h: Likewise.
22740         * lib/unictype/pr_grapheme_base.h: Likewise.
22741         * lib/unictype/pr_grapheme_extend.h: Likewise.
22742         * lib/unictype/pr_grapheme_link.h: Likewise.
22743         * lib/unictype/pr_id_continue.h: Likewise.
22744         * lib/unictype/pr_id_start.h: Likewise.
22745         * lib/unictype/pr_ideographic.h: Likewise.
22746         * lib/unictype/pr_ignorable_control.h: Likewise.
22747         * lib/unictype/pr_logical_order_exception.h: Likewise.
22748         * lib/unictype/pr_lowercase.h: Likewise.
22749         * lib/unictype/pr_numeric.h: Likewise.
22750         * lib/unictype/pr_other_alphabetic.h: Likewise.
22751         * lib/unictype/pr_punctuation.h: Likewise.
22752         * lib/unictype/pr_sentence_terminal.h: Likewise.
22753         * lib/unictype/pr_terminal_punctuation.h: Likewise.
22754         * lib/unictype/pr_unassigned_code_value.h: Likewise.
22755         * lib/unictype/pr_unified_ideograph.h: Likewise.
22756         * lib/unictype/pr_uppercase.h: Likewise.
22757         * lib/unictype/pr_xid_continue.h: Likewise.
22758         * lib/unictype/pr_xid_start.h: Likewise.
22759         * lib/unictype/pr_zero_width.h: Likewise.
22760         * lib/unictype/scripts.h: Likewise.
22761         * lib/unictype/scripts_byname.gperf: Likewise.
22762         * lib/unictype/sy_java_ident.h: Likewise.
22763         * lib/unigbrk/gbrkprop.h: Likewise.
22764         * lib/unilbrk/lbrkprop1.h: Likewise.
22765         * lib/unilbrk/lbrkprop2.h: Likewise.
22766         * lib/unilbrk/lbrktables.h: Likewise.
22767         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
22768         LBP_CP. Implement rule LB30.
22769         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
22770         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
22771         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
22772         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
22773         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
22774         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
22775         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
22776         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
22777         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
22778         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
22779         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
22780         bits instead of 16 bits in the code1 and code2 of each composition
22781         rule.
22782         (uc_composition): Update for Unicode 5.2.0.
22783         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
22784         * lib/uninorm/decomposition-table2.h: Likewise.
22785         * lib/uniwbrk/wbrkprop.h: Likewise.
22786         * tests/unicase/test-cased.c: Likewise.
22787         * tests/unicase/test-ignorable.c: Likewise.
22788         * tests/unicase/test-uc_tolower.c: Likewise.
22789         * tests/unicase/test-uc_totitle.c: Likewise.
22790         * tests/unicase/test-uc_toupper.c: Likewise.
22791         * tests/unictype/test-categ_C.c: Likewise.
22792         * tests/unictype/test-categ_Cf.c: Likewise.
22793         * tests/unictype/test-categ_Cn.c: Likewise.
22794         * tests/unictype/test-categ_L.c: Likewise.
22795         * tests/unictype/test-categ_Ll.c: Likewise.
22796         * tests/unictype/test-categ_Lm.c: Likewise.
22797         * tests/unictype/test-categ_Lo.c: Likewise.
22798         * tests/unictype/test-categ_Lu.c: Likewise.
22799         * tests/unictype/test-categ_M.c: Likewise.
22800         * tests/unictype/test-categ_Mc.c: Likewise.
22801         * tests/unictype/test-categ_Mn.c: Likewise.
22802         * tests/unictype/test-categ_N.c: Likewise.
22803         * tests/unictype/test-categ_Nd.c: Likewise.
22804         * tests/unictype/test-categ_Nl.c: Likewise.
22805         * tests/unictype/test-categ_No.c: Likewise.
22806         * tests/unictype/test-categ_P.c: Likewise.
22807         * tests/unictype/test-categ_Pd.c: Likewise.
22808         * tests/unictype/test-categ_Po.c: Likewise.
22809         * tests/unictype/test-categ_S.c: Likewise.
22810         * tests/unictype/test-categ_Sc.c: Likewise.
22811         * tests/unictype/test-categ_So.c: Likewise.
22812         * tests/unictype/test-ctype_alnum.c: Likewise.
22813         * tests/unictype/test-ctype_alpha.c: Likewise.
22814         * tests/unictype/test-ctype_graph.c: Likewise.
22815         * tests/unictype/test-ctype_lower.c: Likewise.
22816         * tests/unictype/test-ctype_print.c: Likewise.
22817         * tests/unictype/test-ctype_punct.c: Likewise.
22818         * tests/unictype/test-ctype_upper.c: Likewise.
22819         * tests/unictype/test-decdigit.h: Likewise.
22820         * tests/unictype/test-digit.h: Likewise.
22821         * tests/unictype/test-numeric.h: Likewise.
22822         * tests/unictype/test-pr_alphabetic.c: Likewise.
22823         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
22824         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
22825         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
22826         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
22827         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
22828         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
22829         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
22830         * tests/unictype/test-pr_combining.c: Likewise.
22831         * tests/unictype/test-pr_composite.c: Likewise.
22832         * tests/unictype/test-pr_currency_symbol.c: Likewise.
22833         * tests/unictype/test-pr_dash.c: Likewise.
22834         * tests/unictype/test-pr_decimal_digit.c: Likewise.
22835         * tests/unictype/test-pr_deprecated.c: Likewise.
22836         * tests/unictype/test-pr_diacritic.c: Likewise.
22837         * tests/unictype/test-pr_extender.c: Likewise.
22838         * tests/unictype/test-pr_grapheme_base.c: Likewise.
22839         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
22840         * tests/unictype/test-pr_grapheme_link.c: Likewise.
22841         * tests/unictype/test-pr_id_continue.c: Likewise.
22842         * tests/unictype/test-pr_id_start.c: Likewise.
22843         * tests/unictype/test-pr_ideographic.c: Likewise.
22844         * tests/unictype/test-pr_ignorable_control.c: Likewise.
22845         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
22846         * tests/unictype/test-pr_lowercase.c: Likewise.
22847         * tests/unictype/test-pr_numeric.c: Likewise.
22848         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
22849         * tests/unictype/test-pr_punctuation.c: Likewise.
22850         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
22851         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
22852         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
22853         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
22854         * tests/unictype/test-pr_uppercase.c: Likewise.
22855         * tests/unictype/test-pr_xid_continue.c: Likewise.
22856         * tests/unictype/test-pr_xid_start.c: Likewise.
22857         * tests/unictype/test-pr_zero_width.c: Likewise.
22858         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
22859         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
22860         changed behaviour: line breaking is now disallowed between a letter
22861         or '=' and '('.
22862         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
22863         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
22864         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
22865         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
22866         * tests/uniwidth/test-uc_width2.sh: Same updates as in
22867         lib/uniwidth/width.c.
22868         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
22869         without comments, but with the original copyright notice.
22870         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
22871         changes.
22872         * lib/unictype/categ_Cc.h: Likewise.
22873         * lib/unictype/categ_Co.h: Likewise.
22874         * lib/unictype/categ_Cs.h: Likewise.
22875         * lib/unictype/categ_Lt.h: Likewise.
22876         * lib/unictype/categ_Me.h: Likewise.
22877         * lib/unictype/categ_Pc.h: Likewise.
22878         * lib/unictype/categ_Pe.h: Likewise.
22879         * lib/unictype/categ_Pf.h: Likewise.
22880         * lib/unictype/categ_Pi.h: Likewise.
22881         * lib/unictype/categ_Ps.h: Likewise.
22882         * lib/unictype/categ_Sk.h: Likewise.
22883         * lib/unictype/categ_Sm.h: Likewise.
22884         * lib/unictype/categ_Z.h: Likewise.
22885         * lib/unictype/categ_Zl.h: Likewise.
22886         * lib/unictype/categ_Zp.h: Likewise.
22887         * lib/unictype/categ_Zs.h: Likewise.
22888         * lib/unictype/ctype_blank.h: Likewise.
22889         * lib/unictype/ctype_cntrl.h: Likewise.
22890         * lib/unictype/ctype_digit.h: Likewise.
22891         * lib/unictype/ctype_space.h: Likewise.
22892         * lib/unictype/ctype_xdigit.h: Likewise.
22893         * lib/unictype/mirror.h: Likewise.
22894         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
22895         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
22896         * lib/unictype/pr_bidi_block_separator.h: Likewise.
22897         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
22898         * lib/unictype/pr_bidi_common_separator.h: Likewise.
22899         * lib/unictype/pr_bidi_control.h: Likewise.
22900         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
22901         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
22902         * lib/unictype/pr_bidi_pdf.h: Likewise.
22903         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
22904         * lib/unictype/pr_bidi_whitespace.h: Likewise.
22905         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
22906         * lib/unictype/pr_format_control.h: Likewise.
22907         * lib/unictype/pr_hex_digit.h: Likewise.
22908         * lib/unictype/pr_hyphen.h: Likewise.
22909         * lib/unictype/pr_ids_binary_operator.h: Likewise.
22910         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
22911         * lib/unictype/pr_iso_control.h: Likewise.
22912         * lib/unictype/pr_join_control.h: Likewise.
22913         * lib/unictype/pr_left_of_pair.h: Likewise.
22914         * lib/unictype/pr_line_separator.h: Likewise.
22915         * lib/unictype/pr_math.h: Likewise.
22916         * lib/unictype/pr_non_break.h: Likewise.
22917         * lib/unictype/pr_not_a_character.h: Likewise.
22918         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
22919         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
22920         * lib/unictype/pr_other_id_continue.h: Likewise.
22921         * lib/unictype/pr_other_id_start.h: Likewise.
22922         * lib/unictype/pr_other_lowercase.h: Likewise.
22923         * lib/unictype/pr_other_math.h: Likewise.
22924         * lib/unictype/pr_other_uppercase.h: Likewise.
22925         * lib/unictype/pr_paired_punctuation.h: Likewise.
22926         * lib/unictype/pr_paragraph_separator.h: Likewise.
22927         * lib/unictype/pr_pattern_syntax.h: Likewise.
22928         * lib/unictype/pr_pattern_white_space.h: Likewise.
22929         * lib/unictype/pr_private_use.h: Likewise.
22930         * lib/unictype/pr_quotation_mark.h: Likewise.
22931         * lib/unictype/pr_radical.h: Likewise.
22932         * lib/unictype/pr_soft_dotted.h: Likewise.
22933         * lib/unictype/pr_space.h: Likewise.
22934         * lib/unictype/pr_titlecase.h: Likewise.
22935         * lib/unictype/pr_variation_selector.h: Likewise.
22936         * lib/unictype/pr_white_space.h: Likewise.
22937         * lib/unictype/sy_c_ident.h: Likewise.
22938         * lib/unictype/sy_c_whitespace.h: Likewise.
22939         * lib/unictype/sy_java_whitespace.h: Likewise.
22940         * modules/uni*/*: Bump version number of expected libunistring version.
22941         Reported by Simon Josefsson.
22942
22943 2011-01-09  Karl Heuer  <kwzh@gnu.org>
22944
22945         useless-if-before-free: fix typo in --help and make the internal,
22946         automatic version date update process work once again.
22947         --help output contained a NUL character instead of the
22948         backslash-zero that was intended.  Also, the "must lie within
22949         the first 8 lines" line is on line 9, and hence not getting
22950         automatically updated.
22951         * build-aux/useless-if-before-free: Fix the former by adding a
22952         backslash, and the latter by condensing the three lines of what-it-does
22953         to a single line, leaving one line of slack for the future.
22954
22955 2011-01-09  Bruno Haible  <bruno@clisp.org>
22956
22957         uniwidth/width: Fix width of U+1D173..U+1D17A.
22958         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
22959         symbolic_width, output_width_property_test): New functions.
22960         (main): Invoke output_nonspacing_property, output_width_property_test.
22961         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
22962         U+1D173..U+1D17A.
22963         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
22964         1.
22965         * modules/uniwidth/*: Bump version number of expected libunistring
22966         version.
22967         * modules/unilbrk/*: Likewise.
22968
22969 2011-01-08  Bruno Haible  <bruno@clisp.org>
22970
22971         uninorm tests: Preserve copyright of Unicode data file.
22972         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
22973         Mention modifications.
22974
22975 2011-01-08  Bruno Haible  <bruno@clisp.org>
22976
22977         gen-uni-tables: Prepare for Unicode 5.2.0.
22978         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
22979         (debug_output_lbp, output_lbp): Update.
22980
22981 2011-01-08  Bruno Haible  <bruno@clisp.org>
22982
22983         unilbrk: Clarify gen-uni-tables.c code.
22984         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
22985         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
22986         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
22987
22988 2011-01-07  Bruno Haible  <bruno@clisp.org>
22989
22990         strtod: Restore errno when successfully parsing Infinity or NaN.
22991         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
22992         restore the original errno.
22993
22994 2011-01-07  Bruno Haible  <bruno@clisp.org>
22995
22996         remove test: Avoid failure on HP-UX 11.
22997         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
22998
22999 2011-01-07  Bruno Haible  <bruno@clisp.org>
23000
23001         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23002         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23003         error code.
23004
23005 2011-01-07  Pádraig Brady <P@draigBrady.com>
23006
23007         ignore-value: fixup comments, and add Eric Blake
23008         as an author since he rewrote the macros.
23009         * lib/ignore-value.h (ignore_value):  State that
23010         we now support aggregates.  Also specify exactly
23011         when the GCC warn_unused_result feature was added.
23012
23013 2011-01-06  Eric Blake  <eblake@redhat.com>
23014
23015         ignore-value: support aggregate types
23016         * lib/ignore-value.h (ignore_value): Provide separate gcc
23017         definition.
23018         * modules/ignore-value-tests: New test module.
23019         * tests/test-ignore-value.c: New test.
23020
23021         maint.mk: improve sc_prohibit_strcmp regex
23022         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23023         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23024         definition of STRNEQ.
23025
23026         signal: work around Haiku issue with SIGBUS
23027         * lib/siglist.h: Add comment.
23028         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23029         strsignal's favoring of SIGSEGV.
23030         * tests/test-signal.c (main): Avoid test failure.
23031         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23032         Reported by Scott McCreary.
23033
23034         maint.mk: add pre-release check to ensure submodule commits are public
23035         * top/maint.mk (public-submodule-commit): New rule.
23036         (submodule-checks): New variable.
23037         (alpha beta stable): Depend on the variable.
23038
23039 2011-01-05  Pádraig Brady <P@draigBrady.com>
23040         and Jim Meyering  <meyering@redhat.com>
23041
23042         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23043         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23044         (ATTRIBUTE_DEPRECATED): Define.
23045         (_ignore_case): New function.
23046         (ignore_value): New macro, to replace the old function.
23047         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23048         * modules/ignore-value (Depends-on): Add stdint.
23049
23050 2011-01-04  Eric Blake  <eblake@redhat.com>
23051
23052         doc: regenerate INSTALL
23053         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23054         @firstparagraphindent support, now that autoconf dropped it.
23055         (INSTALL_PRELUDE): Reinstate old macro.
23056         * doc/install.texi: Resync from autoconf.
23057         * doc/INSTALL: Reflect recent autoconf update.
23058         * doc/INSTALL.ISO: Likewise.
23059         * doc/INSTALL.UTF-8: Likewise.
23060         Reported by Karl Berry.
23061
23062 2011-01-04  Bruce Korb  <address@hidden>
23063
23064         git-version-gen: avoid a sub-shell
23065         * build-aux/git-version-gen: Redirect stderr in `...` via
23066         "exec 2>...", rather than via an added sub-shell.
23067
23068 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23069
23070         git-version-gen: use (...) rather than sh -c '...'
23071         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23072         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23073
23074 2011-01-03  Jim Meyering  <meyering@redhat.com>
23075
23076         git-version-gen: convert leading TABs to spaces
23077         * build-aux/git-version-gen: Expand leading TABs.
23078
23079         git-version-gen: handle failed "git rev-list"
23080         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23081         from git and proceeding as if it had succeeded but printed no SHA1
23082         checksums, suppress the diagnostic and handle the failure.
23083         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23084
23085         git-version-gen: include command name in one more diagnostic
23086         * build-aux/git-version-gen: When the required .tarball-version file
23087         was missing or unreadable, you might see the diagnostic from "cat",
23088         but no trace of the name of the invoking script.  Now, you still see
23089         the diagnostic from cat, but also get one from "git-version-gen: ".
23090         Inspired by a patch from Bruce Korb.
23091
23092         update-copyright: adjust test to match changed code
23093         * tests/test-update-copyright.sh: Change test's expected output
23094         to match new actual output.
23095
23096 2011-01-02  Bruno Haible  <bruno@clisp.org>
23097
23098         getlogin_r: Avoid test failure on HP-UX 11.
23099         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23100         ERANGE when the second argument is zero.
23101         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23102         portability problem.
23103
23104 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23105
23106         * build-aux/update-copyright: doc Simon's changes
23107
23108 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23109
23110         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23111         environment variable.
23112
23113 2011-01-02  Bruno Haible  <bruno@clisp.org>
23114
23115         unigbrk: Avoid gcc warnings.
23116         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23117         unused variable.
23118         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23119         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23120         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23121         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23122         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23123         Change type of first argument to 'const char *'.
23124         (main): Remove unused variable.
23125         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23126         type of first argument to 'const char *'.
23127         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23128         Likewise.
23129         (main): Change type of variable 's'.
23130         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23131         to 'int'.
23132
23133 2011-01-02  Bruno Haible  <bruno@clisp.org>
23134
23135         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23136         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23137         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23138         bug.
23139         * lib/pwrite.c: Undo 2010-12-31 patch.
23140         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23141
23142 2011-01-02  Bruno Haible  <bruno@clisp.org>
23143
23144         pread: Fix test whether it works.
23145         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23146
23147 2011-01-02  Bruno Haible  <bruno@clisp.org>
23148
23149         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23150         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23151         ends in "6". Don't require a specific month name. Try also the locale
23152         names found on HP-UX 11 and Solaris 7.
23153
23154 2011-01-02  Bruno Haible  <bruno@clisp.org>
23155
23156         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23157         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23158         C linkage.
23159         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23160
23161 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23162
23163         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23164         for consistency, since the "cluster" term is not used elsewhere.
23165         * lib/unigbrk.in.h: Update name.
23166         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23167         * lib/unigbrk/u16-grapheme-next.c: Update name.
23168         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23169         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23170         * lib/unigbrk/u32-grapheme-next.c: Update name.
23171         * lib/unigbrk/u32-grapheme-prev.c: Update name.
23172         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
23173         * lib/unigbrk/u8-grapheme-next.c: Update name.
23174         * lib/unigbrk/u8-grapheme-prev.c: Update name.
23175         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
23176         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
23177         Suggested by Bruno Haible.
23178
23179 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23180
23181         Remove module 'u8-grapheme-len' as too redundant with
23182         'u8-grapheme-next'.
23183         * modules/unigbrk/u8-grapheme-len: Delete file.
23184         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
23185         * lib/unigbrk.in.h: Remove prototype for deleted function.
23186         * lib/unigbrk/u8-grapheme-len.c: Delete file.
23187         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
23188
23189         Remove module 'u16-grapheme-len' as too redundant with
23190         'u16-grapheme-next'.
23191         * modules/unigbrk/u16-grapheme-len: Delete file.
23192         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
23193         * lib/unigbrk.in.h: Remove prototype for deleted function.
23194         * lib/unigbrk/u16-grapheme-len.c: Delete file.
23195         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
23196
23197         Remove module 'u32-grapheme-len' as too redundant with
23198         'u32-grapheme-next'.
23199         * modules/unigbrk/u32-grapheme-len: Delete file.
23200         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
23201         * lib/unigbrk.in.h: Remove prototype for deleted function.
23202         * lib/unigbrk/u32-grapheme-len.c: Delete file.
23203         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
23204
23205         Suggested by Bruno Haible.
23206
23207 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23208
23209         * unigbrk.in.h: Fix typo: "ben" => "been".
23210         Reported by Bruno Haible.
23211
23212 2011-01-01  Jim Meyering  <meyering@redhat.com>
23213
23214         maint: update almost all copyright ranges to include 2011
23215         Run the new "make update-copyright" rule.
23216
23217 2011-01-01  Jim Meyering  <meyering@redhat.com>
23218
23219         maint: update-copyright: exempt doc/INSTALL*
23220         * Makefile (update-copyright): Also exclude doc/INSTALL*,
23221         since they are generated.  Suggested by Bruno Haible.
23222
23223 2011-01-01  Jim Meyering  <meyering@redhat.com>
23224
23225         maint: refine the update-copyright rule
23226         * Makefile (update-copyright): Also exclude any file that includes
23227         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
23228         code that merely generates the comment.
23229
23230 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23231
23232         New module 'u8-grapheme-len'.
23233         * modules/unigbrk/u8-grapheme-len: New file.
23234         * modules/unigbrk/u8-grapheme-len-tests: New file.
23235         * lib/unigbrk.in.h: Add prototype for new function.
23236         * lib/unigbrk/u8-grapheme-len.c: New file.
23237         * tests/unigbrk/test-u8-grapheme-len.c: New file.
23238
23239         New module 'u16-grapheme-len'.
23240         * modules/unigbrk/u16-grapheme-len: New file.
23241         * modules/unigbrk/u16-grapheme-len-tests: New file.
23242         * lib/unigbrk.in.h: Add prototype for new function.
23243         * lib/unigbrk/u16-grapheme-len.c: New file.
23244         * tests/unigbrk/test-u16-grapheme-len.c: New file.
23245
23246         New module 'u32-grapheme-len'.
23247         * modules/unigbrk/u32-grapheme-len: New file.
23248         * modules/unigbrk/u32-grapheme-len-tests: New file.
23249         * lib/unigbrk.in.h: Add prototype for new function.
23250         * lib/unigbrk/u32-grapheme-len.c: New file.
23251         * tests/unigbrk/test-u32-grapheme-len.c: New file.
23252
23253         New module 'u8-grapheme-next'.
23254         * modules/unigbrk/u8-grapheme-next: New file.
23255         * modules/unigbrk/u8-grapheme-next-tests: New file.
23256         * lib/unigbrk.in.h: Add prototype for new function.
23257         * lib/unigbrk/u8-grapheme-next.c: New file.
23258         * tests/unigbrk/test-u8-grapheme-next.c: New file.
23259
23260         New module 'u16-grapheme-next'.
23261         * modules/unigbrk/u16-grapheme-next: New file.
23262         * modules/unigbrk/u16-grapheme-next-tests: New file.
23263         * lib/unigbrk.in.h: Add prototype for new function.
23264         * lib/unigbrk/u16-grapheme-next.c: New file.
23265         * tests/unigbrk/test-u16-grapheme-next.c: New file.
23266
23267         New module 'u32-grapheme-next'.
23268         * modules/unigbrk/u32-grapheme-next: New file.
23269         * modules/unigbrk/u32-grapheme-next-tests: New file.
23270         * lib/unigbrk.in.h: Add prototype for new function.
23271         * lib/unigbrk/u32-grapheme-next.c: New file.
23272         * tests/unigbrk/test-u32-grapheme-next.c: New file.
23273
23274         New module 'u8-grapheme-prev'.
23275         * modules/unigbrk/u8-grapheme-prev: New file.
23276         * modules/unigbrk/u8-grapheme-prev-tests: New file.
23277         * lib/unigbrk.in.h: Add prototype for new function.
23278         * lib/unigbrk/u8-grapheme-prev.c: New file.
23279         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
23280
23281         New module 'u16-grapheme-prev'.
23282         * modules/unigbrk/u16-grapheme-prev: New file.
23283         * modules/unigbrk/u16-grapheme-prev-tests: New file.
23284         * lib/unigbrk.in.h: Add prototype for new function.
23285         * lib/unigbrk/u16-grapheme-prev.c: New file.
23286         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
23287
23288         New module 'u32-grapheme-prev'.
23289         * modules/unigbrk/u32-grapheme-prev: New file.
23290         * modules/unigbrk/u32-grapheme-prev-tests: New file.
23291         * lib/unigbrk.in.h: Add prototype for new function.
23292         * lib/unigbrk/u32-grapheme-prev.c: New file.
23293         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
23294
23295         New module 'u8-grapheme-breaks'.
23296         * modules/unigbrk/u8-grapheme-breaks: New file.
23297         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
23298         * lib/unigbrk.in.h: Add prototype for new function.
23299         * lib/unigbrk/u8-grapheme-breaks.c: New file.
23300         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
23301
23302         New module 'u16-grapheme-breaks'.
23303         * modules/unigbrk/u16-grapheme-breaks: New file.
23304         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
23305         * lib/unigbrk.in.h: Add prototype for new function.
23306         * lib/unigbrk/u16-grapheme-breaks.c: New file.
23307         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
23308
23309         New module 'u32-grapheme-breaks'.
23310         * modules/unigbrk/u32-grapheme-breaks: New file.
23311         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
23312         * lib/unigbrk.in.h: Add prototype for new function.
23313         * lib/unigbrk/u32-grapheme-breaks.c: New file.
23314         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
23315
23316         New module 'ulc-grapheme-breaks'.
23317         * modules/unigbrk/ulc-grapheme-breaks: New file.
23318         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
23319         * m4/locale-ar.m4: New file.
23320         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
23321         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
23322         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
23323
23324 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
23325
23326         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
23327         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
23328         modified how this file was generated before I initially submitted
23329         the module, but failed to regenerate it.  This meant that several
23330         of the level2 entries were wrong.
23331         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
23332         Remove the division-by-2 that is folded into the table now that
23333         gbrkprop.h has been regenerated properly.  Now -1 entries are
23334         handled correctly.
23335
23336         New module 'unigbrk/uc-gbrk-prop-tests'.
23337         * modules/unigbrk/uc-gbrk-prop-tests: New file.
23338         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
23339         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
23340         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
23341
23342 2011-01-01  Bruno Haible  <bruno@clisp.org>
23343
23344         Avoid use of hexadecimal escapes.
23345         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
23346         instead of hexadecimal escapes.
23347
23348 2011-01-01  Jim Meyering  <meyering@redhat.com>
23349
23350         maint: new rule to update copyright year ranges
23351         * Makefile (update-copyright): New rule.
23352
23353         maint: indent with TABs in Makefile
23354         * Makefile: Expand leading sequences of spaces to TABs
23355
23356         version-etc: update the copyright year it reports
23357         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
23358
23359 2010-12-31  Bruno Haible  <bruno@clisp.org>
23360
23361         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
23362         * lib/isfinite.c (zerof, zerod, zerol): New variables.
23363         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
23364         zero.
23365
23366 2010-12-31  Bruno Haible  <bruno@clisp.org>
23367
23368         pwrite: Work around HP-UX 11.11 bug.
23369         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
23370         works and set REPLACE_PWRITE if not.
23371         * lib/pwrite.c (pwrite): Add an implementation that uses the system
23372         function.
23373         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
23374
23375 2010-12-31  Bruno Haible  <bruno@clisp.org>
23376
23377         pread: Work around HP-UX 11 bugs.
23378         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
23379         and set REPLACE_PREAD if not.
23380         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
23381
23382 2010-12-31  Eric Blake  <eblake@redhat.com>
23383
23384         nl_langinfo: fix YESEXPR on Irix 6.5
23385         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
23386         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
23387         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
23388         it.
23389
23390 2010-12-31  Bruno Haible  <bruno@clisp.org>
23391
23392         iconv: Document HP-UX 11 bug.
23393         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
23394
23395 2010-12-31  Bruno Haible  <bruno@clisp.org>
23396
23397         ldexpl: Fix link error on HP-UX 11.
23398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
23399         LDEXPL_LIBM, using $ISNANL_LIBM.
23400
23401 2010-12-31  Eric Blake  <eblake@redhat.com>
23402
23403         ftello: avoid compilation failure with SunStudio c89
23404         * lib/ftello.c (ftello): Use lseek, not llseek.
23405
23406         tests: avoid failing coreutils tests on cygwin
23407         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
23408         (create_exe_shims_): Return 0 when skipping.
23409
23410 2010-12-31  Bruno Haible  <bruno@clisp.org>
23411
23412         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
23413         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
23414
23415 2010-12-31  Bruno Haible  <bruno@clisp.org>
23416
23417         waitpid: Fix link error in C++ mode.
23418         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
23419
23420 2010-12-31  Bruno Haible  <bruno@clisp.org>
23421
23422         isnan: Use GCC built-ins when possible.
23423         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
23424         __builtin_isnan.
23425         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
23426         (isnan): Define using GCC built-ins for GCC >= 4.0.
23427
23428 2010-12-31  Bruno Haible  <bruno@clisp.org>
23429
23430         isnand: Fix mistake.
23431         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
23432         __builtin_isnand.
23433
23434 2010-12-31  Bruno Haible  <bruno@clisp.org>
23435
23436         open: Avoid C++ error on HP-UX 11.
23437         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
23438
23439 2010-12-31  Bruno Haible  <bruno@clisp.org>
23440
23441         time_r: Add missing declarations on HP-UX 11.
23442         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
23443         instead of HAVE_LOCALTIME_R.
23444         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
23445         HAVE_LOCALTIME_R always.
23446         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
23447         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
23448         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
23449         HAVE_LOCALTIME_R.
23450         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
23451         * doc/posix-functions/localtime_r.texi: Likewise.
23452
23453 2010-12-29  Eric Blake  <eblake@redhat.com>
23454
23455         mountlist: tweak previous commit
23456         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
23457         Reported by Paul Eggert.
23458
23459         mountlist: fix local drive detection on cygwin
23460         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
23461         that works for cygwin.
23462
23463 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
23464
23465         ftoastr, snprintf: ftoastr + snprintf module
23466         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
23467         since the snprintf module now should be good enough here.
23468         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
23469         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
23470         and gl_MODULE_INDICATOR([snprintf]), but the former enables
23471         GNULIB_SNPRINTF only for the test directory, and the latter
23472         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
23473         seems to suffice by itself.
23474
23475 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
23476
23477         alloca: one step towards thread-safety
23478         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
23479         need for a static variable.  All callers changed.  This does not
23480         make the alloca replacement thread-safe, but it's one step.
23481
23482         tests: minor indenting change
23483         * tests/init.sh: Sync from coreutils housekeeping patch
23484         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
23485         to keep lines within 80 columns.
23486
23487 2010-12-28  Jim Meyering  <meyering@redhat.com>
23488
23489         regex: don't infloop on persistent failing calloc
23490         * lib/regexec.c (build_trtable): Return failure indication upon
23491         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
23492         In glibc, this was fixed for version 2.13:
23493         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
23494
23495 2010-12-28  Bruno Haible  <bruno@clisp.org>
23496             Paul Eggert <eggert@cs.ucla.edu>
23497
23498         linkat: Make implementation robust against system behaviour variations.
23499         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
23500         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
23501         way, and to -2 if it needs a generic runtime test.
23502         * lib/linkat.c (solaris_optimized_link_immediate,
23503         solaris_optimized_link_follow): New functions.
23504         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
23505         (check_same_link): Use it.
23506
23507 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
23508
23509         New module 'unigbrk/base'.
23510         * modules/unigbrk/base: New file.
23511         * lib/unigbrk.in.h: New file.
23512
23513         New module 'unigbrk/uc-gbrk-prop'.
23514         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
23515         * modules/unigbrk/uc-gbrk-prop: New file.
23516         * lib/unigbrk/gbrkprop.h: New file.
23517         * lib/unigbrk/uc-gbrk-prop.c: New file.
23518
23519         New module 'unigbrk/uc-is-grapheme-break'.
23520         * modules/unigbrk/uc-is-grapheme-break: New file.
23521         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
23522         * lib/unigbrk/uc-is-grapheme-break.c: New file.
23523         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
23524         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
23525         * tests/unigbrk/GraphemeBreakTest.txt: New file.
23526
23527         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
23528
23529 2010-12-27  Bruno Haible  <bruno@clisp.org>
23530
23531         linkat test: Avoid failure on Solaris 11 2010-11.
23532         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
23533
23534 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23535
23536         utimens: work around glibc rounding bug on more platforms
23537         * lib/utimens.c (fdutimens): Work around rounding bug even if
23538         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
23539         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
23540
23541 2010-12-27  Bruno Haible  <bruno@clisp.org>
23542
23543         select tests: Improve comments.
23544         * tests/test-select.c (do_select): Add comments.
23545
23546 2010-12-27  Bruno Haible  <bruno@clisp.org>
23547
23548         select tests: Safer way of handling timeout.
23549         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
23550         at every invocation.
23551
23552 2010-12-27  Bruno Haible  <bruno@clisp.org>
23553
23554         select tests: Use 'bool' where appropriate.
23555         * tests/test-select.c (connect_to_socket): Change argument type to
23556         'bool'.
23557
23558 2010-12-27  Bruno Haible  <bruno@clisp.org>
23559
23560         select tests: Use existing modules.
23561         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
23562         (configure.ac): Don't test for unistd.h.
23563         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
23564         declared in <unistd.h>.
23565
23566 2010-12-27  Bruno Haible  <bruno@clisp.org>
23567
23568         mbrtowc: Work around a Solaris 7 bug.
23569         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
23570         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
23571         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
23572         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
23573         MBRTOWC_NULL_ARG1_BUG.
23574         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
23575         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
23576         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
23577         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
23578
23579 2010-12-27  Jim Meyering  <meyering@redhat.com>
23580
23581         read-file.c: tweak syntax
23582         * lib/read-file.c (fread_file): Remove space after "*" in function
23583         definitions.
23584
23585 2010-12-27  Bruno Haible  <bruno@clisp.org>
23586
23587         times test: Avoid gcc warnings on OSF/1.
23588         * tests/test-times.c (main): Cast printf arguments from clock_t to
23589         'long int'.
23590
23591 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
23592
23593         utimens: work around glibc rounding bug on older Linux kernels
23594         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
23595         on Linux with a glibc whose utimes might not work, then work
23596         around a longstanding glibc bug involving rounding rather than
23597         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
23598         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23599
23600 2010-12-26  Bruno Haible  <bruno@clisp.org>
23601
23602         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
23603         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
23604         _GL_CXXALIAS_SYS.
23605         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23606
23607 2010-12-26  Bruno Haible  <bruno@clisp.org>
23608
23609         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
23610         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
23611         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
23612         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
23613         looking for the declaration.
23614         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
23615         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
23616         problem.
23617         * doc/posix-functions/inet_pton.texi: Likewise.
23618
23619 2010-12-26  Bruno Haible  <bruno@clisp.org>
23620
23621         arpa_inet: Use the common idioms with C++ support.
23622         * lib/arpa_inet.in.h: Include c++defs.h.
23623         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
23624         support.
23625         * modules/arpa_inet (Depends-on): Add c++defs.
23626         (Makefile.am): Substitute the contents of c++defs.h.
23627         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
23628         * modules/arpa_inet-c++-tests: New file.
23629         * tests/test-arpa_inet-c++.cc: New file.
23630
23631 2010-12-25  Bruno Haible  <bruno@clisp.org>
23632
23633         Fix more C++ link errors on Solaris 8.
23634         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
23635         $(LIB_EACCESS).
23636         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
23637         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
23638         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
23639         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
23640         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
23641
23642 2010-12-25  Bruno Haible  <bruno@clisp.org>
23643
23644         printf-posix: Fix link error when a non-GCC compiler is used.
23645         * lib/stdio.in.h (printf): When not using GCC, override printf
23646         correctly.
23647         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23648
23649 2010-12-25  Bruno Haible  <bruno@clisp.org>
23650
23651         strerror_r-posix: Update doc.
23652         * doc/posix-functions/strerror_r.texi: Update doc about the return
23653         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
23654
23655 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23656
23657         utimens: simplify the logic of the previous change
23658         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
23659         This should not affect whether the test succeeds or fails.
23660
23661         utimens: configure better on hosts with NFS clock skew
23662         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
23663         uses the clock of the local host.  It might use the clock of the
23664         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
23665         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
23666
23667 2010-12-25  Bruno Haible  <bruno@clisp.org>
23668
23669         ptsname test: Avoid failure on Solaris.
23670         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
23671         open a pseudo-terminal; don't use BSD-style ptys.
23672         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
23673
23674 2010-12-25  Bruno Haible  <bruno@clisp.org>
23675
23676         ptsname: Avoid ERANGE failure on some systems.
23677         * lib/ptsname.c (buffer): Increase size.
23678
23679 2010-12-25  Bruno Haible  <bruno@clisp.org>
23680
23681         rename, renameat: Avoid test failures at NFS mounted locations.
23682         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
23683         so that subsequent mkdir calls succeed.
23684
23685 2010-12-25  Bruno Haible  <bruno@clisp.org>
23686
23687         iswblank: Fix C++ link error on Solaris 8.
23688         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
23689         _GL_FUNCDECL_SYS.
23690
23691 2010-12-25  Bruno Haible  <bruno@clisp.org>
23692
23693         unistd: Fix C++ link error on Solaris 8.
23694         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
23695
23696 2010-12-25  Bruno Haible  <bruno@clisp.org>
23697
23698         readlink doc: Mention an old glibc bug.
23699         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
23700
23701 2010-12-25  Bruno Haible  <bruno@clisp.org>
23702
23703         fcntl-h: Fix for use of C++ on glibc systems.
23704         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
23705         also on glibc systems in C++ mode.
23706         Reported by Gary V. Vaughan <gary@gnu.org>.
23707
23708 2010-12-25  Bruno Haible  <bruno@clisp.org>
23709
23710         roundl-ieee: Make it work on OSF/1 5.1 with cc.
23711         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
23712
23713 2010-12-25  Bruno Haible  <bruno@clisp.org>
23714
23715         truncl-ieee: Make it work on OSF/1 5.1 with cc.
23716         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
23717         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
23718         test whether truncl works according to ISO C 99 with IEC 60559.
23719         * m4/truncl-ieee.m4: New file.
23720         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
23721         m4/signbit.m4.
23722         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
23723
23724 2010-12-25  Bruno Haible  <bruno@clisp.org>
23725
23726         ceill-ieee: Make it work on OSF/1 5.1 with cc.
23727         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
23728         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
23729         test whether ceill works according to ISO C 99 with IEC 60559.
23730         * m4/ceill-ieee.m4: New file.
23731         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
23732         m4/signbit.m4.
23733         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
23734
23735 2010-12-25  Bruno Haible  <bruno@clisp.org>
23736
23737         Ensure all prerequisites of <wchar.h> are included.
23738         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
23739         before <wchar.h>.
23740         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
23741         gl_MBRLEN_NUL_RETVAL): Likewise.
23742         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
23743         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
23744         AC_FUNC_MBRTOWC): Likewise.
23745         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
23746         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
23747         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
23748         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
23749         Likewise.
23750         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
23751         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
23752         (gl_WCHAR_H): Improve comments.
23753         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23754
23755 2010-12-25  Bruno Haible  <bruno@clisp.org>
23756
23757         strtok_r: Fix C syntax error in autoconf macro.
23758         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
23759         characters in test program.
23760
23761 2010-12-24  Bruno Haible  <bruno@clisp.org>
23762
23763         ceil, trunc, round: Fix gcc warnings.
23764         * lib/ceil.c (MIN): Undefine before redefining.
23765         * lib/trunc.c (MIN): Likewise.
23766         * lib/round.c (MIN): Likewise.
23767         Include <math.h> first.
23768
23769 2010-12-24  Bruno Haible  <bruno@clisp.org>
23770
23771         select tests: Avoid failures on OSF/1 5.1.
23772         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
23773         failure of closing the last socket; it may fail with ECONNRESET.
23774
23775 2010-12-24  Eric Blake  <eblake@redhat.com>
23776
23777         stdint: avoid HP-UX 10.20 preprocessor bug
23778         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
23779         than #if.
23780         * tests/test-floor2.c (main): Likewise.
23781         Reported by Peter O'Gorman.
23782
23783         pipe: make obsoletion transition easier
23784         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
23785         * modules/pipe (Files): Include revived file.
23786         (Include): Drop reference, to mirror getdate's behavior.
23787
23788 2010-12-24  Bruno Haible  <bruno@clisp.org>
23789
23790         sys_socket: Hide mismatch of declarations on NonStop Kernel.
23791         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
23792         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
23793         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23794
23795 2010-12-24  Bruno Haible  <bruno@clisp.org>
23796
23797         gethostname: Ensure declaration on NonStop Kernel.
23798         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
23799         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23800
23801 2010-12-24  Bruno Haible  <bruno@clisp.org>
23802
23803         sys_select: Ensure all necessary types on NonStop Kernel.
23804         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
23805         include <sys/time.h>.
23806         * doc/posix-headers/sys_select.texi: Mention that it's missing on
23807         NonStop Kernel.
23808         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23809
23810 2010-12-24  Bruno Haible  <bruno@clisp.org>
23811
23812         sys_select: Remove unneeded include.
23813         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
23814         have <sys/select.h>.
23815
23816 2010-12-24  Bruno Haible  <bruno@clisp.org>
23817
23818         gethostname: Provide a fallback for HOST_NAME_MAX.
23819         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
23820         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
23821         instead.
23822         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23823
23824 2010-12-24  Bruno Haible  <bruno@clisp.org>
23825
23826         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
23827         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
23828         (SA_RESTART): Likewise.
23829         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23830
23831 2010-12-24  Bruno Haible  <bruno@clisp.org>
23832
23833         signal: Define NSIG.
23834         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
23835         * tests/test-signal.c (nsig): New variable.
23836         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23837
23838 2010-12-24  Bruno Haible  <bruno@clisp.org>
23839
23840         rename, renameat: Avoid test failures on OSF/1 5.1.
23841         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
23842         alternative error codes.
23843         * tests/test-renameat.c (main): Likewise.
23844
23845 2010-12-24  Bruno Haible  <bruno@clisp.org>
23846
23847         *printf: Detect large precisions bug on Solaris 10/SPARC.
23848         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
23849         by Paul Eggert.
23850         * tests/test-snprintf-posix.h (test_function): Add this test code here
23851         too.
23852         * tests/test-sprintf-posix.h (test_function): Likewise.
23853         * tests/test-vasnprintf-posix.c (test_function): Likewise.
23854         * tests/test-vasprintf-posix.c (test_function): Likewise.
23855         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
23856         around by gnulib.
23857         * doc/posix-functions/printf.texi: Likewise.
23858         * doc/posix-functions/snprintf.texi: Likewise.
23859         * doc/posix-functions/sprintf.texi: Likewise.
23860         * doc/posix-functions/vfprintf.texi: Likewise.
23861         * doc/posix-functions/vprintf.texi: Likewise.
23862         * doc/posix-functions/vsnprintf.texi: Likewise.
23863         * doc/posix-functions/vsprintf.texi: Likewise.
23864         * doc/posix-functions/dprintf.texi: Undo last commit.
23865         * doc/posix-functions/vdprintf.texi: Likewise.
23866
23867 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
23868
23869         tests: port test-fdutimensat.c to Solaris 8
23870         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
23871         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
23872         On Solaris 8, it fails with errno == ENOSYS, because there is no
23873         futimens (so it can't use the fd), and there is no lutimens (so it
23874         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
23875
23876         vsnprintf: make more consistent with snprintf; doc fixes
23877
23878         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
23879         the byte count return problem was promoted from the snprintf-posix
23880         to the snprintf module.
23881         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23882         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
23883         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
23884         * tests/test-snprintf.c (main): Check the byte count returned.
23885         * tests/test-vsnprintf.c (main): Likewise.
23886
23887 2010-12-23  Eric Blake  <eblake@redhat.com>
23888
23889         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
23890         * modules/sigpipe (License): Relax license.
23891
23892 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
23893
23894         doc: document Solaris printf bug with large float precisions
23895         * doc/posix-functions/dprintf.texi (dprintf):
23896         * doc/posix-functions/fprintf.texi (fprintf):
23897         * doc/posix-functions/printf.texi (printf):
23898         * doc/posix-functions/snprintf.texi (snprintf):
23899         * doc/posix-functions/sprintf.texi (sprintf):
23900         * doc/posix-functions/vdprintf.texi (vdprintf):
23901         * doc/posix-functions/vfprintf.texi (vfprintf):
23902         * doc/posix-functions/vprintf.texi (vprintf):
23903         * doc/posix-functions/vsnprintf.texi (vsnprintf):
23904         * doc/posix-functions/vsprintf.texi (vsprintf):
23905         Mention that these functions mishandle large floating point
23906         precisions on Solaris 10.  The same bug is also present in Solaris
23907         8, and I assume earlier.  This causes "cd gnulib-tests; make
23908         check" to fail on Solaris 8 (and I assume, later) when building
23909         the latest coreutils, in test-vasprintf-posix's call to
23910         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
23911         the wide flavors (e.g., wprintf) so this patch just updates the
23912         documentation for the narrow ones.
23913
23914         test-posixtm.c: add two tests
23915         * tests/test-posixtm.c: Add two tests, to highlight the
23916         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
23917         around this bug; this is merely to document it.
23918
23919 2010-12-22  Bruno Haible  <bruno@clisp.org>
23920
23921         getlogin_r: Work around portability problem on OSF/1.
23922         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
23923         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
23924         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
23925         test for a truncated result.
23926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
23927         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
23928         * modules/getlogin_r (Depends-on): Add memchr.
23929         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
23930
23931 2010-12-22  Bruno Haible  <bruno@clisp.org>
23932
23933         ptsname: Avoid test failure on OSF/1 5.1.
23934         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
23935         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
23936         (same_slave): New function.
23937         (main): Use it to compare ptsname's result with the expected file name.
23938
23939 2010-12-22  Bruno Haible  <bruno@clisp.org>
23940
23941         Port extended stdio modules to HP NonStop Kernel.
23942         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
23943         macros.
23944         * lib/fbufmode.c: Update comments.
23945         * lib/fflush.c: Likewise.
23946         * lib/fpurge.c: Likewise.
23947         * lib/freadable.c: Likewise.
23948         * lib/freadahead.c: Likewise.
23949         * lib/freading.c: Likewise.
23950         * lib/freadptr.c: Likewise.
23951         * lib/freadseek.c: Likewise.
23952         * lib/fseeko.c: Likewise.
23953         * lib/fseterr.c: Likewise.
23954         * lib/fwritable.c: Likewise.
23955         * lib/fwriting.c: Likewise.
23956         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
23957
23958 2010-12-22  Bruno Haible  <bruno@clisp.org>
23959
23960         ttyname_r: Work around bug on OSF/1 5.1.
23961         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
23962         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
23963         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
23964         present.
23965         * lib/ttyname_r.c (ttyname_r): Update comments.
23966
23967 2010-12-22  Bruno Haible  <bruno@clisp.org>
23968
23969         round: Implement result sign according to IEEE 754.
23970         * lib/round.c (MIN, MINUS_ZERO): New macros.
23971         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
23972         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
23973         * tests/test-round-ieee.c (main): Likewise.
23974         * tests/test-roundl-ieee.c (main): Likewise.
23975
23976         trunc: Implement result sign according to IEEE 754.
23977         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
23978         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
23979         * tests/test-trunc2.c: Include minus-zero.h.
23980         (MINUS_ZERO): New macro.
23981         (trunc_reference): Keep in sync with lib/trunc.c.
23982         * tests/test-truncf2.c: Include minus-zero.h.
23983         (MINUS_ZERO): New macro.
23984         (truncf_reference): Keep in sync with lib/trunc.c.
23985         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
23986         * tests/test-trunc-ieee.c (main): Likewise.
23987         * tests/test-truncl-ieee.c (main): Likewise.
23988
23989         ceil: Implement result sign according to IEEE 754.
23990         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
23991         (FUNC): Return -0.0 for -1 < x < 0.
23992         * tests/test-ceil2.c: Include minus-zero.h.
23993         (MINUS_ZERO): New macro.
23994         (ceil_reference): Keep in sync with lib/ceil.c.
23995         * tests/test-ceilf2.c: Include minus-zero.h.
23996         (MINUS_ZERO): New macro.
23997         (ceilf_reference): Keep in sync with lib/ceil.c.
23998         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
23999         * tests/test-ceil-ieee.c (main): Likewise.
24000         * tests/test-ceill-ieee.c (main): Likewise.
24001
24002         floor: Implement result sign according to IEEE 754.
24003         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24004         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24005         * tests/test-floorf2.c (floorf_reference): Likewise.
24006         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24007         * tests/test-floor-ieee.c (main): Likewise.
24008         * tests/test-floorl-ieee.c (main): Likewise.
24009
24010 2010-12-22  Bruno Haible  <bruno@clisp.org>
24011
24012         getaddrinfo: Update doc.
24013         * doc/posix-functions/gai_strerror.texi: Return type is also different
24014         on AIX and HP-UX.
24015
24016 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24017
24018         getaddrinfo, inet_ntop: Update doc for Solaris.
24019         * doc/posix-functions/gai_strerror.texi: Return type is also an
24020         issue on Solaris 9 and earlier.
24021         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24022         on Solaris 10 and earlier.
24023
24024 2010-12-21  Bruno Haible  <bruno@clisp.org>
24025
24026         New module 'roundl-ieee'.
24027         * modules/roundl-ieee: New file.
24028         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24029         test whether roundl works according to ISO C 99 with IEC 60559.
24030         * m4/roundl-ieee.m4: New file.
24031         * modules/roundl-ieee-tests: New file.
24032         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24033         * tests/test-roundl.c (main): Remove signbit tests.
24034         * modules/roundl-tests (Depends-on): Remove signbit.
24035         * doc/posix-functions/roundl.texi: Mention the new module.
24036
24037 2010-12-21  Bruno Haible  <bruno@clisp.org>
24038
24039         New module 'truncl-ieee'.
24040         * modules/truncl-ieee: New file.
24041         * modules/truncl-ieee-tests: New file.
24042         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24043         * tests/test-truncl.c (main): Remove signbit tests.
24044         * modules/truncl-tests (Depends-on): Remove signbit.
24045         * doc/posix-functions/truncl.texi: Mention the new module.
24046
24047 2010-12-21  Bruno Haible  <bruno@clisp.org>
24048
24049         New module 'ceill-ieee'.
24050         * modules/ceill-ieee: New file.
24051         * modules/ceill-ieee-tests: New file.
24052         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24053         * tests/test-ceill.c (main): Remove signbit tests.
24054         * modules/ceill-tests (Depends-on): Remove signbit.
24055         * doc/posix-functions/ceill.texi: Mention the new module.
24056
24057 2010-12-21  Bruno Haible  <bruno@clisp.org>
24058
24059         New module 'floorl-ieee'.
24060         * modules/floorl-ieee: New file.
24061         * modules/floorl-ieee-tests: New file.
24062         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24063         * tests/test-floorl.c (main): Remove signbit tests.
24064         * modules/floorl-tests (Depends-on): Remove signbit.
24065         * doc/posix-functions/floorl.texi: Mention the new module.
24066
24067 2010-12-21  Bruno Haible  <bruno@clisp.org>
24068
24069         New module 'round-ieee'.
24070         * modules/round-ieee: New file.
24071         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24072         whether round works according to ISO C 99 with IEC 60559.
24073         * m4/round-ieee.m4: New file.
24074         * modules/round-ieee-tests: New file.
24075         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24076         * tests/test-round1.c (main): Remove signbit tests.
24077         * modules/round-tests (Depends-on): Remove 'signbit'.
24078         * doc/posix-functions/round.texi: Mention the new module.
24079
24080 2010-12-21  Bruno Haible  <bruno@clisp.org>
24081
24082         New module 'trunc-ieee'.
24083         * modules/trunc-ieee: New file.
24084         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24085         whether trunc works according to ISO C 99 with IEC 60559.
24086         * m4/trunc-ieee.m4: New file.
24087         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24088         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24089         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24090         * modules/trunc-ieee-tests: New file.
24091         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24092         * tests/test-trunc1.c (main): Remove signbit tests.
24093         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24094         * doc/posix-functions/trunc.texi: Mention the new module.
24095
24096 2010-12-21  Bruno Haible  <bruno@clisp.org>
24097
24098         New module 'ceil-ieee'.
24099         * modules/ceil-ieee: New file.
24100         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24101         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24102         ISO C 99 with IEC 60559.
24103         * m4/ceil-ieee.m4: New file.
24104         * modules/ceil (Files): Add lib/ceil.c.
24105         (Depends-on): Add 'float'.
24106         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24107         * lib/math.in.h (ceil): New declaration.
24108         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24109         REPLACE_CEIL.
24110         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24111         * modules/ceil-ieee-tests: New file.
24112         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24113         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24114         * doc/posix-functions/ceil.texi: Mention the new module.
24115
24116 2010-12-21  Bruno Haible  <bruno@clisp.org>
24117
24118         New module 'floor-ieee'.
24119         * modules/floor-ieee: New file.
24120         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24121         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24122         ISO C 99 with IEC 60559.
24123         * m4/floor-ieee.m4: New file.
24124         * modules/floor (Files): Add lib/floor.c.
24125         (Depends-on): Add 'float'.
24126         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24127         * lib/math.in.h (floor): New declaration.
24128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24129         REPLACE_FLOOR.
24130         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24131         * modules/floor-ieee-tests: New file.
24132         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24133         * tests/test-math-c++.cc: Check the signature of 'floor'.
24134         * doc/posix-functions/floor.texi: Mention the new module.
24135
24136 2010-12-21  Bruno Haible  <bruno@clisp.org>
24137
24138         New module 'roundf-ieee'.
24139         * modules/roundf-ieee: New file.
24140         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24141         test whether roundf works according to ISO C 99 with IEC 60559.
24142         * m4/roundf-ieee.m4: New file.
24143         * modules/roundf-ieee-tests: New file.
24144         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24145         * tests/test-roundf1.c (main): Remove signbit tests.
24146         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24147         * doc/posix-functions/roundf.texi: Mention the new module.
24148
24149 2010-12-21  Bruno Haible  <bruno@clisp.org>
24150
24151         New module 'truncf-ieee'.
24152         * modules/truncf-ieee: New file.
24153         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24154         test whether truncf works according to ISO C 99 with IEC 60559.
24155         * m4/truncf-ieee.m4: New file.
24156         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24158         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24159         * modules/truncf-ieee-tests: New file.
24160         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24161         * tests/test-truncf1.c (main): Remove signbit tests.
24162         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24163         * doc/posix-functions/truncf.texi: Mention the new module.
24164
24165 2010-12-21  Bruno Haible  <bruno@clisp.org>
24166
24167         New module 'ceilf-ieee'.
24168         * modules/ceilf-ieee: New file.
24169         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24170         test whether ceilf works according to ISO C 99 with IEC 60559.
24171         * m4/ceilf-ieee.m4: New file.
24172         * modules/ceilf-ieee-tests: New file.
24173         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
24174         * tests/test-ceilf1.c (main): Remove signbit tests.
24175         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
24176         * doc/posix-functions/ceilf.texi: Mention the new module.
24177
24178 2010-12-21  Bruno Haible  <bruno@clisp.org>
24179
24180         New module 'floorf-ieee'.
24181         * modules/floorf-ieee: New file.
24182         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
24183         test whether floorf works according to ISO C 99 with IEC 60559.
24184         * m4/floorf-ieee.m4: New file.
24185         * modules/floorf-ieee-tests: New file.
24186         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
24187         * tests/test-floorf1.c (main): Remove signbit tests.
24188         * modules/floorf-tests (Depends-on): Remove 'signbit'.
24189         * doc/posix-functions/floorf.texi: Mention the new module.
24190
24191 2010-12-21  Bruno Haible  <bruno@clisp.org>
24192
24193         Support for minus zero in autoconf macros.
24194         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
24195         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
24196         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
24197         * tests/minus-zero.h: Update comments.
24198
24199 2010-12-21  Bruno Haible  <bruno@clisp.org>
24200
24201         Tests for module 'ceil'.
24202         * modules/ceil-tests: New file.
24203         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
24204         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
24205
24206 2010-12-21  Bruno Haible  <bruno@clisp.org>
24207
24208         Tests for module 'floor'.
24209         * modules/floor-tests: New file.
24210         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
24211         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
24212
24213 2010-12-21  Bruno Haible  <bruno@clisp.org>
24214
24215         math: Fix indentation.
24216         * lib/math.in.h (floorf): Fix indentation.
24217
24218 2010-12-21  Bruno Haible  <bruno@clisp.org>
24219
24220         Fix cross-compilation guesses on Solaris.
24221         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
24222         not match "solaris2.10".
24223         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24224         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
24225         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
24226
24227 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
24228
24229         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
24230         This fixes a problem observed with the latest coreutils snapshot
24231         that caused a test to fail on Solaris 8.  src/csplit.c's call
24232         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
24233         earlier, instead of returning the number of bytes that would have
24234         been generated; this causes csplit to incorrectly report memory
24235         exhaustion.
24236         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
24237         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
24238         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
24239         comments to match.
24240         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
24241         Fix typo in matching older versions of Solaris: "solaris2.10"
24242         is matched by the shell pattern "solaris2.[0-9]*".  This matters
24243         only for guessing while cross-compiling.
24244         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
24245
24246 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
24247
24248         ftoastr: fix comment again
24249         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24250         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
24251         Also, simplify example a bit by using flags = 0.
24252
24253 2010-12-20  Bruno Haible  <bruno@clisp.org>
24254
24255         round*, trunc*: Update documentation regarding glibc.
24256         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
24257         * doc/posix-functions/round.texi: Likewise.
24258         * doc/posix-functions/roundl.texi: Likewise.
24259         * doc/posix-functions/truncf.texi: Likewise.
24260         * doc/posix-functions/trunc.texi: Likewise.
24261         * doc/posix-functions/truncl.texi: Likewise.
24262
24263 2010-12-20  Bruno Haible  <bruno@clisp.org>
24264
24265         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
24266         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
24267         * doc/posix-functions/round.texi: Likewise.
24268         * doc/posix-functions/roundl.texi: Likewise.
24269
24270 2010-12-20  Bruno Haible  <bruno@clisp.org>
24271
24272         ttyname_r: Add missing declaration on HP-UX 11.
24273         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
24274         HAVE_TTYNAME_R.
24275         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
24276         declared. Set HAVE_TTYNAME_R always.
24277         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24278         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
24279         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
24280         HAVE_TTYNAME_R.
24281         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
24282
24283 2010-12-20  Bruno Haible  <bruno@clisp.org>
24284
24285         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
24286         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
24287         * doc/posix-functions/getlogin_r.texi: Likewise.
24288         * tests/test-getlogin.c: Include <errno.h>.
24289         (main): Avoid test failure on HP-UX 11.11.
24290         * tests/test-getlogin_r.c (main): Likewise.
24291
24292 2010-12-20  Bruno Haible  <bruno@clisp.org>
24293
24294         getlogin_r: Add missing declaration on HP-UX 11.
24295         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
24296         declared also when it exists as a function.
24297         * doc/posix-functions/getlogin_r.texi: Document this workaround.
24298
24299 2010-12-20  Bruno Haible  <bruno@clisp.org>
24300
24301         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
24302         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
24303         through wcrtomb.
24304
24305 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
24306
24307         ftoastr: fix comment
24308         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
24309         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
24310
24311 2010-12-19  Bruno Haible  <bruno@clisp.org>
24312
24313         isnan: Ensure it is a macro.
24314         * lib/math.in.h (isnan): Define as a macro if not already a macro.
24315         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
24316         Solaris.
24317
24318 2010-12-19  Bruno Haible  <bruno@clisp.org>
24319
24320         ldexpl test: Fix link error on OSF/1 5.1.
24321         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
24322
24323 2010-12-19  Bruno Haible  <bruno@clisp.org>
24324
24325         wctype: Make it work in C++ mode on OSF/1 5.1.
24326         * lib/wctype.in.h (iswblank): Declare but not define here.
24327         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
24328         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
24329         * modules/wctype (Files): Add lib/iswblank.c.
24330
24331 2010-12-19  Bruno Haible  <bruno@clisp.org>
24332
24333         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
24334         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
24335         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
24336
24337 2010-12-19  Bruno Haible  <bruno@clisp.org>
24338
24339         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
24340         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
24341         _POSIX_PII_SOCKET.
24342         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
24343         * doc/posix-functions/recvfrom.texi: Likewise.
24344         * doc/posix-functions/send.texi: Likewise.
24345         * doc/posix-functions/sendto.texi: Likewise.
24346
24347 2010-12-19  Bruno Haible  <bruno@clisp.org>
24348
24349         tcgetsid: Add missing declaration on OSF/1 5.1.
24350         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
24351         HAVE_TCGETSID.
24352         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
24353         Don't set HAVE_TCGETSID.
24354         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
24355         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
24356         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
24357         HAVE_TCGETSID.
24358         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
24359
24360 2010-12-19  Bruno Haible  <bruno@clisp.org>
24361
24362         stdio: Fix problem with popen() declaration on OSF/1 5.1.
24363         * lib/stdio.in.h: During the include_next statement, let recursive
24364         includes of this file include only the system header file.
24365
24366 2010-12-19  Bruno Haible  <bruno@clisp.org>
24367
24368         iconv_open: Fix regression from 2010-12-04.
24369         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
24370         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
24371
24372 2010-12-19  Bruno Haible  <bruno@clisp.org>
24373
24374         stdbool test: Avoid a gcc warning.
24375         * tests/test-stdbool.c (main): Fail if e1 is false.
24376         Reported by Jim Meyering.
24377
24378 2010-12-19  Jim Meyering  <meyering@redhat.com>
24379
24380         setenv: restore to working order
24381         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
24382         mistakenly removed.
24383         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
24384         HAVE_SETENV.
24385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
24386         HAVE_SETENV.
24387
24388 2010-12-19  Bruno Haible  <bruno@clisp.org>
24389
24390         Document some different function declarations on OSF/1 5.1.
24391         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
24392         * doc/posix-functions/inet_ntop.texi: Likewise.
24393         * doc/posix-functions/gethostname.texi: Likewise.
24394         * lib/unistd.in.h (gethostname): Update comment.
24395
24396 2010-12-19  Bruno Haible  <bruno@clisp.org>
24397
24398         doc: Mention vasprintf-posix module.
24399         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
24400         the 'vasprintf-posix' module.
24401         * doc/glibc-functions/vasprintf.texi: Likewise.
24402
24403 2010-12-19  Bruno Haible  <bruno@clisp.org>
24404
24405         unsetenv: Add missing declaration on OSF/1 5.1.
24406         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
24407         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
24408         Don't set HAVE_UNSETENV. In the test program, set _BSD.
24409         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
24410         not HAVE_UNSETENV.
24411         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
24412         HAVE_UNSETENV.
24413         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
24414
24415 2010-12-19  Bruno Haible  <bruno@clisp.org>
24416
24417         setenv: Add missing declaration on OSF/1 5.1.
24418         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
24419         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
24420         declared. Don't set HAVE_SETENV.
24421         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
24422         not HAVE_SETENV.
24423         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
24424         HAVE_SETENV.
24425         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
24426
24427 2010-12-19  Bruno Haible  <bruno@clisp.org>
24428
24429         nl_langinfo tests: Avoid gcc warning.
24430         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
24431
24432 2010-12-19  Bruno Haible  <bruno@clisp.org>
24433
24434         mknod: Avoid error in C++ mode on OSF/1 with GCC.
24435         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
24436         _GL_CXXALIAS_SYS.
24437
24438 2010-12-19  Bruno Haible  <bruno@clisp.org>
24439
24440         stdbool: Relax test.
24441         * tests/test-stdbool.c (e): Don't require that casts from a variable's
24442         address to 'bool' work in static initializer, for compilers other than
24443         GCC.
24444
24445 2010-12-19  Bruno Haible  <bruno@clisp.org>
24446
24447         ftello: Add missing declaration on OSF/1 5.1.
24448         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
24449         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
24450         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
24451         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
24452         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
24453
24454 2010-12-19  Bruno Haible  <bruno@clisp.org>
24455
24456         fseeko: Add missing declaration on OSF/1 5.1.
24457         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
24458         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
24459         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
24460         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
24461         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
24462
24463 2010-12-19  Bruno Haible  <bruno@clisp.org>
24464
24465         fchdir: Add missing declaration on OSF/1 5.1.
24466         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
24467         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
24468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
24469         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
24470         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
24471
24472 2010-12-19  Bruno Haible  <bruno@clisp.org>
24473
24474         relocatable-prog-wrapper: Separate from relocatable-prog.
24475         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
24476         uninstall-relocwrapper rule here.
24477         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
24478         Reported by Ian Beckwith <ianb@erislabs.net>.
24479
24480 2010-12-19  Bruno Haible  <bruno@clisp.org>
24481
24482         unistr/u8-mbsnlen: Add missing dependency.
24483         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
24484         Reported by Ian Beckwith <ianb@erislabs.net>.
24485
24486 2010-12-19  Bruno Haible  <bruno@clisp.org>
24487
24488         iconv: Make it possible again to use this module without 'iconv-h'.
24489         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
24490         if it is not defined.
24491         Reported by Ian Beckwith <ianb@erislabs.net>.
24492
24493 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
24494
24495         acl: port to Solaris 8 when copying from tmpfs to ufs
24496         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
24497         error number.  Problem observed on Solaris 8 with latest
24498         coreutils, with "mv A B", where A is on a tmpfs file system and B
24499         is on a ufs file system.  This caused coreutils' mv/part-symlink
24500         test to fail.
24501
24502         tests: set fail=0 at start
24503         * tests/init.sh (setup_): Move fail=0 initialization here ...
24504         (mktempd_): ... from here, so that tests can rely on fail being
24505         set to 0 initially.  This fixes a problem in coreutils; see:
24506         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
24507
24508 2010-12-18  Bruno Haible  <bruno@clisp.org>
24509
24510         memmem-simple: Stylistic changes.
24511         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
24512         Fix preprocessor directive indentation.
24513
24514 2010-12-15  Pádraig Brady <P@draigBrady.com>
24515
24516         memmem, memmem-simple: reorganize and expand empty needle check
24517         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
24518         functional checks to memmem-simple so that one has a fully functional
24519         memmem by using just this module.
24520         Restrict the performance only check to the memmem module.
24521         Also expand the empty needle check to ensure the correct
24522         pointer is returned, not just a non NULL pointer.
24523         * doc/glibc-functions/memmem.texi: Rearrange the portability
24524         documentation to correlate with the rearranged checks.
24525         Clarify exactly how the memmem and memmem-simple modules
24526         relate to each other.
24527
24528 2010-12-15  Pádraig Brady <P@draigBrady.com>
24529             Bruno Haible  <bruno@clisp.org>
24530
24531         Improve cross-compilation guesses for uClibc.
24532         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
24533         that uClibc does not have the glibc bug.
24534         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
24535         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
24536
24537 2010-12-14  Eric Blake  <eblake@redhat.com>
24538
24539         configmake: provide fallbacks for oldest supported autotools
24540         * m4/configmake.m4: New file.
24541         * modules/configmake (Files): Ship it.
24542         (configure.ac): Use it to guarantee fallbacks.
24543
24544 2010-12-13  Pádraig Brady <P@draigBrady.com>
24545
24546         read-file: Improve handling of large files
24547         * lib/read-file.c (fread_file): Minimize realloc()s
24548         for regular files, and better manage sizes around SIZE_MAX.
24549
24550 2010-12-13  Eric Blake  <eblake@redhat.com>
24551
24552         cloexec, fcntl: relax license
24553         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
24554         consent from all contributors.
24555         * modules/fcntl (License): Likewise.
24556
24557 2010-12-10  Bruno Haible  <bruno@clisp.org>
24558
24559         Tests for module 'pipe-posix'.
24560         * modules/pipe-posix-tests: New file.
24561         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
24562
24563 2010-12-10  Bruno Haible  <bruno@clisp.org>
24564
24565         pipe-posix: Make it work in C++ mode.
24566         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
24567         (pipe): Use common idiom, not a macro definition.
24568         * lib/pipe.c: New file.
24569         * m4/pipe.m4: New file.
24570         * modules/pipe-posix (Description): Enhance.
24571         (Files): Add lib/pipe.c, m4/pipe.m4.
24572         (configure.ac): Invoke gl_FUNC_PIPE.
24573         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
24574         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
24575         * tests/test-unistd-c++.cc: Check the signature of pipe.
24576
24577 2010-12-10  Bruno Haible  <bruno@clisp.org>
24578
24579         Rename module 'pipe' to 'spawn-pipe'.
24580         * modules/spawn-pipe: New file, renamed from modules/pipe.
24581         (Files, configure.ac, Makefile.am): Update.
24582         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
24583         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
24584         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
24585         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
24586         "spawn-pipe.h" instead of "pipe.h".
24587         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
24588         to gl_SPAWN_PIPE.
24589         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
24590         (Files, Makefile.am): Update.
24591         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
24592         Update.
24593         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
24594         Include "spawn-pipe.h" instead of "pipe.h".
24595         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
24596         * lib/javacomp.c: Likewise.
24597         * lib/javaversion.c: Likewise.
24598         * lib/pipe-filter-gi.c: Likewise.
24599         * lib/pipe-filter-ii.c: Likewise.
24600         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
24601         * modules/javacomp (Depends-on): Likewise.
24602         * modules/javaversion (Depends-on): Likewise.
24603         * modules/pipe-filter-gi (Depends-on): Likewise.
24604         * modules/pipe-filter-ii (Depends-on): Likewise.
24605         * MODULES.html.sh (Executing programs): Update.
24606         * NEWS: Mention the change.
24607
24608 2010-12-10  Eric Blake  <eblake@redhat.com>
24609
24610         pipe-posix: new module
24611         * modules/pipe-posix: New file.
24612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
24613         (gl_UNISTD_H): Check for declaration.
24614         * modules/unistd (Makefile.am): Substitute it.
24615         * lib/unistd.in.h (pipe): Provide it for mingw.
24616         * doc/posix-functions/pipe.texi (pipe): Update documentation.
24617         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
24618
24619 2010-12-07  Bruno Haible  <bruno@clisp.org>
24620
24621         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
24622         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
24623         u8_strcmp_gnu.
24624         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
24625
24626 2010-12-06  Bruno Haible  <bruno@clisp.org>
24627
24628         Update internal documentation.
24629         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
24630
24631 2010-12-04  Bruno Haible  <bruno@clisp.org>
24632
24633         Put more information about failed tests into the test return codes.
24634         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
24635         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
24636         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
24637         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
24638         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
24639         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24640         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24641         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24642         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
24643         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24644         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
24645         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
24646         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
24647         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24648         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
24649         returns a bit mask.
24650         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
24651         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
24652         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
24653         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
24654         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
24655         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24656         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24657         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24658         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24659         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24660         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24661         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24662         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24663         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24664         * m4/link.m4 (gl_FUNC_LINK): Likewise.
24665         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24666         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
24667         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
24668         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24669         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
24670         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24671         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
24672         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
24673         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24674         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24675         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24676         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
24677         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24678         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24679         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
24680         gl_PRINTF_PRECISION): Likewise.
24681         * m4/regex.m4 (gl_REGEX): Likewise.
24682         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
24683         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
24684         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
24685         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24686         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24687         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24688         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
24689         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
24690         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
24691         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
24692         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24693         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24694         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24695         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
24696         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24697         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24698         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
24699         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24700         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24701         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
24702         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
24703         enumerated value.
24704         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
24705
24706 2010-12-04  Bruno Haible  <bruno@clisp.org>
24707
24708         Update for Solaris 11 2010-11.
24709         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
24710         Express, released in November 2010.
24711
24712 2010-12-04  Bruno Haible  <bruno@clisp.org>
24713
24714         nproc: Relax license.
24715         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
24716         and Paul Eggert.
24717         Requested by Ludovic Courtès <ludo@gnu.org>.
24718
24719 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
24720
24721         utimecmp: fine-grained src to nearby coarse-grained dest
24722
24723         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
24724         and the source is on a file system with higher-resolution time
24725         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
24726         not work, and the time stamps are close together, the algorithm to
24727         determine the exact resolution from the read-back mtime was buggy:
24728         it had a "!=" where it should have had an "==".  This bug has been
24729         in the code ever since it was introduced to gnulib.
24730         Problem reported by Dan Jacobson in
24731         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
24732
24733 2010-11-30  Bruno Haible  <bruno@clisp.org>
24734
24735         strerror_r-posix: Fix autoconf test.
24736         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
24737
24738 2010-11-28  Bruno Haible  <bruno@clisp.org>
24739             Paul Eggert  <eggert@cs.ucla.edu>
24740
24741         Tests for module 'getdomainname'.
24742         * modules/getdomainname-tests: New file.
24743         * tests/test-getdomainname.c: New file, based on
24744         tests/test-gethostname.c.
24745
24746 2010-11-28  Bruno Haible  <bruno@clisp.org>
24747             Paul Eggert  <eggert@cs.ucla.edu>
24748
24749         getdomainname: Use the system function when possible.
24750         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
24751         (getdomainname): Replace if needed. Provide the declaration if it is
24752         missing. Don't use _GL_CXXALIAS_SYS_CAST.
24753         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
24754         (getdomainname): When the system has getdomainname, call the system
24755         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
24756         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24757         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
24758         found in libnsl. Look for the declaration also in <netdb.h>. Replace
24759         the function if its second argument is of type 'int' or if it is found
24760         in libnsl.
24761         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
24762         <sys/systeminfo.h> and sysinfo().
24763         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
24764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24765         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
24766         HAVE_GETDOMAINNAME.
24767         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
24768         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
24769         * doc/glibc-functions/getdomainname.texi: Document the problems with
24770         the getdomainname declaration.
24771
24772 2010-11-28  Bruno Haible  <bruno@clisp.org>
24773
24774         sys_socket: Ensure ss_family field on AIX.
24775         * lib/sys_socket.in.h (ss_family): New macro definition.
24776         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
24777         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
24778         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
24779         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24780         * modules/sys_socket (Makefile.am): Substitute
24781         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
24782         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
24783
24784 2010-11-27  Bruno Haible  <bruno@clisp.org>
24785
24786         readline: Improve configure output.
24787         * m4/readline.m4 (gl_FUNC_READLINE): Make the
24788         "checking for readline..." result understandable.
24789
24790 2010-11-27  Bruno Haible  <bruno@clisp.org>
24791
24792         *printf-posix: Detect a bug on Solaris 10/x86.
24793         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
24794         for floating-point output.
24795         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
24796         directive.
24797         * tests/test-snprintf-posix.h (test_function): Likewise.
24798         * tests/test-sprintf-posix.h (test_function): Likewise.
24799         * tests/test-vasprintf-posix.c (test_function): Likewise.
24800         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
24801         * doc/posix-functions/printf.texi: Likewise.
24802         * doc/posix-functions/snprintf.texi: Likewise.
24803         * doc/posix-functions/sprintf.texi: Likewise.
24804         * doc/posix-functions/vfprintf.texi: Likewise.
24805         * doc/posix-functions/vprintf.texi: Likewise.
24806         * doc/posix-functions/vsnprintf.texi: Likewise.
24807         * doc/posix-functions/vsprintf.texi: Likewise.
24808         * doc/glibc-functions/obstack_printf.texi: Likewise.
24809         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24810
24811 2010-11-27  Bruno Haible  <bruno@clisp.org>
24812
24813         Fix link error when module libunistring-optional is in use.
24814         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
24815         * modules/striconveha-tests (Makefile.am): Likewise.
24816
24817 2010-11-27  Bruno Haible  <bruno@clisp.org>
24818
24819         regex: Mention link dependencies.
24820         * modules/regex (Link): New section.
24821         * modules/rpmatch (Link): Likewise.
24822         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
24823
24824 2010-11-27  Bruno Haible  <bruno@clisp.org>
24825
24826         ftoastr: Fix compilation error on Solaris.
24827         * lib/ftoastr.c: Include <config.h>.
24828
24829 2010-11-27  Bruno Haible  <bruno@clisp.org>
24830
24831         getloadavg: Update documentation.
24832         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
24833
24834 2010-11-27  Bruno Haible  <bruno@clisp.org>
24835
24836         sys_socket: Fix test whether the functions are declared.
24837         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
24838         not <sys/select.h>.
24839
24840 2010-11-27  Bruno Haible  <bruno@clisp.org>
24841
24842         getpass: Make sure to get system declaration on some platforms.
24843         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
24844         gl_USE_SYSTEM_EXTENSIONS.
24845         * modules/getpass (Depends-on): Add extensions.
24846
24847 2010-11-26  Bruno Haible  <bruno@clisp.org>
24848
24849         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
24850         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
24851         'iconv' module is present.
24852         (ICONV_CONST): New macro.
24853         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
24854         ICONV_CONST.
24855         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
24856         set ICONV_CONST.
24857         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
24858         here.
24859         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
24860         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
24861         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
24862         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
24863         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
24864         present.
24865
24866 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
24867
24868         ftoastr: comment fix
24869         * lib/ftoastr.c: "little" -> "little or no" in comment
24870
24871 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
24872
24873         stdint: port to GCC 4.3 + OSX + Octave
24874         On this platform, stdint.h is buggy and defines int64_t to long
24875         long int.  The replacement defined it to long int, causing
24876         problems with C++ style name mangling.  Instead, trust the system
24877         definition if INT64_MAX is defined, and likewise for the unsigned
24878         variant.   Problem reported by Jarno Rajahalme in
24879         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
24880         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
24881         and don't mess with int64_t and INT64_MAX in this case.
24882         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
24883
24884 2010-11-24  Bruno Haible  <bruno@clisp.org>
24885
24886         doc: Corrections regarding MacOS X 10.4 and 10.5.
24887         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
24888         MacOS X.
24889         Reported by Simon Josefsson.
24890
24891 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
24892
24893         Uninstall ".bin" files installed by relocwrapper.
24894         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
24895         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
24896         unless it is already there.
24897
24898 2010-11-21  Bruno Haible  <bruno@clisp.org>
24899
24900         Update for NetBSD 5.0.
24901         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24902         NetBSD; the test fails on NetBSD 5.0.
24903         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24904         about NetBSD.
24905
24906 2010-11-21  Bruno Haible  <bruno@clisp.org>
24907
24908         Update for HP-UX 11.23 and HP-UX 11.31.
24909         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
24910         HP-UX.
24911
24912 2010-11-21  Bruno Haible  <bruno@clisp.org>
24913
24914         Update for MacOS X 10.5.
24915         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
24916         MacOS X; the test fails on MacOS X 10.5.8.
24917         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
24918         about MacOS X.
24919
24920 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
24921
24922         bootstrap: add bootstrap_sync option.
24923         See discussion at
24924         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
24925         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
24926         * build-aux/bootstrap: Accept --bootstrap-sync to update
24927         bootstrap if it is not identical to the local gnulib's
24928         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
24929         enable this by default.  Accept --no-bootstrap-sync to disable
24930         it.
24931
24932 2010-11-20  Bruno Haible  <bruno@clisp.org>
24933
24934         Ensure that <features.h> is included before __GLIBC__ is tested.
24935         * lib/printf-parse.h: Include <features.h>.
24936         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
24937         Reported by Mike Frysinger <vapier@gentoo.org>.
24938
24939         Ensure that <features.h> is included before __GLIBC__ is tested.
24940         * lib/wchar.in.h: Include <features.h>.
24941         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
24942         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
24943         Reported by Mike Frysinger <vapier@gentoo.org>.
24944
24945         Ensure that <features.h> is included before __GLIBC__ is tested.
24946         * lib/arpa_inet.in.h: Include <features.h>.
24947         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
24948         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
24949         Reported by Mike Frysinger <vapier@gentoo.org>.
24950
24951         Ensure that <features.h> is included before __GLIBC__ is tested.
24952         * build-aux/link-warning.h: Include <features.h>.
24953         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
24954         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
24955         Reported by Mike Frysinger <vapier@gentoo.org>.
24956
24957         Ensure that <features.h> is included before __GLIBC__ is tested.
24958         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
24959         Reported by Mike Frysinger <vapier@gentoo.org>.
24960
24961 2010-11-20  Bruno Haible  <bruno@clisp.org>
24962
24963         memmem: Fix autoconf test.
24964         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
24965
24966 2010-11-20  Bruno Haible  <bruno@clisp.org>
24967
24968         Port to uClibc.
24969         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
24970         * lib/fcntl.in.h: Likewise.
24971         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
24972         * lib/mbrtowc.c (mbrtowc): Likewise.
24973         * lib/relocatable.c (find_shared_library_fullname): Likewise.
24974         * lib/strerror_r.c: Likewise.
24975         * lib/unistr/u8-strnlen.c: Likewise.
24976         * lib/vasnprintf.c (decimal_point_char): Likewise.
24977         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24978         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24979         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
24980         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
24981         * tests/test-sigaction.c (handler, main): Likewise.
24982         * lib/freading.h: Treat uClibc like a non-glibc platform.
24983         * lib/freading.c: Likewise.
24984         * lib/gettext.h: Likewise.
24985         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
24986         Likewise.
24987         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
24988         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
24989         * lib/propername.c (proper_name_utf8): Likewise.
24990         * lib/spawn.in.h: Likewise.
24991         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
24992         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
24993         mem_cd_iconveh_internal): Likewise.
24994         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
24995         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
24996         strstr, strcasestr): Likewise.
24997         * lib/unicodeio.c (unicode_to_mb): Likewise.
24998         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
24999         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25000         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25001         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25002         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25003         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25004         * lib/unistr/u8-stpncpy.c: Likewise.
25005         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25006         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25007         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25008         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25009         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25010         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25011         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25012         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25013         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25014         Likewise.
25015         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25016         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25017         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25018         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25019         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25020         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25021         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25022         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25023         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25024         * tests/test-striconveha.c (main): Likewise.
25025         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25026         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25027         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25028         * doc/posix-functions/getline.texi: Likewise.
25029         Reported by Mike Frysinger <vapier@gentoo.org>.
25030
25031 2010-11-20  Bruno Haible  <bruno@clisp.org>
25032
25033         nproc: Fix condition.
25034         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25035         HAVE_PTHREAD_AFFINITY_NP.
25036
25037 2010-11-20  Bruno Haible  <bruno@clisp.org>
25038
25039         Fix a comment.
25040         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25041
25042 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25043
25044         ftoastr: don't assume snprintf
25045         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25046         Implement a subset of snprintf here, by using sprintf safely.
25047         * modules/ftoastr (Depends-on): Remove snprintf.
25048
25049 2010-11-19  Jim Meyering  <meyering@redhat.com>
25050
25051         test-rename.h: fix compilation failure
25052         * tests/test-rename.h (test_rename): Add omitted "}".
25053
25054 2010-11-17  Jim Meyering  <meyering@redhat.com>
25055
25056         maint.mk: add a URL discussing the no-@acronym policy
25057         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25058
25059 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25060
25061         ftoastr: depend on snprintf, improve comments
25062         * lib/ftoastr.c: Also mention Loitsch's draft.
25063         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25064         needed in the current implementation, but it might simplify
25065         speeding up the code later.
25066         * modules/ftoastr: Depend on snprintf; this improves portability.
25067         Suggested by Bruno Haible in the same email.
25068
25069         ftoastr: port to hosts lacking strtof and strtold
25070         Problem reported by Bruno Haible in
25071         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25072         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25073         environment and strtold (and presumably strtof) are not available.
25074         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25075         (configure.ac): Require gl_C99_STRTOLD.
25076
25077 2010-11-18  Bruno Haible  <bruno@clisp.org>
25078
25079         c-strtold: Avoid link error on AIX 7.
25080         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25081         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25082         (gl_C_STRTOLD): Test whether strtold_l exists.
25083         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25084
25085 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25086
25087         intprops: new macro INT_BITS_STRLEN_BOUND
25088         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25089         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25090         not exposed.  Also, it uses a slightly tighter bound than before;
25091         though this makes no practical difference, we might as well be as
25092         tight as we easily can.
25093
25094         ftoastr: new module, for lossless conversion of floats to short strings
25095         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25096         * modules/ftoastr: New files.
25097
25098 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25099
25100         bootstrap: port to Solaris sed
25101         * build-aux/bootstrap (get_version): Port to Solaris sed.
25102         See Ralf Wildenhues's note in
25103         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25104
25105 2010-11-14  Jim Meyering  <meyering@redhat.com>
25106
25107         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25108         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25109         and move definition closer to sole use.
25110
25111 2010-11-13  Jim Meyering  <meyering@redhat.com>
25112
25113         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25114         Now we require at least autoconf-2.59, which means the work-around
25115         is no longer needed.
25116         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25117         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25118         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25119         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25120         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25121
25122 2010-11-13  Bruno Haible  <bruno@clisp.org>
25123
25124         rename, renameat: Avoid test failures at NFS mounted locations.
25125         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25126         functions.
25127         (test_rename): Use assert_nonexistent.
25128         * tests/test-rename.c: Include <dirent.h>.
25129         * tests/test-renameat.c: Likewise.
25130         Reported by Gary V. Vaughan <gary@gnu.org>.
25131
25132         rename, renameat: Document Linux bug with NFS
25133         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25134         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25135         * doc/posix-functions/renameat.texi: Likewise.
25136         Suggested by Eric Blake.
25137
25138 2010-11-13  Bruno Haible  <bruno@clisp.org>
25139
25140         rename test: Add comments.
25141         * tests/test-rename.h (test_rename): Add structure and comments.
25142
25143 2010-11-13  Eric Blake  <eblake@redhat.com>
25144
25145         maintainer-makefile: cover a few more files
25146         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25147         scripts generated within C files, for libvirt.
25148
25149 2010-11-13  Bruno Haible  <bruno@clisp.org>
25150
25151         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25152         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25153         character, return the number of bytes that belong together, not always
25154         1.
25155         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25156         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25157         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25158         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25159         number of bytes of an invalid character.
25160         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25161         (main): Invoke it.
25162         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25163         results.
25164         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25165         malformed byte sequences.
25166         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25167         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25168         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25169         Reported by Ben Pfaff and Paolo Bonzini.
25170
25171 2010-11-13  Bruno Haible  <bruno@clisp.org>
25172
25173         openat: Work around glibc bug with fchownat() and empty file names.
25174         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
25175         (gl_FUNC_FCHOWNAT): Invoke it.
25176         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
25177         * doc/posix-functions/fchownat.texi: Document the glibc bug.
25178         Reported by Gary V. Vaughan <gary@gnu.org>.
25179
25180 2010-11-13  Bruno Haible  <bruno@clisp.org>
25181
25182         openat: Ensure autoconf macro ordering.
25183         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
25184         gl_USE_SYSTEM_EXTENSIONS.
25185         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
25186
25187 2010-11-13  Bruno Haible  <bruno@clisp.org>
25188
25189         Update comments.
25190         * lib/unistr/u8-check.c: Update file name in comments.
25191         * lib/unistr/u8-mblen.c: Likewise.
25192         * lib/unistr/u8-prev.c: Likewise.
25193         * lib/unistr/u8-strmblen.c: Likewise.
25194         * lib/unistr/u8-strmbtouc.c: Likewise.
25195
25196 2010-11-13  Jim Meyering  <meyering@redhat.com>
25197
25198         tests: avoid test failure on Solaris 10 due to lack of PATH export
25199         * tests/test-update-copyright.sh: Don't forget to export PATH.
25200
25201         init.sh: ensure that IFS is defined, just in case...
25202         * tests/init.sh (setup_): Ensure that IFS is defined,
25203         so that saving and restoring it works as expected.  This
25204         appears to be useful at least for an old version of dash
25205         from a long time ago (RH 6).  See here for details:
25206         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
25207
25208         maint.mk: tighten "test a == b" check
25209         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
25210         test to files that contain something like #!/bin/sh.
25211         Without this, coreutils would get two false positives in
25212         the comments of C source files.
25213
25214 2010-11-12  Eric Blake  <eblake@redhat.com>
25215
25216         bootstrap: fix typo in previous attempt
25217         * build-aux/bootstrap (buildreq): Correct the grouping.
25218         Reported by Paul Eggert.
25219
25220         maintainer-makefile: prohibit test x == x
25221         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
25222         Based on a report by Matthias Bolte.
25223
25224         bootstrap: allow FreeBSD gzip
25225         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
25226         which has no '.' and goes to stderr.
25227         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
25228         Reported by Matthias Bolte.
25229
25230         maintainer-makefile: check for i18n setup
25231         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
25232         will likely work.
25233
25234 2010-11-12  Bruno Haible  <bruno@clisp.org>
25235
25236         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
25237         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
25238         * lib/nanosleep.c (nanosleep): Likewise.
25239
25240 2010-11-11  Bruno Haible  <bruno@clisp.org>
25241
25242         fcntl-h: Fix for use of C++ on glibc systems.
25243         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25244         also on glibc systems in C++ mode.
25245         Reported by Gary V. Vaughan <gary@gnu.org>.
25246
25247 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25248
25249         mknod: avoid false failure with dash
25250         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
25251
25252 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
25253
25254         unlink: Fix "is it should" typo in diagnostic.
25255         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
25256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
25257
25258 2010-11-11  Bruno Haible  <bruno@clisp.org>
25259
25260         Tests for module 'strerror_r-posix'.
25261         * modules/strerror_r-posix-tests: New file.
25262         * tests/test-strerror_r.c: New file.
25263         * tests/test-string-c++.cc: Check the signature of strerror_r.
25264
25265         New module 'strerror_r-posix'.
25266         * lib/string.in.h (strerror_r): New declaration.
25267         * lib/strerror_r.c: New file.
25268         * m4/strerror_r.m4: New file.
25269         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
25270         of strerror_r.
25271         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
25272         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25273         * modules/strerror_r-posix: New file.
25274         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
25275         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
25276         * doc/posix-functions/strerror_r.texi: Mention the new module and the
25277         portability problems.
25278
25279 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
25280
25281         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
25282         line is also considered for output. Quoted function name in shell
25283         command, so temporary files for functions like MyClass::operator()
25284         are removed correctly without errors.
25285
25286 2010-11-09  Bruno Haible  <bruno@clisp.org>
25287
25288         * doc/posix-functions/strerror.texi: List more failing platforms.
25289
25290         * doc/posix-functions/strerror.texi: Add a comment.
25291
25292 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
25293
25294         fdopendir: fix bug on MacOS X when low on file descriptors
25295
25296         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
25297         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
25298         All callers changed.
25299         (fdopendir): Invoke save_cwd at the top level, not after using
25300         multiple dup() calls to use up file descriptors.  Then retry
25301         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
25302         less than the maximum number of open file descriptors, because
25303         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
25304         on Mac OS X 10.6.4 for tar 1.24
25305         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
25306         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
25307         and for tar 1.25
25308         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
25309
25310 2010-11-07  Bruno Haible  <bruno@clisp.org>
25311
25312         vasnprintf: Support I flag on glibc systems.
25313         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
25314         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
25315         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
25316         snprintf function.
25317         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
25318         glibc systems.
25319         * tests/test-vasnprintf-posix3.c: New file.
25320         * modules/vasnprintf-posix-tests (Files): Add it.
25321         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
25322
25323 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25324
25325         [html] Fix copy/paste bug: Use unique name for compiler warnings.
25326         * MODULES.html.sh: For compiler warnings, use name
25327         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
25328
25329 2010-11-05  Eric Blake  <eblake@redhat.com>
25330
25331         ceil, floor: avoid spurious failure with icc
25332         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
25333         [denormals-as-zero] when optimizing without -mieee-fp option.
25334         * tests/test-floorf2.c (floorf_reference): Likewise.
25335         * tests/test-ceilf1.c (dummy): New function.
25336         (main): Use it to outsmart icc's optimization.
25337         * tests/test-floorf1.c (dummy, main): Likewise.
25338
25339         tests: require working signbit
25340         * modules/ceilf-tests (Depends-on): Add signbit.
25341         * modules/ceill-tests (Depends-on): Likewise.
25342         * modules/floorf-tests (Depends-on): Likewise.
25343         * modules/floorl-tests (Depends-on): Likewise.
25344         * modules/round-tests (Depends-on): Likewise.
25345         * modules/roundf-tests (Depends-on): Likewise.
25346         * modules/roundl-tests (Depends-on): Likewise.
25347         * modules/trunc-tests (Depends-on): Likewise.
25348         * modules/truncf-tests (Depends-on): Likewise.
25349         * modules/truncl-tests (Depends-on): Likewise.
25350
25351         strtod: work around icc bug
25352         * lib/strtod.c (minus_zero): Define to working value.
25353         (strtod): Use it to avoid icc bug.
25354
25355         copysign: enhance tests
25356         * modules/copysign-tests (Files): Add minus-zero.h.
25357         * tests/test-copysign.c (main): Also test zeros.
25358
25359 2010-11-04  Eric Blake  <eblake@redhat.com>
25360
25361         ceil, floor, round, trunc: enhance tests of -0
25362         * tests/test-ceilf1.c (main): Ensure correct sign of result.
25363         * tests/test-ceill.c (main): Likewise.
25364         * tests/test-floorf1.c (main): Likewise.
25365         * tests/test-floorl.c (main): Likewise.
25366         * tests/test-round1.c (main): Likewise.
25367         * tests/test-roundf1.c (main): Likewise.
25368         * tests/test-roundl.c (main): Likewise.
25369         * tests/test-trunc1.c (main): Likewise.
25370         * tests/test-truncf1.c (main): Likewise.
25371         * tests/test-truncl.c (main): Likewise.
25372
25373 2010-11-04  Eric Blake  <eblake@redhat.com>
25374
25375         frexp, tests: work around ICC bug with -zero
25376         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
25377         works with more compilers.
25378         * tests/minus-zero.h: New file.
25379         * modules/ceilf-tests (Files): Include it.
25380         * modules/ceill-tests (Files): Likewise.
25381         * modules/floorf-tests (Files): Likewise.
25382         * modules/floorl-tests (Files): Likewise.
25383         * modules/frexp-nolibm-tests (Files): Likewise.
25384         * modules/frexp-tests (Files): Likewise.
25385         * modules/frexpl-nolibm-tests (Files): Likewise.
25386         * modules/frexpl-tests (Files): Likewise.
25387         * modules/isnan-tests (Files): Likewise.
25388         * modules/isnand-nolibm-tests (Files): Likewise.
25389         * modules/isnand-tests (Files): Likewise.
25390         * modules/isnanf-nolibm-tests (Files): Likewise.
25391         * modules/isnanf-tests (Files): Likewise.
25392         * modules/isnanl-nolibm-tests (Files): Likewise.
25393         * modules/isnanl-tests (Files): Likewise.
25394         * modules/round-tests (Files): Likewise.
25395         * modules/roundf-tests (Files): Likewise.
25396         * modules/roundl-tests (Files): Likewise.
25397         * modules/ldexpl-tests (Files): Likewise.
25398         * modules/signbit-tests (Files): Likewise.
25399         * modules/snprintf-posix-tests (Files): Likewise.
25400         * modules/sprintf-posix-tests (Files): Likewise.
25401         * modules/strtod-tests (Files): Likewise.
25402         * modules/trunc-tests (Files): Likewise.
25403         * modules/truncf-tests (Files): Likewise.
25404         * modules/truncl-tests (Files): Likewise.
25405         * modules/vsnprintf-posix-tests (Files): Likewise.
25406         * modules/vsprintf-posix-tests (Files): Likewise.
25407         * modules/vasnprintf-posix-tests (Files): Likewise.
25408         * modules/vasprintf-posix-tests (Files): Likewise.
25409         * tests/test-ceilf1.c (main): Use it.
25410         * tests/test-ceill.c (main): Likewise.
25411         * tests/test-floorf1.c (main): Likewise.
25412         * tests/test-floorl.c (main): Likewise.
25413         * tests/test-frexp.c (main): Likewise.
25414         * tests/test-frexpl.c (main): Likewise.
25415         * tests/test-isnan.c (main): Likewise.
25416         * tests/test-isnand.h (main): Likewise.
25417         * tests/test-isnanf.h (main): Likewise.
25418         * tests/test-isnanl.h (main): Likewise.
25419         * tests/test-ldexpl.c (main): Likewise.
25420         * tests/test-round.c (main): Likewise.
25421         * tests/test-roundf.c (main): Likewise.
25422         * tests/test-roundl.c (main): Likewise.
25423         * tests/test-signbit.c (test_signbitf, test_signbitd)
25424         (test_signbitl): Likewise.
25425         * tests/test-snprintf-posix.h (test_function): Likewise.
25426         * tests/test-sprintf-posix.h (test_function): Likewise.
25427         * tests/test-strtod.c (main): Likewise.
25428         * tests/test-trunc1.c (main): Likewise.
25429         * tests/test-truncf1.c (main): Likewise.
25430         * tests/test-truncl.c (main): Likewise.
25431
25432         isnanl: work around icc bug
25433         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
25434
25435 2010-11-03  Eric Blake  <eblake@redhat.com>
25436
25437         tests: fix compiler warnings
25438         * tests/test-getopt.h (test_getopt): Fix condition.
25439         * tests/test-getopt_long.h (test_getopt_long): Likewise.
25440         * tests/test-pipe2.c (main): Likewise.
25441         * tests/test-quotearg-simple.c (main): Avoid icc warning.
25442
25443         utimens: fix broken m4 test
25444         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
25445
25446 2010-10-28  Bruno Haible  <bruno@clisp.org>
25447
25448         posix_spawn*, getdtablesize: Relax license.
25449         * modules/posix_spawn (License): Change to LGPLv2+.
25450         * modules/posix_spawnp (License): Likewise.
25451         * modules/posix_spawn-internal (License): Likewise.
25452         * modules/posix_spawnattr_init (License): Likewise.
25453         * modules/posix_spawnattr_getflags (License): Likewise.
25454         * modules/posix_spawnattr_setflags (License): Likewise.
25455         * modules/posix_spawnattr_getpgroup (License): Likewise.
25456         * modules/posix_spawnattr_setpgroup (License): Likewise.
25457         * modules/posix_spawnattr_getschedparam (License): Likewise.
25458         * modules/posix_spawnattr_setschedparam (License): Likewise.
25459         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
25460         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
25461         * modules/posix_spawnattr_getsigdefault (License): Likewise.
25462         * modules/posix_spawnattr_setsigdefault (License): Likewise.
25463         * modules/posix_spawnattr_getsigmask (License): Likewise.
25464         * modules/posix_spawnattr_setsigmask (License): Likewise.
25465         * modules/posix_spawnattr_destroy (License): Likewise.
25466         * modules/posix_spawn_file_actions_init (License): Likewise.
25467         * modules/posix_spawn_file_actions_addclose (License): Likewise.
25468         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
25469         * modules/posix_spawn_file_actions_addopen (License): Likewise.
25470         * modules/posix_spawn_file_actions_destroy (License): Likewise.
25471         * modules/getdtablesize (License): Likewise.
25472         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
25473
25474 2010-10-26  Bruno Haible  <bruno@clisp.org>
25475
25476         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
25477         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
25478         Cygwin and mingw.
25479         Suggested by Eric Blake.
25480
25481 2010-10-26  Bruno Haible  <bruno@clisp.org>
25482
25483         stdio: Work around compilation error due to renameat() on Solaris 10.
25484         * lib/stdio.in.h: Include <unistd.h> on Solaris.
25485         * lib/renameat.c: Don't include <unistd.h> here.
25486         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
25487         Reported by Paul Eggert and Eric Blake.
25488
25489 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
25490
25491         renameat: port to Solaris 10, which declares renameat in unistd.h
25492
25493         * lib/renameat.c: Include unistd.h before stdio.h, because
25494         Solaris 10 declares renameat in unistd.h.  Problem encountered
25495         when building GNU tar 1.24 on Solaris 10.
25496
25497 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25498
25499         fdopendir: fix C89 compilation
25500         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
25501         compilers.
25502
25503 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
25504
25505         inttostr: simplify by removing unnecessary redundancy
25506         * lib/anytostr.c: Don't include verify.h.
25507         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
25508         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
25509         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
25510         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
25511         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
25512         Likewise.
25513         * modules/inttostr (Depends-on): Remove 'verify'.
25514
25515 2010-10-23  Bruno Haible  <bruno@clisp.org>
25516
25517         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
25518         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
25519         Reported by Eric Blake.
25520
25521 2010-10-23  Bruno Haible  <bruno@clisp.org>
25522
25523         Tests: Fix LOCALE_JA on MirBSD 10.
25524         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
25525         to an UTF-8 locale.
25526         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
25527         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
25528         Reported by Eric Blake.
25529
25530 2010-10-21  Bruno Haible  <bruno@clisp.org>
25531
25532         nl_langinfo test: Avoid test failure on NetBSD 5.
25533         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
25534         Reported by Eric Blake.
25535
25536 2010-10-21  Eric Blake  <eblake@redhat.com>
25537
25538         c-stack: work around libsigsegv 2.8 bug
25539         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
25540         overflow on at least PowerPC64.
25541
25542 2010-10-17  Bruno Haible  <bruno@clisp.org>
25543
25544         userspec: Drop redundant file.
25545         * modules/userspec (Files): Remove lib/inttostr.h.
25546
25547 2010-10-17  Bruno Haible  <bruno@clisp.org>
25548
25549         nl_langinfo tests: Silence some warnings.
25550         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
25551         Reported by Jim Meyering.
25552
25553 2010-10-17  Bruno Haible  <bruno@clisp.org>
25554
25555         Make use of GCC's attribute __alloc_size__.
25556         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
25557         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
25558         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
25559         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
25560         __alloc_size__.
25561         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
25562         Suggested by Jim Meyering.
25563
25564 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
25565
25566         bootstrap: anchor .gitignore entries.
25567         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
25568         with...
25569         (insert_vc_ignore): ... this new function, which prepends `/' to
25570         all .gitignore entries before passing them to
25571         insert_sorted_if_absent.
25572
25573 2010-10-16  Bruno Haible  <bruno@clisp.org>
25574
25575         nextafter: Fix configure check.
25576         * modules/nextafter (configure.ac): Correct expected prototype.
25577
25578 2010-10-16  Bruno Haible  <bruno@clisp.org>
25579
25580         termios: Update documentation.
25581         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
25582
25583 2010-10-16  Bruno Haible  <bruno@clisp.org>
25584
25585         tests: Make them compile with TinyCC.
25586         * tests/test-strstr.c (main): Remove parentheses around array
25587         initializer.
25588
25589 2010-10-15  Eric Blake  <eblake@redhat.com>
25590
25591         ignore-value: make header idempotent
25592         * lib/ignore-value.h: Add double-inclusion guards.
25593         Reported by Stefan Berger.
25594
25595 2010-10-15  Jim Meyering  <meyering@redhat.com>
25596
25597         GNUmakefile: handle "stable" target, not "major"
25598         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
25599         lists in maint.mk and announce-gen.  Without this, "make stable"
25600         would fail to ensure that $(VERSION) is up to date.
25601
25602 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
25603
25604         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
25605         & co.
25606
25607 2010-10-14  Bruno Haible  <bruno@clisp.org>
25608
25609         vasnprintf: Don't set errno to 0.
25610         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
25611         block that sets it to 0.
25612         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
25613
25614 2010-10-14  Bruno Haible  <bruno@clisp.org>
25615
25616         socketlib: Fix.
25617         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
25618         gl_PREREQ_SYS_H_WINSOCK2.
25619         Reported by Ian Beckwith <ianb@erislabs.net>.
25620
25621 2010-10-13  Jim Meyering  <meyering@redhat.com>
25622
25623         test-select-stdin.c: avoid warn_unused_result warnings
25624         * tests/test-select-stdin.c: Include "macros.h".
25625         ASSERT that read and fflush succeed.
25626
25627 2010-10-13  Jim Meyering  <meyering@redhat.com>
25628
25629         git-version-gen: do require git-VC'd files in cwd
25630         * build-aux/git-version-gen: Reject a git version string
25631         if there are no commits associated with the current directory.
25632         This avoids an unlikely false-positive (unrelated dir whose parent
25633         repository also contains a tag matching v*), as pointed out
25634         by Giuseppe Scrivano in
25635         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
25636
25637 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
25638
25639         argv-iter: omit nonconforming declaration
25640         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
25641         enum arg_iter_err declaration, which doesn't conform to C99.
25642         Solaris 10 cc warns about this.
25643
25644 2010-10-13  Eric Blake  <eblake@redhat.com>
25645
25646         termios: fix compilation on mingw
25647         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
25648         (gl_TERMIOS_H): Adjust it on mingw.
25649         * modules/termios (Makefile.am): Substitute new key.
25650         * lib/termios.in.h (includes): Make include_next conditional.
25651         * doc/posix-headers/termios.texi (termios.h): Update
25652         documentation.
25653         Reported by Daniel P. Berrange.
25654
25655 2010-10-13  Jim Meyering  <meyering@redhat.com>
25656
25657         git-version-gen: don't require that .git/ be in the current dir
25658         * build-aux/git-version-gen: Adjust this script so that it works
25659         when run from any working directory beneath the top-level .git/-
25660         containing directory.  Inspired by a patch from Giuseppe Scrivano,
25661         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
25662
25663         test-select: avoid warn_unused_result warnings
25664         * tests/test-select.c: Include "macros.h".
25665         ASSERT that each call to read, write, and pipe succeeds.
25666         While not technically required, also check each "close".
25667         * modules/select-tests (Files): Add tests/macros.h.
25668
25669         test-symlinkat: remove declaration of unused local
25670         * tests/test-symlinkat.c (main): Remove unused local, "buf".
25671
25672         test-inttostr: avoid shadowing warnings
25673         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
25674         and use malloc rather than the stack for the same reason as
25675         mentioned in the comment justifying the other allocation.
25676
25677 2010-10-11  Bruno Haible  <bruno@clisp.org>
25678
25679         stdlib: Allow multiple gnulib generated replacements to coexist.
25680         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
25681         Reported by Sam Steingold <sds@gnu.org>.
25682
25683 2010-10-11  Jim Meyering  <meyering@redhat.com>
25684
25685         fix a documentation typo
25686         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
25687
25688 2010-10-11  Eric Blake  <eblake@redhat.com>
25689
25690         futimens: work around Solaris 11 bug
25691         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
25692         * tests/test-futimens.h (test_futimens): Enhance, rather than
25693         weaken test.
25694         * doc/posix-functions/futimens.texi (futimens): Document the bug.
25695
25696 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
25697
25698         Indentation.
25699         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
25700         higher-level operators more to the left.
25701
25702 2010-10-11  Jim Meyering  <meyering@redhat.com>
25703
25704         test-futimens: avoid unwarranted test failure on Solaris 5.11
25705         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
25706         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
25707         because it tries to dereference the NULL name argument.
25708
25709 2010-10-11  Bruno Haible  <bruno@clisp.org>
25710
25711         Indentation.
25712         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
25713         indentation.
25714
25715 2010-10-11  Jim Meyering  <meyering@redhat.com>
25716
25717         spawn.in.h: make indentation consistent with parentheses
25718         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
25719         Make indentation consistent with parentheses.
25720
25721 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
25722
25723         Fix mismatched parens in previous commit
25724         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
25725         parens.
25726
25727 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
25728
25729         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
25730
25731         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
25732         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
25733         * lib/malloca.c: Include "verify.h".
25734         (verify1): Remove, replacing with a verify call.
25735         * lib/relocwrapper.c (verify1): Likewise.
25736         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
25737         Likewise.
25738         * modules/malloca (Depends-on): Add 'verify'.
25739         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
25740         * modules/vasnprintf (Depends-on): Add 'verify'.
25741         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
25742         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
25743         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
25744         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
25745         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
25746         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
25747         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
25748
25749         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
25750
25751         Formerly the style was sometimes 2*X - 1, because the C standard
25752         was wrongly thought to disallow ?: in integral constant expressions.
25753         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
25754         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
25755         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25756         * lib/stdint.in.h (_verify_intmax_size): Likewise.
25757         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
25758         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
25759         verify that time_t cannot be floating.
25760
25761 2010-10-08  Eric Blake  <eblake@redhat.com>
25762
25763         time: enforce recent POSIX ruling that time_t is integral
25764         * lib/time.in.h (__time_t_must_be_integral): Detect any
25765         problematic systems, allowing the rest of gnulib to assume POSIX.
25766
25767 2010-10-08  Jim Meyering  <meyering@redhat.com>
25768
25769         fdopendir: fix a bug on systems lacking openat and /proc support
25770         OpenBSD 4.7 is one such system.  The most noticeable effect was
25771         failure of any application making nontrivial use of fts: rm, du,
25772         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
25773           ./rm: traversal failed: `a': Bad file descriptor
25774         Debugging that, you see that even though FD 6 was closed just
25775         prior to the opendir call in fd_clone_opendir, its resulting
25776         dir->dd_fd was 8, rather than the expected value of 6:
25777
25778         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
25779         93                close (fd);
25780         (gdb) n
25781         94                dir = fd_clone_opendir (dupfd);
25782         (gdb) n
25783         95                saved_errno = errno;
25784         (gdb) p dir->dd_fd
25785         $11 = 8
25786
25787         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
25788         The problem is that on OpenBSD, fd_clone_opendir has to resort
25789         to using the old-style save/restore CWD mechanism, due to its
25790         lack of openat/proc support, and *that* would steal the FD (6)
25791         that opendir was supposed to use.
25792
25793         The fix is to squirrel away the desired FD so that save_cwd uses a
25794         different one, and then free the dest FD right before calling opendir.
25795         That guarantees opendir will use the required file descriptor.
25796
25797         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
25798
25799 2010-10-08  Bruno Haible  <bruno@clisp.org>
25800
25801         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
25802         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
25803
25804 2010-10-08  Bruno Haible  <bruno@clisp.org>
25805
25806         nanosleep: Make replacement POSIX compliant.
25807         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
25808         is out of range.
25809         Reported by Jim Meyering.
25810
25811 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
25812
25813         bootstrap: add hook for altering gnulib.mk, for Bison
25814         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
25815         the Bison bootstrapping process can rewrite file names and variables
25816         in this file before later parts of 'bootstrap' use the file.
25817         Bison wants to include lib/gnulib.mk from the top-level makefile,
25818         so it needs the file names in this file to be relative to the top
25819         level, not relative to lib; plus it needs variable names to be
25820         rewritten.
25821         (slurp): Use the new function.
25822
25823         bootstrap: reformat for readability
25824         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
25825
25826 2010-10-08  Eric Blake  <eblake@redhat.com>
25827
25828         docs: update cygwin progress
25829         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
25830         1.7.7.
25831         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
25832         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
25833         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
25834         * doc/posix-functions/carg.texi (carg): Likewise.
25835         * doc/posix-functions/cargf.texi (cargf): Likewise.
25836         * doc/posix-functions/casin.texi (casin): Likewise.
25837         * doc/posix-functions/casinf.texi (casinf): Likewise.
25838         * doc/posix-functions/casinh.texi (casinh): Likewise.
25839         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
25840         * doc/posix-functions/catan.texi (catan): Likewise.
25841         * doc/posix-functions/catanf.texi (catanf): Likewise.
25842         * doc/posix-functions/catanh.texi (catanh): Likewise.
25843         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
25844         * doc/posix-functions/ccos.texi (ccos): Likewise.
25845         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
25846         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
25847         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
25848         * doc/posix-functions/cexp.texi (cexp): Likewise.
25849         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
25850         * doc/posix-functions/cimag.texi (cimag): Likewise.
25851         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
25852         * doc/posix-functions/clog.texi (clog): Likewise.
25853         * doc/posix-functions/clogf.texi (clogf): Likewise.
25854         * doc/posix-functions/conj.texi (conj): Likewise.
25855         * doc/posix-functions/conjf.texi (conjf): Likewise.
25856         * doc/posix-functions/cpow.texi (cpow): Likewise.
25857         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
25858         * doc/posix-functions/cproj.texi (cproj): Likewise.
25859         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
25860         * doc/posix-functions/creal.texi (creal): Likewise.
25861         * doc/posix-functions/crealf.texi (crealf): Likewise.
25862         * doc/posix-functions/csin.texi (csin): Likewise.
25863         * doc/posix-functions/csinf.texi (csinf): Likewise.
25864         * doc/posix-functions/csinh.texi (csinh): Likewise.
25865         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
25866         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
25867         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
25868         * doc/posix-functions/ctan.texi (ctan): Likewise.
25869         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
25870         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
25871         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
25872         * doc/posix-headers/complex.texi (complex.h): Likewise.
25873
25874 2010-10-07  Jim Meyering  <meyering@redhat.com>
25875
25876         parse-datetime: avoid compilation failure on OpenBSD 4.7
25877         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
25878         This works around a compilation failure on OpenBSD 4.7:
25879         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
25880
25881 2010-10-07  Eric Blake  <eblake@redhat.com>
25882
25883         docs: update cygwin progress
25884         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
25885         1.7.6.
25886         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
25887         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
25888         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
25889         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
25890         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
25891         Likewise.
25892         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
25893         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
25894         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
25895         Likewise.
25896         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
25897         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
25898         Likewise.
25899         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
25900         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
25901         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
25902         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
25903         Likewise.
25904         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
25905         Likewise.
25906         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
25907
25908         docs: update parse-datetime history
25909         * doc/parse-datetime.texi (Authors of parse_datetime): Better
25910         documentation of this function's history and alternatives.
25911
25912         cygwin: use more robust version check
25913         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
25914         exclude an eventual cygwin 1.9.1.
25915         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25916         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25917         (gl_FUNC_STRCASESTR): Likewise.
25918         Reported by Bruno Haible.
25919
25920 2010-10-06  Bruno Haible  <bruno@clisp.org>
25921
25922         string, sys_select: Avoid #including large headers unless necessary.
25923         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
25924         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
25925         OSF/1, BeOS, Haiku.
25926         Reported by Jim Meyering.
25927
25928 2010-10-05  Eric Blake  <eblake@redhat.com>
25929
25930         memmem, strstr, strcasestr: fix bug with long periodic needle
25931         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
25932         periodic needle having false positive.
25933         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
25934         and cygwin 1.7.7.
25935         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
25936         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
25937         (gl_FUNC_STRCASESTR): Likewise.
25938         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25939         * tests/test-memmem.c (main): Expose the bug.
25940         * tests/test-strcasestr.c (main): Likewise.
25941         * tests/test-strstr.c (main): Likewise.
25942         * tests/test-c-strcasestr.c (main): Likewise.
25943         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
25944         * doc/posix-functions/strstr.texi (strstr): Likewise.
25945         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
25946         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
25947
25948 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25949
25950         parse-datetime: do some more renaming
25951         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
25952         parse_datetime, not get_date.  Mention the renaming.
25953         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
25954         in comments.
25955         * m4/bison.m4: Likewise.
25956
25957 2010-10-05  Eric Blake  <eblake@redhat.com>
25958
25959         parse-datetime: better name than get_date
25960         * NEWS: Reword the deprecation notice.
25961         * modules/get_date: Rename to modules/parse-datetime.
25962         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
25963         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
25964         * lib/get_date.y: Rename to lib/parse-datetime.y.
25965         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
25966         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
25967         * doc/getdate.texi: Provide fallback wrapper.
25968         * lib/getdate.h: Move guts, and wrap...
25969         * lib/parse-datetime.h: ...new file.
25970         * lib/parse-datetime.y (get_date): Rename...
25971         (parse_datetime): ...to this.
25972         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
25973         (gl_PARSE_DATETIME): ...to this.
25974         * doc/posix-functions/getdate.texi (get_date): Provide fallback
25975         documentation.
25976         * modules/getdate (Files): Provide fallback docs and header.
25977         (Notice, Depends-on): Update references.
25978         * tests/test-parse-datetime.c: Likewise.
25979         * DEPENDENCIES: Likewise.
25980         * MODULES.html.sh (Date and time <time.h>): Likewise.
25981         * doc/parse-datetime.texi (Date input formats)
25982         (Authors of parse_datetime): Likewise.
25983         * modules/parse-datetime (Files, configure.ac, Makefile.am)
25984         (Include): Likewise.
25985         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
25986         * gnulib-tool: Likewise.
25987         * m4/bison.m4 (gl_BISON): Likewise.
25988         Suggested by Bruno Haible.
25989
25990 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
25991
25992         more ports to Solaris tr, which needs [] around ranges
25993         * gnulib-tool: Solaris tr needs [] around ranges.
25994         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25995         * tests/test-pipe-filter-gi1.c (main): Likewise.
25996         * tests/test-pipe-filter-ii1.c (main): Likewise.
25997
25998 2010-10-05  Eric Blake  <eblake@redhat.com>
25999
26000         bootstrap: fix Solaris regression
26001         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26002         around ranges.
26003         Reported by Pádraig Brady.
26004
26005         bootstrap: work with pkg-config
26006         * build-aux/bootstrap (check_versions): Also transliterate - in
26007         prerequisite name.
26008         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26009         prerequisites that were already found, to avoid confusion.
26010         Reported by Justin Clift.
26011
26012         faccessat: remove unused wrappers
26013         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26014         presence of these wrappers dragged in -lgen on Solaris.
26015         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26016
26017 2010-10-05  Jim Meyering  <meyering@redhat.com>
26018
26019         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26020         * Makefile (sc_pragma_columns): New syntax-check rule.
26021
26022 2010-10-04  Bruno Haible  <bruno@clisp.org>
26023
26024         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26025         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26026         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26027         Reported by Bruce Korb and Eric Blake.
26028
26029 2010-10-04  Bruno Haible  <bruno@clisp.org>
26030
26031         threadlib: Make option --with-libpth-prefix work.
26032         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26033         use $LIBPTH, not just -lpth.
26034
26035 2010-10-04  Bruno Haible  <bruno@clisp.org>
26036
26037         Avoid line length limitation from HP NonStop system header files.
26038         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26039         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26040         * lib/ctype.in.h: Likewise.
26041         * lib/dirent.in.h: Likewise.
26042         * lib/errno.in.h: Likewise.
26043         * lib/fcntl.in.h: Likewise.
26044         * lib/float.in.h: Likewise.
26045         * lib/getopt.in.h: Likewise.
26046         * lib/iconv.in.h: Likewise.
26047         * lib/inttypes.in.h: Likewise.
26048         * lib/langinfo.in.h: Likewise.
26049         * lib/locale.in.h: Likewise.
26050         * lib/math.in.h: Likewise.
26051         * lib/netdb.in.h: Likewise.
26052         * lib/netinet_in.in.h: Likewise.
26053         * lib/poll.in.h: Likewise.
26054         * lib/pthread.in.h: Likewise.
26055         * lib/pty.in.h: Likewise.
26056         * lib/sched.in.h: Likewise.
26057         * lib/se-selinux.in.h: Likewise.
26058         * lib/search.in.h: Likewise.
26059         * lib/signal.in.h: Likewise.
26060         * lib/spawn.in.h: Likewise.
26061         * lib/stdarg.in.h: Likewise.
26062         * lib/stddef.in.h: Likewise.
26063         * lib/stdint.in.h: Likewise.
26064         * lib/stdio.in.h: Likewise.
26065         * lib/stdlib.in.h: Likewise.
26066         * lib/string.in.h: Likewise.
26067         * lib/strings.in.h: Likewise.
26068         * lib/sys_file.in.h: Likewise.
26069         * lib/sys_ioctl.in.h: Likewise.
26070         * lib/sys_select.in.h: Likewise.
26071         * lib/sys_socket.in.h: Likewise.
26072         * lib/sys_stat.in.h: Likewise.
26073         * lib/sys_time.in.h: Likewise.
26074         * lib/sys_times.in.h: Likewise.
26075         * lib/sys_utsname.in.h: Likewise.
26076         * lib/sys_wait.in.h: Likewise.
26077         * lib/sysexits.in.h: Likewise.
26078         * lib/termios.in.h: Likewise.
26079         * lib/time.in.h: Likewise.
26080         * lib/unistd.in.h: Likewise.
26081         * lib/wchar.in.h: Likewise.
26082         * lib/wctype.in.h: Likewise.
26083         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26084         * modules/ctype (Makefile.am): Likewise.
26085         * modules/dirent (Makefile.am): Likewise.
26086         * modules/errno (Makefile.am): Likewise.
26087         * modules/fcntl-h (Makefile.am): Likewise.
26088         * modules/float (Makefile.am): Likewise.
26089         * modules/getopt-posix (Makefile.am): Likewise.
26090         * modules/iconv-h (Makefile.am): Likewise.
26091         * modules/inttypes (Makefile.am): Likewise.
26092         * modules/langinfo (Makefile.am): Likewise.
26093         * modules/locale (Makefile.am): Likewise.
26094         * modules/math (Makefile.am): Likewise.
26095         * modules/netdb (Makefile.am): Likewise.
26096         * modules/netinet_in (Makefile.am): Likewise.
26097         * modules/poll-h (Makefile.am): Likewise.
26098         * modules/pthread (Makefile.am): Likewise.
26099         * modules/pty (Makefile.am): Likewise.
26100         * modules/sched (Makefile.am): Likewise.
26101         * modules/search (Makefile.am): Likewise.
26102         * modules/selinux-h (Makefile.am): Likewise.
26103         * modules/signal (Makefile.am): Likewise.
26104         * modules/spawn (Makefile.am): Likewise.
26105         * modules/stdarg (Makefile.am): Likewise.
26106         * modules/stddef (Makefile.am): Likewise.
26107         * modules/stdint (Makefile.am): Likewise.
26108         * modules/stdio (Makefile.am): Likewise.
26109         * modules/stdlib (Makefile.am): Likewise.
26110         * modules/string (Makefile.am): Likewise.
26111         * modules/strings (Makefile.am): Likewise.
26112         * modules/sys_file (Makefile.am): Likewise.
26113         * modules/sys_ioctl (Makefile.am): Likewise.
26114         * modules/sys_select (Makefile.am): Likewise.
26115         * modules/sys_socket (Makefile.am): Likewise.
26116         * modules/sys_stat (Makefile.am): Likewise.
26117         * modules/sys_time (Makefile.am): Likewise.
26118         * modules/sys_times (Makefile.am): Likewise.
26119         * modules/sys_utsname (Makefile.am): Likewise.
26120         * modules/sys_wait (Makefile.am): Likewise.
26121         * modules/sysexits (Makefile.am): Likewise.
26122         * modules/termios (Makefile.am): Likewise.
26123         * modules/time (Makefile.am): Likewise.
26124         * modules/unistd (Makefile.am): Likewise.
26125         * modules/wchar (Makefile.am): Likewise.
26126         * modules/wctype (Makefile.am): Likewise.
26127
26128 2010-10-04  Bruno Haible  <bruno@clisp.org>
26129
26130         read-file tests: Avoid a test failure on NonStop Kernel.
26131         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26132         a regular file.
26133         Reported by Joachim Schmitz <schmitz@hp.com>.
26134
26135 2010-10-03  Bruno Haible  <bruno@clisp.org>
26136
26137         gnulib-tool: Fixes for --create-testdir with --libtool.
26138         * gnulib-tool (func_get_automake_snippet): Don't augment
26139         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26140         an executable.
26141         (func_create_testdir): Handle module 'alloca' like func_import.
26142         Reported by Bruce Korb <bruce.korb@gmail.com>.
26143
26144 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26145
26146         Avoid some lines longer than 80 characters.
26147         * lib/stdint.in.h: Break long comment lines.
26148         * lib/math.in.h: Likewise.
26149         (_GL_NUM_UINT_WORDS): New macro, for readability.
26150         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26151         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26152         * lib/stdlib.in.h: Likewise.
26153         * lib/spawn.in.h: Likewise.
26154         * lib/sys_socket.in.h: Update an URL.
26155         * lib/sys_stat.in.h: Break long line.
26156
26157 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26158
26159         Improve pmccabe2html.
26160         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26161         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26162         when the sources change. Remove the line in the HTML about "Used
26163         ranges" (which implied that there might be other unused ranges),
26164         rename "Resume" to "Summary" (easier to understand for more users).
26165         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26166         styles, and some unnecessary blank lines.
26167
26168 2010-10-03  Bruno Haible  <bruno@clisp.org>
26169             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26170
26171         acl: Add support for ACLs on NonStop Kernel.
26172         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
26173         Check whether the function aclsort() exists.
26174         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
26175         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
26176         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26177         (acl_nontrivial [HAVE_ACLSORT]: New function.
26178         (file_has_acl): Implement for NonStop Kernel.
26179         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26180         (qset_acl): Implement for NonStop Kernel.
26181         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
26182         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
26183         (main): Implement for NonStop Kernel.
26184         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
26185         Kernel. Handle this flavor.
26186         * tests/test-set-mode-acl.sh: Likewise.
26187         * tests/test-copy-acl.sh: Likewise.
26188         * tests/test-copy-file.sh: Likewise.
26189
26190 2010-10-03  Bruno Haible  <bruno@clisp.org>
26191
26192         Info about ACLs on NonStop Kernel.
26193         * doc/acl-resources.txt: Add info about NonStop Kernel.
26194         References by Joachim Schmitz <schmitz@hp.com>.
26195
26196 2010-10-02  Bruno Haible  <bruno@clisp.org>
26197
26198         Define missing EDQUOT on NonStop Kernel.
26199         * lib/errno.in.h (EDQUOT): Assign a value if missing.
26200         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
26201         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
26202         missing.
26203         * doc/posix-headers/errno.texi: Mention the NSK bug.
26204         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
26205         Reported by Joachim Schmitz <schmitz@hp.com>.
26206
26207 2010-10-02  Bruno Haible  <bruno@clisp.org>
26208
26209         Update doc for POSIX:2008.
26210         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
26211         Update URL of POSIX specification.
26212
26213 2010-10-02  Bruno Haible  <bruno@clisp.org>
26214
26215         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
26216         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
26217         from gnulib, not from Automake.
26218
26219 2010-10-02  Bruno Haible  <bruno@clisp.org>
26220
26221         New module 'system-posix'.
26222         * modules/system-posix: New file.
26223         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
26224         module is present.
26225         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
26226         GNULIB_SYSTEM_POSIX.
26227         * modules/stdlib (Depends-on): Remove sys_wait.
26228         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
26229         * doc/posix-functions/system.texi: Mention the new module.
26230         * doc/posix-headers/stdlib.texi: Likewise.
26231         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
26232         define test_sys_wait_macros to a no-op.
26233         Reported by Sam Steingold <sds@gnu.org>.
26234
26235 2010-09-30  Bruno Haible  <bruno@clisp.org>
26236
26237         More renaming from 'getdate' to 'get_date'.
26238         * doc/get_date.texi: Renamed from doc/getdate.texi.
26239         * modules/get_date (Files): Update.
26240         * MODULES.html.sh (Date and time <time.h>): Update.
26241         * DEPENDENCIES: Update.
26242         * gnulib-tool: Update comment.
26243         * m4/bison.m4 (gl_BISON): Likewise.
26244         * m4/get_date.m4 (gl_GET_DATE): Likewise.
26245
26246 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
26247
26248         bootstrap: support ACLOCAL_FLAGS during aclocal
26249         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
26250         can add additional -I dir for third-party .m4 files.
26251
26252 2010-09-30  Eric Blake  <eblake@redhat.com>
26253
26254         bootstrap: use glibtoolize on MacOS
26255         * build-aux/bootstrap (check_versions): Convert libtool into
26256         libtoolize.
26257         (tool search): Move libtool check earlier, and look for
26258         glibtoolize for MacOS.
26259         (gnulib_tool_options): Auto-add --libtool when appropriate.
26260         Reported by Justin Clift.
26261
26262         poll: fix typo that broke test on MacOS
26263         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
26264         Reported by Justin Clift.
26265
26266         getdate: rename to get_date
26267         Note: getdate.h is not renamed, to minimize client impact.
26268         * modules/getdate: Mark obsolete.  Move old contents...
26269         * modules/get_date: ...to new module name.
26270         * modules/getdate-tests: Move...
26271         * modules/get_date-tests: ...here.
26272         * m4/getdate.m4: Move...
26273         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
26274         * lib/getdate.y: Move...
26275         * lib/get_date.y: ...here.
26276         * tests/test-getdate.c: Move...
26277         * tests/test-get_date.c: ...here.
26278         * doc/posix-functions/getdate.texi (getdate): Update name.
26279         * NEWS: Mention the change.
26280
26281 2010-09-29  Bruno Haible  <bruno@clisp.org>
26282
26283         Separate the module 'waitpid' from the module 'sys_wait'.
26284         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
26285         present.
26286         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
26287         gl_MODULE_INDICATOR_FOR_TESTS.
26288         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
26289         * modules/sys_wait (Depends-on): Remove waitpid.
26290         (Makefile.am): Substitute GNULIB_WAITPID.
26291         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
26292         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
26293         signature only if the 'waitpid' module is present.
26294         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
26295         * NEWS: Mention the change.
26296         * modules/grantpt (Depends-on): Add waitpid.
26297         * modules/wait-process (Depends-on): Likewise.
26298
26299 2010-09-29  Bruno Haible  <bruno@clisp.org>
26300
26301         More tests for module 'sys_wait'.
26302         * modules/sys_wait-c++-tests: New file.
26303         * tests/test-sys_wait-c++.cc: New file.
26304         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
26305         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26306
26307 2010-09-29  Bruno Haible  <bruno@clisp.org>
26308
26309         New module 'waitpid'.
26310         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
26311         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
26312         Don't include <process.h>.
26313         (waitpid): Declare only, using modern idiom.
26314         * m4/waitpid.m4: New file.
26315         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
26316         * modules/waitpid: New file.
26317         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
26318         (Makefile.am): Update.
26319         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26320
26321 2010-09-28  Bruno Haible  <bruno@clisp.org>
26322
26323         poll: Assume ANSI C.
26324         * lib/poll.c (poll): Use an ANSI C declaration.
26325
26326 2010-09-28  Bruno Haible  <bruno@clisp.org>
26327
26328         poll-h: Create poll.h on all platforms.
26329         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
26330         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
26331         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
26332         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
26333         (gl_REPLACE_POLL_H): Don't set POLL_H.
26334         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
26335         * modules/poll-h (Depends-on): Add include_next.
26336         (Makefile.am): Create poll.h unconditionally. Substitute also
26337         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
26338
26339 2010-09-28  Bruno Haible  <bruno@clisp.org>
26340
26341         Tests for module 'poll-h'.
26342         * modules/poll-h-c++-tests: New file.
26343         * tests/test-poll-h-c++.cc: New file.
26344
26345         Tests for module 'poll-h'.
26346         * modules/poll-h-tests: New file.
26347         * tests/test-poll-h.c: New file.
26348
26349 2010-09-28  Bruno Haible  <bruno@clisp.org>
26350
26351         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
26352         * modules/poll-h (Depends-on): Add 'extensions'.
26353
26354 2010-09-28  Bruno Haible  <bruno@clisp.org>
26355
26356         New module 'poll-h'.
26357         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
26358         (poll): Use modern idiom.
26359         * modules/poll-h: New file.
26360         * modules/poll (Files): Remove lib/poll.in.h.
26361         (Depends-on): Add poll-h.
26362         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
26363         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
26364         * m4/poll_h.m4: New file.
26365         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
26366         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
26367         and invoke gl_REPLACE_POLL_H.
26368         * lib/poll.c: Use common idiom.
26369         * tests/test-poll.c: Likewise.
26370         * doc/posix-headers/poll.texi: Mention the poll-h module.
26371         Suggested by Eric Blake.
26372
26373 2010-09-26  Bruno Haible  <bruno@clisp.org>
26374
26375         sys_wait: Implement WSTOPSIG.
26376         * lib/sys_wait.in.h (WSTOPSIG): New macro.
26377         Reported by Simon Josefsson.
26378
26379 2010-09-26  Simon Josefsson  <simon@josefsson.org>
26380
26381         stdlib, sys_wait: Avoid compilation error on mingw.
26382         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
26383
26384 2010-09-26  Bruno Haible  <bruno@clisp.org>
26385
26386         stdlib tests: Avoid code duplication.
26387         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
26388         * modules/sys_wait-tests (Files): Likewise.
26389         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
26390         * tests/test-stdlib.c: Include test-sys_wait.h.
26391         (main): Invoke test_sys_wait_macros.
26392         * tests/test-sys_wait.c: Include test-sys_wait.h.
26393         (main): Invoke test_sys_wait_macros.
26394
26395 2010-09-25  Simon Josefsson  <simon@josefsson.org>
26396
26397         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
26398         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
26399         sure Windows sockets are working before calling getaddrinfo.
26400         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
26401         * doc/gnulib.texi (Windows sockets): Fix typo.
26402
26403 2010-09-25  Bruno Haible  <bruno@clisp.org>
26404
26405         Tests for module 'regex-quote'.
26406         * modules/regex-quote-tests: New file.
26407         * tests/test-regex-quote.c: New file.
26408
26409         New module 'regex-quote'.
26410         * lib/regex-quote.h: New file.
26411         * lib/regex-quote.c: New file.
26412         * modules/regex-quote: New file.
26413         Suggested by Reuben Thomas <rrt@sc3d.org>.
26414
26415 2010-09-24  Bruno Haible  <bruno@clisp.org>
26416
26417         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
26418         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
26419
26420 2010-09-23  Bruno Haible  <bruno@clisp.org>
26421
26422         setenv: Relax license.
26423         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
26424         Blake.
26425         Requested by Eric Blake.
26426
26427 2010-09-22  Bruno Haible  <bruno@clisp.org>
26428
26429         termios: Relax license.
26430         * modules/termios (License): Change to LGPLv2+.
26431         Requested by Eric Blake.
26432
26433 2010-09-22  Bruno Haible  <bruno@clisp.org>
26434
26435         threadlib: Allow the package to change the default to 'no'.
26436         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
26437         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
26438         Reported by Paul Eggert.
26439
26440 2010-09-22  Pádraig Brady  <P@draigbrady.com>
26441             Bruno Haible  <bruno@clisp.org>
26442
26443         Fix endless loop in mbmemcasecoll.
26444         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
26445         byte.
26446         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
26447
26448 2010-09-22  Bruno Haible  <bruno@clisp.org>
26449
26450         Tests for module 'memcoll'.
26451         * modules/memcoll-tests: New file.
26452         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
26453
26454         memcoll, xmemcoll: Clarify size vs. length.
26455         * modules/memcoll.c (memcoll0): Clarify specification.
26456         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
26457         passed to collate_error.
26458
26459 2010-09-22  Bruno Haible  <bruno@clisp.org>
26460
26461         Tests for module 'memcasecmp'.
26462         * modules/memcasecmp-tests: New file.
26463         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
26464
26465 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
26466
26467         * lib/pthread.in.h: Add split double-inclusion guard, and include
26468         system <pthread.h> if there is one.  Use @@-style as in other
26469         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
26470         pthread.h doesn't.
26471         (pthread_mutexattr_destroy, pthread_mutexattr_init):
26472         (pthread_mutexattr_settype, pthread_mutex_trylock):
26473         New static inline functions, if there's no system <pthread.h>.
26474         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
26475         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
26476         Approximate with mutexes if the system lacks spinlocks, as in
26477         MacOS.
26478         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
26479         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
26480         @@-style.  Check for spinlocks separately.
26481         (gl_PTHREAD_DEFAULTS): New macro.
26482         * modules/pthread: Redo to use a more typical style for in.h files.
26483
26484 2010-09-21  Eric Blake  <eblake@redhat.com>
26485
26486         net_if: enhance tests
26487         * tests/test-net_if.c (main): Move signature checks earlier.
26488         Print failures to stderr.
26489         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
26490         Document the bug that we do not yet fix.
26491
26492 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26493
26494         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
26495         about gnulib, not GSS.
26496
26497 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
26498
26499         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
26500         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
26501         for Emacs.
26502         * build-aux/pmccabe2html: Make Makefile.am example code more
26503         cut-and-paste friendly.
26504
26505 2010-09-21  Simon Josefsson  <simon@josefsson.org>
26506
26507         * tests/test-net_if.c: New file.
26508         * modules/net_if-tests: New file.
26509
26510 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
26511
26512         pthread: add pthread_spin_destroy
26513         * lib/pthread.in.h (pthread_spin_destroy): New function.
26514
26515 2010-09-19  Bruno Haible  <bruno@clisp.org>
26516
26517         gnulib-tool: Fix --help output.
26518         * gnulib-tool (func_usage): Fix help message.
26519         Reported by Reuben Thomas <rrt@sc3d.org>.
26520
26521 2010-09-18  Jim Meyering  <meyering@redhat.com>
26522
26523         maint.mk: avoid unexpanded \n in two diagnostics
26524         * top/maint.mk (sc_prohibit_always_true_header_tests):
26525         Don't use a literal \n in a halt=... assignment.  It would not be
26526         expanded, and the two \n bytes would appear in the diagnostic output
26527         rather than the desired newline.  Use halt=$$(printf ... instead.
26528         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26529
26530 2010-09-18  Bruno Haible  <bruno@clisp.org>
26531
26532         netinet_in: Doc tweak.
26533         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
26534         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26535
26536 2010-09-18  Jim Meyering  <meyering@redhat.com>
26537
26538         init.sh: correct an outdated comment
26539         * tests/init.sh (create_exe_shims_):  s/function/alias/
26540
26541         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
26542         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
26543         a file named "*.exe" is removed between the glob expansion and the
26544         processing of that oddly named file.
26545
26546 2010-09-17  Eric Blake  <eblake@redhat.com>
26547
26548         mirbsd: add some more support
26549         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
26550         in BSD family.
26551         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
26552         devices as OpenBSD.
26553         * m4/host-os.m4 (mirbsd): Add MirBSD.
26554
26555         tests: fix unportable assumption on sys/wait.h
26556         * tests/test-sys_wait.c (main): Relax test.
26557         * tests/test-stdlib.c (main): Likewise.
26558
26559         init.sh: accommodate directory with no .exes
26560         * tests/init.sh: Accomodate directory containing only scripts.
26561
26562         tests: avoid compiler warning
26563         * tests/test-stdlib.c (main): Use the variable.
26564
26565         fdutimens, fdutimensat: update signature, again
26566         * lib/utimens.h (gl_futimens): Delete, and move signature...
26567         (fdutimens): ...here.
26568         (fdutimensat): Rearrange signature.
26569         (lutimensat): Rename variable for clarity.
26570         * lib/fdutimensat.c (fdutimensat): Update signature.
26571         * lib/utimens.c (fdutimens): Likewise.
26572         (gl_futimens): Delete.
26573         (utimens, lutimens): Update callers.
26574         * lib/futimens.c (futimens): Likewise.
26575         * tests/test-fdutimensat.c: Likewise.
26576         * tests/test-utimens.c: Likewise.
26577         * tests/test-futimens.h: Update comment.
26578         * NEWS: Mention this.
26579         Suggested by Paul Eggert.
26580
26581 2010-09-17  Bruno Haible  <bruno@clisp.org>
26582
26583         Take over the maintenance of some older macros from Autoconf.
26584         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
26585         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
26586         GNU Autoconf.
26587         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
26588         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
26589
26590 2010-09-17  Eric Blake  <eblake@redhat.com>
26591
26592         fdutimensat: drop atflag validation
26593         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
26594         with valid fd, to close a race scenario where futimens is
26595         unsupported and FILE was replaced by a symlink.
26596         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
26597         accordingly.
26598         Suggested by Paul Eggert.
26599
26600 2010-09-16  Bruno Haible  <bruno@clisp.org>
26601
26602         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
26603         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
26604
26605 2010-09-16  Bruno Haible  <bruno@clisp.org>
26606
26607         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
26608         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
26609         login_tty exists.
26610         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26611
26612 2010-09-16  Bruno Haible  <bruno@clisp.org>
26613
26614         login_tty: Make the replacement code work on BSD systems.
26615         * lib/login_tty.c: Include <sys/ioctl.h>.
26616         (login_tty): Use ioctl TIOCSCTTY when available.
26617         * modules/login_tty (Depends-on): Add sys_ioctl.
26618         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26619
26620 2010-09-16  Bruno Haible  <bruno@clisp.org>
26621
26622         login_tty: Stricter unit test.
26623         * modules/login_tty-tests (Depends-on): Add tcgetsid.
26624         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
26625         and tcgetsid() after login_tty.
26626         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26627
26628 2010-09-16  Bruno Haible  <bruno@clisp.org>
26629
26630         New module 'tcgetsid'.
26631         * lib/tcgetsid.c: New file.
26632         * m4/tcgetsid.m4: New file.
26633         * modules/tcgetsid: New file.
26634         * modules/termios (Depends-on): Add c++defs, warn-on-use.
26635         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
26636         GNULIB_TCGETSID, HAVE_TCGETSID.
26637         * lib/termios.in.h: Include <sys/types.h>.
26638         (tcgetsid): New declaration.
26639         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
26640         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
26641         * doc/posix-functions/tcgetsid.texi: Mention the new module.
26642         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
26643
26644 2010-09-16  Bruno Haible  <bruno@clisp.org>
26645
26646         Tests for module 'termios'.
26647         * modules/termios-c++-tests: New file.
26648         * modules/termios-tests: New file.
26649         * tests/test-termios-c++.cc: New file.
26650         * tests/test-termios.c: New file.
26651
26652         New module 'termios'.
26653         * modules/termios: New file.
26654         * lib/termios.in.h: New file.
26655         * m4/termios_h.m4: New file.
26656         * doc/posix-headers/termios.texi: Mention the new module.
26657
26658 2010-09-16  Eric Blake  <eblake@redhat.com>
26659
26660         fdutimensat: add an atflag parameter
26661         * lib/fdutimensat.c (fdutimensat): Add new parameter.
26662         * lib/utimens.h (fdutimensat): Update prototype.
26663         * tests/test-fdutimensat.c: Adjust test to match.
26664         * NEWS: Document the change.
26665         Suggested by Paul Eggert.
26666
26667 2010-09-16  Bruno Haible  <bruno@clisp.org>
26668
26669         Fix typos in comments.
26670         * lib/striconveh.h: Fix typo in comment.
26671         * lib/login_tty.c (login_tty): Likewise.
26672
26673 2010-09-15  Bruno Haible  <bruno@clisp.org>
26674
26675         stdlib: clarify MirBSD WEXITSTATUS bug
26676         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
26677         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26678
26679 2010-09-15  Eric Blake  <eblake@redhat.com>
26680
26681         stdlib: work around MirBSD WEXITSTATUS bug
26682         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
26683         * modules/stdlib (Depends-on): Add sys_wait.
26684         * tests/test-sys_wait.c (main): Enhance test.
26685         * tests/test-stdlib.c (main): Likewise.
26686         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
26687
26688         docs: mention MacOS issue with WEXITSTATUS(constant)
26689         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
26690         issue.
26691         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26692
26693         strnlen: add tests
26694         * modules/strnlen-tests: New file.
26695         * tests/test-strnlen.c: Likewise.
26696
26697 2010-09-14  Bruno Haible  <bruno@clisp.org>
26698
26699         unistr/base: Avoid link errors when module 'libunistring' is also used.
26700         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
26701         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
26702         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
26703         Declare also when HAVE_LIBUNISTRING is set.
26704         Reported by Pádraig Brady <P@draigbrady.com>.
26705
26706 2010-09-14  Eric Blake  <eblake@redhat.com>
26707
26708         test-rawmemchr: make more robust
26709         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
26710         (Depends-on, configure.ac): Add needed prerequisites to use it.
26711         * modules/memchr-tests (Files, Depends-on, configure.ac):
26712         Likewise, to avoid implicit reliance on memchr module prereqs.
26713         * tests/test-memchr.c (main): Ensure proper masking.
26714         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
26715         reads.
26716
26717         memchr: detect glibc Alpha bug
26718         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
26719         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
26720         Alpha.
26721         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
26722         * tests/test-memchr.c (main): Enhance test.
26723         Reported by Nelson H. F. Beebe.
26724
26725 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26726
26727         fts, getcwd, glob: audit for dirfd returning -1
26728         * lib/fts.c (opendir): Remove #define; no longer used.
26729         (opendirat): New arg PDIR_FD.  All callers changed.
26730         (fts_build, _opendir2): Use new opendirat to avoid the need for
26731         dirfd, or for checking whether dirfd returns a negative value.
26732         Don't use opendir; always use openat followed by fdopendir.
26733         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
26734         it.
26735         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
26736         returns -1 here.
26737         * modules/fts (Depends-on): Remove dirfd.
26738         * modules/getcwd (Depends-on): Likewise.
26739
26740 2010-09-13  Eric Blake  <eblake@redhat.com>
26741
26742         float: fix broken MirBSD header
26743         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
26744         * doc/posix-headers/float.texi (float.h): Document it.
26745
26746 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
26747
26748         fts: use O_NOFOLLOW to avoid race condition when opening a directory
26749         * lib/fts.c (opendirat): New arg extra_flags.
26750         (__opendir2): Use it to avoid following symlinks when opening
26751         a directory, if symlinks are not supposed to be followed.  See
26752         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
26753
26754         fdopendir: preserve argument fd before returning
26755         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
26756         (fdopendir_with_dup, fd_clone_opendir): New static functions.
26757         (fdopendir): Use them, arranging for FD to be open to the same
26758         directory that it was when it started.  (It might be temporarily
26759         closed while fdopendir is running, so this not thread- or
26760         signal-safe.)  Be careful to do the right thing even when file
26761         descriptors are scarce and dup fails with errno == EMFILE.  See
26762         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
26763
26764 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
26765
26766         regex: Pass the system regex if its only problem is 32-bit regoff_t.
26767         * NEWS: Document change.
26768         * m4/regex.m4: Disable test for regoff_t size.
26769
26770 2010-09-13  Jim Meyering  <meyering@redhat.com>
26771
26772         fts: don't operate on an invalid file descriptor after failed dup
26773         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
26774         negative file descriptor.
26775
26776 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
26777
26778         savedir: add streamsavedir, deprecate fdsavedir
26779         * NEWS: Mention deprecation of fdsavedir.
26780         * lib/savedir.c (streamsavedir): New extern function, whose name
26781         ends in "savedir" to be consistent with the others.  This differs
26782         from savedirstream in that it doesn't close its argument.  The
26783         next version of GNU tar will use this instead of fdsavedir, to
26784         avoid some race conditions and conserve file descriptors.
26785         (savedirstream): Reimplement as a wrapper around streamsavedir.
26786         (fdsavedir): Add a comment deprecating this function.  As far as
26787         I know, only GNU tar used it, and GNU tar doesn't need it any more.
26788         * lib/savedir.h (streamsavedir): New decl.
26789         (fdsavedir): Add a comment deprecating this.
26790
26791 2010-09-10  Bruno Haible  <bruno@clisp.org>
26792
26793         langinfo: Fix last commit.
26794         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
26795         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
26796         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26797
26798 2010-09-10  Bruno Haible  <bruno@clisp.org>
26799
26800         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
26801         * lib/progreloc.c (O_EXEC): Define fallback.
26802
26803 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
26804
26805         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
26806         * NEWS: Document recent changes to fcntl-h.
26807         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
26808         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
26809         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
26810         Similarly for O_SEARCH; this last was already true, but not documented.
26811         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
26812         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
26813         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
26814         Likewise.
26815         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
26816         is zero, not whether it is defined.
26817         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
26818         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
26819         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
26820
26821 2010-09-10  Bruno Haible  <bruno@clisp.org>
26822
26823         langinfo, nl_langinfo: Fix for IRIX 5.3.
26824         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
26825         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
26826         HAVE_LANGINFO_YESEXPR.
26827         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
26828         HAVE_LANGINFO_YESEXPR.
26829         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
26830         HAVE_LANGINFO_T_FMT_AMPM is 0.
26831         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
26832         HAVE_LANGINFO_YESEXPR is 0.
26833         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
26834         NOEXPR.
26835         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
26836         * doc/posix-functions/nl_langinfo.texi: Likewise.
26837         Reported by Eric Blake.
26838
26839 2010-09-10  Bruno Haible  <bruno@clisp.org>
26840
26841         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
26842         * doc/glibc-functions/login_tty.texi: Mention the include file problem
26843         on FreeBSD 8.0 and OpenBSD 4.6.
26844         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
26845         * m4/pty_h.m4 (gl_PTY_H): Likewise.
26846         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
26847         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
26848         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
26849         ac_includes_default.
26850         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
26851
26852 2010-09-09  Eric Blake  <eblake@redhat.com>
26853
26854         strsignal: work around NetBSD bug
26855         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
26856         * lib/string.in.h (includes): Likewise.
26857         * doc/posix-functions/strsignal.texi (strsignal): Document the
26858         bug.
26859         Reported by Nelson H. F. Beebe.
26860
26861         gnulib-tool: work with NetBSD /bin/sh
26862         * gnulib-tool (func_cache_var, func_cache_lookup_module)
26863         (func_get_description, func_get_comment, func_get_status)
26864         (func_get_notice, func_get_applicability, func_get_filelist)
26865         (func_get_dependencies, func_get_autoconf_early_snippet)
26866         (func_get_autoconf_snippet, func_get_automake_snippet)
26867         (func_get_include_directive, func_get_link_directive)
26868         (func_get_license, func_get_maintainer, func_import): Avoid
26869         shell syntax errors from parsing syntax extensions.
26870
26871 2010-09-09  Bruno Haible  <bruno@clisp.org>
26872
26873         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26874         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
26875         a reliable way to determine whether the 'alias' command works.
26876
26877 2010-09-08  Jim Meyering  <meyering@redhat.com>
26878
26879         init.sh: penalize a set-x-impaired shell; don't disqualify it
26880         * tests/init.sh: Too many shells corrupt application stderr when
26881         you set -x, so we can't afford to disqualify them, since at least
26882         on Irix-6.5, that would disqualify all bourne shells.
26883         Instead, use a two-pass approach.
26884         On the first pass, try to find a shell that meets the stricter
26885         condition that set -x does not corrupt stderr.
26886         If no shell meets the stricter condition, retest each candidate
26887         shell, but without that extra condition.  Finally, when
26888         VERBOSE=yes is requested and set -x might cause trouble, simply
26889         issue a warning and refrain from enabling debug output.
26890
26891 2010-09-08  Eric Blake  <eblake@redhat.com>
26892
26893         unsetenv: fix OpenBSD bug
26894         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
26895         * doc/posix-functions/unsetenv.texi (unsetenv): Update
26896         documentation.
26897         Reported by Jim Meyering.
26898
26899         strtod: work around IRIX 6.5 bug
26900         * lib/strtod.c (strtod): Reparse number on shorter string if
26901         exponent parse was invalid.
26902         * tests/test-strtod.c (main): Add check for "0x1p 2".
26903         Reported by Tom G. Christensen.
26904
26905         getopt: optimize previous patch
26906         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
26907         empty variable.  Speed up awk script.
26908         Reported by Paolo Bonzini.
26909
26910 2010-09-08  Jim Meyering  <meyering@redhat.com>
26911
26912         test.sh: disqualify shells for which set -x corrupts stderr
26913         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
26914         and OpenBSD 4.7.  They make it so with "set -x", environment settings
26915         appear in stderr output.  For example, this command:
26916             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
26917         prints "P=1" on those two systems:
26918
26919 2010-09-08  Bruno Haible  <bruno@clisp.org>
26920
26921         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
26922         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
26923         commands, because some shells ignore redirections when there is an
26924         error in the command lookup.
26925         Reported by Eric Blake.
26926
26927 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
26928
26929         * lib/regex.h: Fix a mention of `regex_compile' (should be
26930         `re_compile_pattern').
26931         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
26932         (re_set_registers): Correct name of parameter in comment.
26933
26934         * doc/regex.texi: Add documentation for missing syntax flags.
26935         Remove commented-out documentation of defunct syntax option
26936         RE_NO_EMPTY_ALTS.
26937         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
26938         Add documentation of re_set_registers.
26939         Document trick to re-use a pattern buffer by setting fastmap manually.
26940         Update documentation of struct re_pattern_buffer per public members.
26941         Uncomment documentation of equivalence class operators and
26942         collating symbol operators, since they are now implemented,
26943         Explain leftmost-longest matching in relation to alternatives.
26944         Tidy documentation of substring matching.
26945         Remove POSIX documentation, which is done better in
26946         glibc, and refer the reader there. Keep BSD API documentation, as
26947         that is not readily available elsewhere.
26948
26949 2010-09-07  Eric Blake  <eblake@redhat.com>
26950
26951         getopt: handle POSIXLY_CORRECT set but not exported
26952         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
26953         export state of POSIXLY_CORRECT, due to bash set -o posix.
26954         Reported by Dustin J. Mitchell.
26955
26956 2010-09-05  Bruno Haible  <bruno@clisp.org>
26957
26958         gnulib-tool: Highlight the changed options.
26959         * gnulib-tool (func_usage): Display the --import, --add-import,
26960         --remove-import explanations in bold font.
26961
26962 2010-09-06  Karl Berry  <karl@gnu.org>
26963
26964         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
26965
26966 2010-09-05  Bruno Haible  <bruno@clisp.org>
26967
26968         uniwidth/width: Update comment.
26969         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
26970         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
26971
26972 2010-09-05  Bruno Haible  <bruno@clisp.org>
26973
26974         isinf, isnan: Relax license.
26975         * modules/isinf (License): Change from GPL to LGPL, with consent from
26976         Ben Pfaff.
26977         * modules/isnan (License): Likewise.
26978         Requested by Ludovic Courtès.
26979
26980 2010-09-04  Bruno Haible  <bruno@clisp.org>
26981
26982         gnulib-tool: Help migration from --import to --add-import or --update.
26983         * gnulib-tool: Emit a verbose error message when --import is used
26984         without any module name.
26985
26986 2010-09-04  Bruno Haible  <bruno@clisp.org>
26987
26988         Update doc about gnulib-tool.
26989         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
26990         'gnulib-tool --update' in more detail.
26991         Reported by Eric Blake.
26992
26993 2010-09-04  Bruno Haible  <bruno@clisp.org>
26994
26995         gnulib-tool: Change --import. New options --add/remove-import.
26996         * gnulib-tool: New options --add-import, --remove-import.
26997         (func_usage): Document them.
26998         (have_associative): Define always.
26999         (func_import): In import mode, don't merge the specified settings with
27000         the cached settings. Implement remove-import mode.
27001         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27002         Explain when to use them versus --import.
27003         (Simple update): Use --add-import instead of --import.
27004         * NEWS: Mention the change.
27005
27006 2010-09-04  Bruno Haible  <bruno@clisp.org>
27007
27008         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27009         separate gnulib.mk.
27010
27011 2010-09-04  Bruno Haible  <bruno@clisp.org>
27012
27013         gnulib-tool: Don't talk about CVS any more.
27014         * gnulib-tool (func_usage, func_import): Write "version control"
27015         instead of CVS.
27016
27017 2010-09-04  Jim Meyering  <meyering@redhat.com>
27018
27019         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27020         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27021         false positives (whose names may be ill-chosen) when searching
27022         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27023         would cause a false-positive.
27024
27025         avoid coreutils "make distcheck" failure
27026         Coreutils tests with an absolute build directory name that contains
27027         a space.  Not quoting this directory name caused a failure.
27028         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27029         * tests/test-vc-list-files-cvs.sh: Likewise.
27030
27031 2010-09-04  Bruno Haible  <bruno@clisp.org>
27032
27033         gnulib-tool: Avoid error when run in a package without Makefile.am.
27034         * gnulib-tool: When collecting the m4dirs in a package that does not
27035         have a Makefile.am, eliminate those directories that contain no
27036         gnulib-cache.m4. Fix expression that counts these directories.
27037
27038 2010-09-04  Bruno Haible  <bruno@clisp.org>
27039
27040         update-copyright test: Improve output when perl is missing or too old.
27041         * tests/test-update-copyright.sh: Move test of Perl version down after
27042         the test whether Perl exists. Provide an explanation relating Perl's
27043         error message to Automake's SKIP: message.
27044
27045 2010-09-04  Bruno Haible  <bruno@clisp.org>
27046
27047         Don't augment PATH in TESTS_ENVIRONMENT.
27048         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27049         set abs_aux_dir instead of augmenting PATH.
27050         * modules/vc-list-files-tests (Makefile.am): Likewise.
27051         * tests/test-update-copyright.sh: Augment PATH here.
27052         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27053         path_prepend_.
27054         * tests/test-vc-list-files-git.sh: Likewise.
27055
27056 2010-09-04  Jim Meyering  <meyering@redhat.com>
27057
27058         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27059         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27060
27061 2010-09-04  Bruno Haible  <bruno@clisp.org>
27062
27063         strdup: Fix compilation error in C++ mode.
27064         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27065         the macro.
27066
27067 2010-09-04  Bruno Haible  <bruno@clisp.org>
27068
27069         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27070         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27071         macro into a function.
27072         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27073
27074 2010-09-04  Bruno Haible  <bruno@clisp.org>
27075
27076         Set PATH_SEPARATOR the same way autoconf does.
27077         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27078         the value of PATH_SEPARATOR the same way autoconf-generated configure
27079         scripts do.
27080         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27081         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27082
27083 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27084
27085         Set PATH_SEPARATOR the same way autoconf does.
27086         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27087         the same way autoconf-generated configure scripts do.
27088         * posix-modules: Likewise.
27089
27090 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27091
27092         hash: fix safe_hasher const typo
27093         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27094         const; otherwise, there is a type error later.
27095
27096 2010-09-02  Jim Meyering  <meyering@redhat.com>
27097
27098         test-update-copyright.sh: require perl 5.8.0
27099         * tests/test-update-copyright.sh: Require 5.8.0,
27100         which Tom G. Christensen has confirmed is adequate,
27101         while 5.6.1 is not.
27102
27103 2010-09-02  Eric Blake  <eblake@redhat.com>
27104
27105         tests: init.sh improvements for re-exec'ing with zsh
27106         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27107         -vx through shell re-exec.
27108         Reported by Tom G. Christensen.
27109
27110         wctype: fix typo in previous commit
27111         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27112         Reported by Ludovic Courtès.
27113
27114 2010-09-02  Jim Meyering  <meyering@redhat.com>
27115
27116         test-update-copyright.sh: skip test if Perl is too old
27117         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27118         Reported by Tom G. Christensen.
27119
27120 2010-09-02  Bruno Haible  <bruno@clisp.org>
27121
27122         wctype: Avoid compilation error on IRIX 6.5.30.
27123         * lib/wctype.in.h (iswblank): Declare with a replacement if
27124         REPLACE_ISWBLANK is set.
27125         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27126         declared. Set REPLACE_ISWBLANK.
27127         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27128         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27129         * doc/posix-headers/wctype.texi: Likewise.
27130         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27131
27132 2010-09-01  Bruno Haible  <bruno@clisp.org>
27133
27134         New module 'socketlib'.
27135         * modules/socketlib: New file.
27136         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27137         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27138         * modules/sockets (Depends-on): Add socketlib.
27139         Suggested by Sam Steingold <sds@gnu.org>.
27140
27141 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27142
27143         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27144
27145         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27146         when one needs search access to a directory but not read access.
27147         On systems where it is available, it works in some cases where
27148         O_RDONLY does not, namely on directories that are searchable but
27149         not readable, and which need only to be searchable.  If O_SEARCH
27150         is not available, fall back to the traditional method of using
27151         O_RDONLY.
27152
27153         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27154         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27155         when opening a directory that needs only to be searchable.
27156         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27157         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27158         * lib/openat-proc.c (openat_proc_name): Likewise.
27159         * lib/openat.c (openat_needs_fchdir): Likewise.
27160         * lib/save-cwd.c (save_cwd): Likewise.
27161         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27162
27163 2010-08-28  Bruno Haible  <bruno@clisp.org>
27164
27165         New module 'host-cpu-c-abi'.
27166         * modules/host-cpu-c-abi: New file.
27167         * m4/host-cpu-c-abi.m4: New file, based on part of
27168         clisp/src/m4/general.m4.
27169         Requested by Sam Steingold <sds@gnu.org>.
27170
27171 2010-08-31  Eric Blake  <eblake@redhat.com>
27172         and Jim Meyering  <meyering@redhat.com>
27173
27174         hash: factor, and guard against misbehaving hasher function
27175         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
27176         of table->hasher's return value.  Also protect against a hash value
27177         so large that adding it to table->bucket results in a NULL pointer.
27178         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
27179         Use it in place of open-coded check-and-abort.
27180
27181 2010-08-30  Bruno Haible  <bruno@clisp.org>
27182
27183         hash: silence spurious clang warning
27184         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
27185         Reported by Eric Blake.
27186
27187 2010-08-30  Eric Blake  <eblake@redhat.com>
27188
27189         strstr, memmem, strcasestr: avoid leaked shell message
27190         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
27191         FreeBSD.
27192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27193         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27194
27195         tests: silence clang warning
27196         * tests/test-malloca.c (do_allocation): Avoid dead store.
27197
27198 2010-08-29  Bruno Haible  <bruno@clisp.org>
27199
27200         gettext: Fix recent mistake.
27201         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
27202
27203 2010-08-29  Bruno Haible  <bruno@clisp.org>
27204
27205         selinux-h: Offer a --without-selinux option.
27206         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
27207         --without-selinux was specified, skip all tests and define
27208         HAVE_SELINUX_SELINUX_H to 0.
27209         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
27210         set LIB_SELINUX to empty.
27211         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
27212         gl_LIBSELINUX. If --without-selinux was specified, replace
27213         selinux/context.h.
27214         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
27215
27216 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27217             Bruno Haible  <bruno@clisp.org>
27218
27219         Make the module 'realloc-gnu' work again on AIX and OSF/1.
27220         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
27221         of HAVE_REALLOC.
27222         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
27223         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
27224         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
27225         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27226
27227 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27228             Bruno Haible  <bruno@clisp.org>
27229
27230         Make the module 'calloc-gnu' work again on AIX and OSF/1.
27231         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
27232         HAVE_CALLOC.
27233         * lib/xmalloc.c: Update accordingly.
27234         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
27235         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
27236         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
27237
27238 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27239             Bruno Haible  <bruno@clisp.org>
27240
27241         Make the module 'malloc-gnu' work again on AIX and OSF/1.
27242         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
27243         HAVE_MALLOC.
27244         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
27245         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
27246         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
27247
27248 2010-08-29  Bruno Haible  <bruno@clisp.org>
27249
27250         Update modules list.
27251         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
27252         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
27253         (String handling <string.h>): Add astrxfrm.
27254         (File system functions): Add readlinkat.
27255
27256 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27257
27258         Tests for module 'realloc-gnu'.
27259         * modules/realloc-gnu-tests: New file.
27260         * tests/test-realloc-gnu.c: New file.
27261
27262         Tests for module 'calloc-gnu'.
27263         * modules/calloc-gnu-tests: New file.
27264         * tests/test-calloc-gnu.c: New file.
27265
27266         Tests for module 'malloc-gnu'.
27267         * modules/malloc-gnu-tests: New file.
27268         * tests/test-malloc-gnu.c: New file.
27269
27270 2010-08-28  Bruno Haible  <bruno@clisp.org>
27271
27272         Rename module 'realloc' -> 'realloc-gnu'.
27273         * modules/realloc-gnu: New file, copied from modules/realloc.
27274         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
27275         obsolete.
27276         * modules/mgetgroups (Depends-on): Update.
27277         * doc/posix-functions/realloc.texi: Update.
27278         * NEWS: Mention the change.
27279
27280         Rename module 'calloc' -> 'calloc-gnu'.
27281         * modules/calloc-gnu: New file, copied from modules/calloc.
27282         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
27283         obsolete.
27284         * doc/posix-functions/calloc.texi: Update.
27285         * NEWS: Mention the change.
27286
27287         Rename module 'malloc' -> 'malloc-gnu'.
27288         * modules/malloc-gnu: New file, copied from modules/malloc.
27289         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
27290         obsolete.
27291         * modules/argp (Depends-on): Update.
27292         * modules/regex (Depends-on): Update.
27293         * doc/posix-functions/malloc.texi: Update.
27294         * NEWS: Mention the change.
27295
27296 2010-08-28  Eric Blake  <eblake@redhat.com>
27297
27298         pread, pwrite: add missing dependency
27299         * modules/pread (Depends-on): Add extensions.
27300         * modules/pwrite (Depends-on): Likewise.
27301
27302 2010-08-28  Bruno Haible  <bruno@clisp.org>
27303
27304         unistr/u*-strchr: Fix tests dependencies.
27305         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
27306         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
27307         Reported by Ian Beckwith <ianb@erislabs.net>.
27308
27309 2010-08-28  Bruno Haible  <bruno@clisp.org>
27310
27311         read-file: Don't occupy too much unused memory.
27312         * lib/read-file.c (fread_file): Shrink the buffer at the end.
27313
27314 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
27315             Eric Blake  <eblake@redhat.com>
27316             Bruno Haible  <bruno@clisp.org>
27317
27318         read-file: Avoid memory reallocations with regular files.
27319         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
27320         (fread_file): With regular files, use the remaining length as the
27321         initial buffer size.  Check against overflow.
27322         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
27323         sys_stat.
27324
27325 2010-08-28  Bruno Haible  <bruno@clisp.org>
27326
27327         ftello: Relax license.
27328         * modules/ftello (License): Relax to LGPLv2+.
27329         Reported by Eric Blake.
27330
27331 2010-08-28  Bruno Haible  <bruno@clisp.org>
27332
27333         Avoid relocwrapper link errors due to gnulib replacement functions.
27334         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
27335         function.
27336         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27337
27338 2010-08-28  Bruno Haible  <bruno@clisp.org>
27339
27340         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
27341         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
27342         defined.
27343         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
27344         Suggested by Eric Blake.
27345
27346 2010-08-28  Bruno Haible  <bruno@clisp.org>
27347
27348         sys_socket, netdb: Ensure socklen_t gets defined.
27349         * modules/sys_socket (Depends-on): Add socklen.
27350         * modules/netdb (Depends-on): Likewise.
27351         * modules/getaddrinfo (Depends-on): Remove socklen.
27352         * modules/getsockopt (Depends-on): Likewise.
27353         * modules/setsockopt (Depends-on): Likewise.
27354         * tests/test-sys_socket.c: Check that socklen_t is defined.
27355         * tests/test-netdb.c: Likewise.
27356         * m4/socklen.m4: Update comments.
27357         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
27358
27359 2010-08-27  Eric Blake  <eblake@redhat.com>
27360
27361         login_tty: add missing dependency
27362         * modules/login_tty (Depends-on): Add pty.
27363
27364 2010-08-26  Eric Blake  <eblake@redhat.com>
27365
27366         lib-symbol-versions: fix m4 quoting
27367         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
27368         format for AC_LINK_IFELSE.
27369
27370         glob: fix compile test
27371         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
27372
27373         btowc: fix missing file
27374         * modules/btowc (Files): Also ship locale-fr.m4.
27375
27376         lseek: fix link test
27377         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
27378         AC_LINK_IFELSE.
27379
27380         include_next: silence autoconf 2.68 warning
27381         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
27382         AC_COMPILE_IFELSE as special.
27383         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
27384         autoconf < 2.68.
27385
27386         acl: fix compilation test
27387         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
27388         AC_COMPILE_IFELSE.
27389
27390 2010-08-26  Bruno Haible  <bruno@clisp.org>
27391
27392         Modernize AC_TRY_RUN invocations.
27393         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
27394         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27395         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
27396         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
27397         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
27398         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
27399         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27400         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27401         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27402         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27403         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27404         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27405         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27406         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27407         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27408         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27409         gl_MBRLEN_NUL_RETVAL): Likewise.
27410         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27411         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
27412         Likewise.
27413         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27414         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27415         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27416         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27417         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
27418         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
27419         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
27420         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27421         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
27422         Likewise.
27423         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
27424         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
27425         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27426         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27427         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27428         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27429         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27430         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
27431         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27432         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27433
27434 2010-08-26  Bruno Haible  <bruno@clisp.org>
27435
27436         Modernize AC_TRY_LINK invocations.
27437         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
27438         AC_TRY_LINK.
27439         * m4/argp.m4 (gl_ARGP): Likewise.
27440         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27441         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27442         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
27443         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
27444         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
27445         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
27446         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27447         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27448         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
27449         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
27450         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
27451         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
27452         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
27453         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
27454         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
27455         * m4/hostent.m4 (gl_HOSTENT): Likewise.
27456         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27457         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
27458         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
27459         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
27460         Likewise.
27461         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
27462         Likewise.
27463         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
27464         Likewise.
27465         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
27466         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
27467         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
27468         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27469         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27470         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
27471         * m4/servent.m4 (gl_SERVENT): Likewise.
27472         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27473         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27474         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27475         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27476         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
27477         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27478         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27479         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27480         * modules/tsearch-tests (configure.ac): Likewise.
27481
27482 2010-08-26  Bruno Haible  <bruno@clisp.org>
27483
27484         Modernize AC_TRY_COMPILE invocations.
27485         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
27486         AC_TRY_COMPILE.
27487         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
27488         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
27489         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
27490         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
27491         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
27492         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
27493         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
27494         * m4/lock.m4 (gl_LOCK): Likewise.
27495         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
27496         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27497         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
27498         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
27499         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
27500         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
27501         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
27502         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
27503         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
27504         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
27505         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
27506         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
27507         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
27508         extraneous semicolon.
27509
27510 2010-08-26  Jim Meyering  <meyering@redhat.com>
27511
27512         stat-time: relax license LGPL
27513         * modules/stat-time (License): Change from GPL to LGPL,
27514         with consent from all contributors, for use in libguile.
27515         Requested by Ludovic Courtès.
27516
27517 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
27518
27519         poll: return immediately on POLLHUP.
27520         * lib/poll.c (poll): Always set timeout before wait_timeout is
27521         computed.
27522
27523 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27524
27525         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
27526         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
27527         rmdir ("dir/.//"), unlinkat.
27528
27529 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27530
27531         stdbool: avoid spurious failure with modern xlc
27532         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27533
27534 2010-08-24  Bruno Haible  <bruno@clisp.org>
27535
27536         getloadavg: simplify code
27537         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
27538         gl_have_func. Update comments.
27539
27540 2010-08-24  Eric Blake  <eblake@redhat.com>
27541
27542         getloadavg: don't define SVR4 on cygwin
27543         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
27544         only define SVR4 when -lkvm is required.
27545         Reported by Yaakov Selkowitz.
27546
27547 2010-08-24  Bruno Haible  <bruno@clisp.org>
27548
27549         priv-set: fix comment
27550         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
27551
27552 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
27553
27554         priv-set: fix comments
27555         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
27556         to match code, as suggested by David Bartley in:
27557         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
27558
27559 2010-08-23  Eric Blake  <eblake@redhat.com>
27560
27561         stdbool: avoid rejecting clang
27562         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
27563         * tests/test-stdbool.c: Enable more tests if using the system
27564         <stdbool.h> instead of the gnulib replacement.
27565         (main): Move xlc bug test to a runtime test for all compilers.
27566         Reported by Anders Kaseorg.
27567
27568         argz: fix shell quoting issue
27569         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
27570         Reported by Charles Wilson.
27571
27572 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
27573             Erik Faye-Lund <kusmabite@gmail.com>
27574
27575         poll, select: handle ERROR_BROKEN_PIPE.
27576         * lib/poll.c (win32_compute_revents): Return POLLHUP when
27577         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27578         * lib/select.c (win32_compute_revents): Do not mark a pipe
27579         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
27580
27581 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
27582
27583         fts: allow compilation with C++
27584         * lib/fts_.h: Specify extern "C" linkage with C++.
27585
27586 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27587
27588         Fix gnulib-tool sed script de-commentation for AIX sed.
27589         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
27590         sed.
27591
27592 2010-08-17  Eric Blake  <eblake@redhat.com>
27593
27594         test-stddef: test for (some) offsetof bugs
27595         * tests/test-stddef.c: Enhance test to ensure correct type of
27596         offsetof.
27597         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
27598         that we are not fixing at this time.
27599
27600 2010-08-15  Bruno Haible  <bruno@clisp.org>
27601
27602         stpncpy: Allow stpncpy to be defined as a macro.
27603         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
27604         if it's already correctly declared.
27605         * lib/string.in.h (stpncpy): Undefine before redefining.
27606         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
27607
27608 2010-08-14  Bruno Haible  <bruno@clisp.org>
27609
27610         Rename module 'memxfrm' to 'amemxfrm'.
27611         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
27612         (amemxfrm): Renamed from memxfrm.
27613         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
27614         (amemxfrm): Renamed from memxfrm.
27615         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
27616         * NEWS: Mention the change.
27617         * MODULES.html.sh (String handling <string.h>): Update.
27618         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
27619         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
27620         * lib/unicase/u16-casexfrm.c: Likewise.
27621         * lib/unicase/u32-casexfrm.c: Likewise.
27622         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
27623         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
27624         * lib/uninorm/u16-normxfrm.c: Likewise.
27625         * lib/uninorm/u32-normxfrm.c: Likewise.
27626         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
27627         memxfrm.
27628         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
27629         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
27630         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
27631         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
27632         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
27633         Suggested by Paul Eggert.
27634
27635 2010-08-14  Bruno Haible  <bruno@clisp.org>
27636
27637         Tests for module 'astrxfrm'.
27638         * modules/astrxfrm-tests: New file.
27639         * tests/test-astrxfrm.c: New file.
27640
27641         New module 'astrxfrm'.
27642         * lib/astrxfrm.h: New file.
27643         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
27644         * modules/astrxfrm: New file.
27645
27646 2010-08-14  Reuben Thomas <rrt@sc3d.org>
27647
27648         regex: Tweak doc.
27649         * doc/regex.texi (Overview): Don't mention regex.c.
27650         (GNU Regular Expression Compiling): Likewise.
27651         (Match-end-of-line Operator): Mention 'not_eol'.
27652
27653 2010-08-14  Brian Gough  <bjg@gnu.org>
27654             Bruno Haible  <bruno@clisp.org>
27655
27656         git-merge-changelog: add doc relating to use with bzr and hg.
27657         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
27658
27659 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
27660
27661         pthread: fix pthread.h creation for srcdir != builddir
27662         * modules/pthread (Makefile.am): Fix the rule to work also in a
27663         non-srcdir build.
27664
27665 2010-08-13  Karl Berry  <karl@gnu.org>
27666
27667         * doc/regex.texi (Predefined Syntaxes): @smallexample.
27668         * doc/posix-*/*: force line break before @url of POSIX
27669         specifications.
27670         Suggested by Werner Lemberg.
27671
27672 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
27673
27674         strtod: fix const diagnostic
27675         * lib/strtod.c (strtod): Don't assign const char * to char *,
27676         as this elicits a warning from GCC when warnings are enabled.
27677
27678 2010-08-10  Pádraig Brady <P@draigbrady.com>
27679         and Eric Blake  <eblake@redhat.com>
27680
27681         copy-acl: ignore ENOTSUP on HP-UX
27682         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
27683         so that it is available for HP-UX.
27684         * lib/copy-acl.c (qcopy_acl): Use it.
27685         Reported by Patrick M. Callahan.
27686
27687 2010-08-10  Eric Blake  <eblake@redhat.com>
27688
27689         open, chown: relax license
27690         * modules/open (License): Change to LGPLv2+, with consent by all
27691         authors, for use in augeas.
27692         * modules/chown (License): Likewise.
27693         * modules/lchown (Likewise): Likewise.
27694         Requested by Adam Stokes.
27695
27696 2010-08-09  Karl Berry  <karl@gnu.org>
27697
27698         * build-aux/ar-lib: new file, import from Automake.
27699         * config/srclist.txt: autocheck for updates.
27700
27701 2010-08-09  Eric Blake  <eblake@redhat.com>
27702
27703         readlinkat: adjust client modules
27704         * modules/areadlinkat (Depends-on): Use readlinkat, not
27705         symlinkat.
27706         * modules/areadlinkat-with-size (Depends-on): Likewise.
27707
27708         mknod: be more vocal about danger of running tests as root
27709         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
27710         root, since that is just asking for problems.
27711         Suggested by Bruno Haible, based on a report by Rainer Tammer.
27712
27713         readlinkat: split into its own module
27714         * modules/symlinkat: Split readlinkat...
27715         * modules/readlinkat: ...into separate module.
27716         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
27717         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
27718         * lib/symlinkat.c (readlinkat): Move...
27719         * lib/readlinkat.c: ...into new file.
27720         * modules/symlinkat-tests: Split readlinkat test...
27721         * modules/readlinkat-tests: ...into separate module.
27722         * tests/test-symlinkat.c: Split...
27723         * tests/test-readlinkat.c: ...into new file.
27724         * NEWS: Document the split.
27725         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
27726         * lib/unistd.in.h (readlinkat): Likewise.
27727         Suggested by Bruno Haible.
27728
27729 2010-08-08  Bruno Haible  <bruno@clisp.org>
27730
27731         memxfrm: Speed up.
27732         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
27733         that usually only one call to strxfrm is necessary for each string
27734         part.
27735         Reported by Paul Eggert <eggert@cs.ucla.edu>.
27736
27737 2010-08-07  Karl Berry  <karl@gnu.org>
27738
27739         * doc/posix-headers/limits.texi,
27740         * doc/posix-functions/malloc.texi,
27741         * doc/posix-functions/strsignal.texi: missing @item.
27742         * doc/ld-version-script.texi: spurious leading i.
27743         * doc/regex.texi (Interval Operators): no commas inside @var.
27744
27745 2010-08-01  Bruno Haible  <bruno@clisp.org>
27746
27747         Integrate the regex documentation.
27748         * doc/gnulib.texi: Define 'cn' index.
27749         (Regular expressions): New a chapter that includes regex.texi and
27750         regexprops-generic.texi.
27751         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
27752         syntax.
27753
27754         Whitespace cleanup.
27755         * doc/regex.texi: Remove trailing spaces.
27756
27757         Add regex documentation.
27758         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
27759         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
27760         Written by Kathy A. Hargreaves and Karl Berry.
27761
27762 2010-08-01  Bruno Haible  <bruno@clisp.org>
27763
27764         link: Update documentation.
27765         * doc/posix-functions/link.texi: Update regarding Solaris.
27766
27767 2010-07-31  Bruno Haible  <bruno@clisp.org>
27768
27769         Update modules list.
27770         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
27771         (String handling <string.h>): Add memcmp2, memxfrm.
27772         (Container data structures): Add xlist, xsublist, xoset.
27773         (Core language properties): Add alignof, unused-parameter.
27774         (Process control, Numeric conversion functions <stdlib.h>): Renamed
27775         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
27776         (Unibyte characters <ctype.h>): New section.
27777         (String handling <string.h>): New section.
27778         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
27779         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
27780         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
27781         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
27782         tan, tanh, tanl, y0, y1, yn.
27783         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
27784         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
27785         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
27786         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
27787         unlockpt, vdprintf, vdprintf-posix.
27788         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
27789         (File system functions): Add concat-filename, sys_file, sys_ioctl,
27790         xconcat-filename.
27791         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
27792         getdtablesize, pipe2, pipe2-safer.
27793         (Security): New section.
27794         (Networking functions): Add accept4.
27795         (Signal handling): Add sigpipe.
27796         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
27797         mbmemcasecoll.
27798         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
27799         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
27800         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
27801         pipe-filter-ii.
27802         (Misc): Add argp-version-etc, login_tty, parse-duration.
27803
27804 2010-07-31  Bruno Haible  <bruno@clisp.org>
27805
27806         Improve doc in MODULES.html.
27807         * modules/linkat (Description): Add the word "function".
27808         * modules/mkfifo (Description): Likewise.
27809         * modules/mknod (Description): Likewise.
27810         * modules/remove (Description): Likewise.
27811         * modules/renameat (Description): Likewise.
27812         * modules/stat (Description): Likewise.
27813         * modules/symlink (Description): Likewise.
27814         * modules/unlink (Description): Likewise.
27815
27816 2010-07-31  Bruno Haible  <bruno@clisp.org>
27817
27818         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
27819         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
27820         option --enable/disable-c++ instead of --enable/disable-cxx.
27821         * NEWS: Mention the change.
27822
27823 2010-07-31  Bruno Haible  <bruno@clisp.org>
27824
27825         readlink, areadlink: Relax test a bit.
27826         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
27827         alternative to ENOTDIR.
27828         * tests/test-areadlink.h (test_areadlink): Likewise.
27829         Reported by Rainer Tammer.
27830
27831 2010-07-31  Bruno Haible  <bruno@clisp.org>
27832
27833         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
27834         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
27835         character, perform the search using U_STRCHR.
27836         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
27837         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
27838         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
27839         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
27840         Suggested by Paolo Bonzini.
27841
27842 2010-07-31  Bruno Haible  <bruno@clisp.org>
27843
27844         unistr/u*-strstr: Fix dependencies.
27845         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
27846         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
27847         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
27848
27849 2010-07-31  Bruno Haible  <bruno@clisp.org>
27850
27851         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
27852         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
27853         the beginning of the loop.
27854         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
27855         cases in 'switch' statement.
27856
27857         unistr/u8-strchr: Fix several bugs.
27858         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
27859         the string. When not found, return NULL, not a pointer near the end.
27860
27861         More tests for unistr/u8-strchr.
27862         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
27863         that the function does not read past the first occurrence of the byte
27864         being searched.
27865         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
27866         * tests/unistr/test-u16-strchr.c (main): New function.
27867         * tests/unistr/test-u32-strchr.c (main): New function.
27868
27869 2010-07-31  Bruno Haible  <bruno@clisp.org>
27870
27871         posix-modules: Ignore backup files of documentation files.
27872         * posix-modules: grep only through files named *.texi.
27873
27874 2010-07-31  Bruno Haible  <bruno@clisp.org>
27875
27876         symlinkat: Fix documentation.
27877         * doc/posix-functions/readlinkat.texi: Fix module name.
27878
27879 2010-07-31  Bruno Haible  <bruno@clisp.org>
27880
27881         fchownat: Replace also when chown has the trailing slash bug.
27882         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
27883         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
27884         introduced on 2010-04-10.
27885         Reported by Rainer Tammer.
27886
27887 2010-07-31  Bruno Haible  <bruno@clisp.org>
27888
27889         linkat: Work around AIX 7.1 bug.
27890         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
27891         whether linkat handles trailing slash correctly. If not, replace linkat
27892         and define LINKAT_TRAILING_SLASH_BUG.
27893         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
27894         check whether (fd1,file1) points to a directory if file1 or file2 ends
27895         in a slash. Code taken from lib/link.c.
27896         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
27897         Reported by Rainer Tammer.
27898
27899 2010-07-31  Bruno Haible  <bruno@clisp.org>
27900
27901         Correctly determine whether pow is available in libc on AIX 7 with xlc.
27902         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
27903         This disables an xlc optimization that was causing wrong test results.
27904         Reported by Rainer Tammer.
27905
27906 2010-07-31  Bruno Haible  <bruno@clisp.org>
27907
27908         iconv: Work around AIX 6.1..7.1 bug.
27909         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
27910         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
27911         cross-compiling, guess no on all versions of AIX.
27912         Reported by Rainer Tammer.
27913
27914 2010-07-31  Bruno Haible  <bruno@clisp.org>
27915
27916         readlink: Relax test a bit.
27917         * tests/test-readlink.h (test_readlink): Allow different errno value
27918         when readlink is called with a file name that ends in / and refers to
27919         a file.
27920         Suggested by Eric Blake.
27921         Reported by Rainer Tammer.
27922
27923 2010-07-31  Bruno Haible  <bruno@clisp.org>
27924
27925         copysign: Does not require -lm on glibc systems.
27926         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
27927         gl_COMMON_DOUBLE_MATHFUNC.
27928         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
27929
27930 2010-07-31  Bruno Haible  <bruno@clisp.org>
27931
27932         duplocale: Work around AIX 7.1 bug.
27933         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
27934         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
27935         * lib/duplocale.c (rpl_duplocale): Update comment.
27936         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
27937         Reported by Rainer Tammer.
27938
27939 2010-07-30  Bruno Haible  <bruno@clisp.org>
27940
27941         dirfd: Avoid link error on AIX 7.1.
27942         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
27943         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
27944         exist, set REPLACE_DIRFD.
27945         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
27946         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
27947         * doc/posix-functions/dirfd.texi: Update.
27948         Reported by Rainer Tammer.
27949
27950 2010-07-30  Eric Blake  <eblake@redhat.com>
27951
27952         strtod: next round of AIX fixes
27953         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
27954         exponent.
27955         * tests/test-strtod.c (main): Enhance tests.
27956         * doc/posix-functions/strtod.texi (strtod): Document next bug.
27957         Reported by Rainer Tammer.
27958
27959         futimens: fix configure check
27960         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
27961         Reported by Bruno Haible.
27962
27963 2010-07-30  Bruno Haible  <bruno@clisp.org>
27964
27965         getline: Update regarding AIX.
27966         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
27967         Reported by Rainer Tammer.
27968
27969 2010-07-30  Bruno Haible  <bruno@clisp.org>
27970
27971         wcwidth: Drop replacement on AIX 7.
27972         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
27973         AIX 7.
27974         Reported by Rainer Tammer.
27975
27976 2010-07-30  Bruno Haible  <bruno@clisp.org>
27977
27978         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
27979         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
27980         a 'char *'.
27981         Reported by Rainer Tammer.
27982
27983 2010-07-30  Bruno Haible  <bruno@clisp.org>
27984
27985         unlink: Update regarding AIX.
27986         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
27987         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
27988         Reported by Rainer Tammer.
27989
27990 2010-07-30  Bruno Haible  <bruno@clisp.org>
27991
27992         symlink: Update regarding AIX.
27993         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
27994         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
27995         Reported by Rainer Tammer.
27996
27997 2010-07-30  Bruno Haible  <bruno@clisp.org>
27998
27999         strndup: Update regarding AIX.
28000         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28001         AIX 7.
28002         Reported by Rainer Tammer.
28003
28004 2010-07-30  Bruno Haible  <bruno@clisp.org>
28005
28006         stat: Update regarding AIX.
28007         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28008         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28009         Reported by Rainer Tammer.
28010
28011 2010-07-30  Bruno Haible  <bruno@clisp.org>
28012
28013         truncl: Fix autoconf test.
28014         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28015         whether truncl works.
28016         Reported by Rainer Tammer.
28017
28018 2010-07-30  Bruno Haible  <bruno@clisp.org>
28019
28020         round: Update regarding AIX.
28021         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28022         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28023         Reported by Rainer Tammer.
28024
28025 2010-07-30  Bruno Haible  <bruno@clisp.org>
28026
28027         rename: Update regarding AIX.
28028         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28029         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28030         Reported by Rainer Tammer.
28031
28032 2010-07-30  Bruno Haible  <bruno@clisp.org>
28033
28034         printf.m4: Update regarding AIX.
28035         * m4/printf.m4: Update comments regarding AIX.
28036         Reported by Rainer Tammer.
28037
28038 2010-07-30  Bruno Haible  <bruno@clisp.org>
28039
28040         iconv: Update regarding AIX.
28041         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28042         AIX 7.
28043         Reported by Rainer Tammer.
28044
28045 2010-07-30  Bruno Haible  <bruno@clisp.org>
28046
28047         getopt: Update regarding AIX.
28048         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28049         no on AIX.
28050         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28051         Reported by Rainer Tammer.
28052
28053 2010-07-30  Bruno Haible  <bruno@clisp.org>
28054
28055         ldexpl; Update regarding AIX.
28056         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28057         on AIX 7.
28058         Reported by Rainer Tammer.
28059
28060 2010-07-30  Bruno Haible  <bruno@clisp.org>
28061
28062         frexpl: Update regarding AIX.
28063         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28064         on AIX 7.
28065         Reported by Rainer Tammer.
28066
28067 2010-07-30  Bruno Haible  <bruno@clisp.org>
28068
28069         open, fopen: Update regarding AIX.
28070         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28071         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28072         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28073         * doc/posix-functions/fopen.texi: Likewise.
28074         Reported by Rainer Tammer.
28075
28076 2010-07-30  Bruno Haible  <bruno@clisp.org>
28077
28078         chown: Update doc regarding AIX.
28079         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28080         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28081         Reported by Rainer Tammer.
28082
28083 2010-07-30  Eric Blake  <eblake@redhat.com>
28084
28085         strtod: fix bug in replacement function on AIX
28086         * lib/strtod.c (strtod): Special case broken "0x" parse in
28087         underlying strtod.
28088         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28089         * doc/posix-functions/strtod.texi (strtod): Likewise.
28090         Reported by Rainer Tammer.
28091
28092 2010-07-30  Bruno Haible  <bruno@clisp.org>
28093
28094         mbrlen: Fix cross-compilation guess for AIX.
28095         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28096         guess. Leftover from 2008-12-22.
28097
28098 2010-07-30  Bruno Haible  <bruno@clisp.org>
28099
28100         mbrtowc: Fix cross-compilation guess for AIX.
28101         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28102         guess. Leftover from 2008-12-21.
28103
28104 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28105
28106         init.sh: work around trap limitation of some shells
28107         * tests/init.sh (setup_): Move exit trap outside of shell function.
28108
28109 2010-07-29  Eric Blake  <eblake@redhat.com>
28110
28111         strtod: aid debugging
28112         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28113         understanding why strtod is rejected.
28114
28115 2010-07-28  Bruno Haible  <bruno@clisp.org>
28116
28117         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28118         * lib/unistr/u8-chr.c: Include <string.h>.
28119         * tests/unistr/test-u8-chr.c: Likewise.
28120         * tests/unistr/test-u16-chr.c: Likewise.
28121         * tests/unistr/test-u32-chr.c: Likewise.
28122         * tests/unistr/test-u8-strchr.c: Likewise.
28123         * tests/unistr/test-u16-strchr.c: Likewise.
28124         * tests/unistr/test-u32-strchr.c: Likewise.
28125         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28126         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28127         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28128         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28129
28130 2010-07-28  Bruno Haible  <bruno@clisp.org>
28131
28132         Use spaces for indentation, not tabs.
28133         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28134
28135 2010-07-27  Bruno Haible  <bruno@clisp.org>
28136
28137         mbspcasecmp: Fix function specification.
28138         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28139         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28140         Reported by Eric Blake <eblake@redhat.com>.
28141
28142 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28143
28144         timespec: use cast and not conditional, as truncation isn't possible
28145         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28146         instead of a conditional.  Comment about the situation in more detail.
28147         This undoes most of the 2009-10-29 patch.
28148
28149 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28150
28151         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28152         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28153         * lib/unistr/u8-strchr.c: Likewise.
28154         * modules/unistr/u8-chr: Depend on memchr.
28155
28156         unistr/u*-strchr: add tests
28157         * modules/unistr/u8-strchr-tests: New file.
28158         * modules/unistr/u16-strchr-tests: New file.
28159         * modules/unistr/u32-strchr-tests: New file.
28160         * tests/unistr/test-strchr.h: New file.
28161         * tests/unistr/test-u8-strchr.c: New file.
28162         * tests/unistr/test-u16-strchr.c: New file.
28163         * tests/unistr/test-u32-strchr.c: New file.
28164
28165         unistr/u*-chr: test multibyte sequences more
28166         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28167         test vector.
28168         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28169         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28170         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
28171
28172         unistr/u*-chr: test multibyte sequences
28173         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
28174
28175         unistr/u*-chr: prepare for multibyte tests
28176         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
28177         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
28178         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
28179         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
28180         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
28181         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
28182
28183 2010-07-18  Bruno Haible  <bruno@clisp.org>
28184
28185         unistr/u8-strchr: Optimize non-ASCII argument case.
28186         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
28187         because the first byte often matches anyway.
28188         Reported by Pádraig Brady <P@draigbrady.com>.
28189
28190 2010-07-15  Karl Berry  <karl@gnu.org>
28191
28192         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
28193
28194 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
28195
28196         getcwd: on Solaris, work better if ancestors are inaccessible
28197         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
28198         buffer and size, try again with a large buffer.  This works better
28199         on Solaris, since its getcwd succeeds even if the path to the root
28200         is inaccessible, and this is helpful in common cases such as .zfs
28201         hidden directories.  Problem reported by J Chapman Flack in
28202         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
28203         Use system getcwd if it's declared, not merely if it's partly
28204         working; use the partly-working test only to avoid needless effort
28205         if the system getcwd fails.
28206         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
28207         comment that was already obsolete and is now even more obsolete.
28208         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
28209         now might call strdup.
28210
28211 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
28212
28213         pthread: Add enough so that coreutils/src/sort.c compiles.
28214         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
28215         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
28216         gnulib. Include <sched.h> and <time.h>, as per POSIX.
28217         Include <sys/types.h>, in case it defines pthread_t.
28218         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
28219         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
28220         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
28221         (pthread_rwlockattr_t, pthread_spinlock_t):
28222         New typedefs, if HAVE_PTHREAD_T is not defined.
28223         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
28224         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
28225         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
28226         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
28227         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
28228         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
28229         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
28230         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
28231         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
28232         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
28233         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
28234         New macros.
28235         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
28236         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
28237         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
28238         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
28239         (pthread_spin_unlock): New dummy functions.
28240         (pthread_create): Return EAGAIN; don't set errno.
28241         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
28242         require AC_C_INLINE.
28243         * modules/pthread (Depends-on): Add sched, time.
28244         (pthread.h): Use AM_V_GEN.
28245
28246 2010-07-13  Bruno Haible  <bruno@clisp.org>
28247
28248         striconveh: Don't malloc memory if the result buffer is sufficient.
28249         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
28250         buffer if its size is sufficient.
28251         Reported by Ludovic Courtès <ludo@gnu.org>.
28252
28253 2010-07-13  Bruno Haible  <bruno@clisp.org>
28254
28255         strtod: Add safety check.
28256         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
28257
28258 2010-07-12  Bruno Haible  <bruno@clisp.org>
28259
28260         Unify tests that set gl_cv_func_ldexpl_no_libm.
28261         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
28262         gl_FUNC_LDEXPL.
28263         (gl_FUNC_LDEXPL): Invoke it.
28264         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28265
28266 2010-07-12  Bruno Haible  <bruno@clisp.org>
28267
28268         Unify tests that set gl_cv_func_ldexp_no_libm.
28269         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
28270         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
28271         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
28272         (configure.ac): Simply invoke gl_FUNC_LDEXP.
28273         * modules/strtod (Files): Add m4/ldexp.m4.
28274
28275 2010-07-12  Bruno Haible  <bruno@clisp.org>
28276
28277         Unify tests that set gl_cv_func_frexpl_no_libm.
28278         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
28279         gl_FUNC_FREXPL_NO_LIBM.
28280         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
28281         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
28282
28283 2010-07-12  Bruno Haible  <bruno@clisp.org>
28284
28285         Unify tests that set gl_cv_func_frexp_no_libm.
28286         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
28287         gl_FUNC_FREXP_NO_LIBM.
28288         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
28289         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28290
28291 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28292
28293         memcoll: clarify sizes versus lengths, document better, and tweak perf
28294         * lib/memcoll.c (strcoll_loop, memcoll0):
28295         Improve quality of descriptive comments.  Name variables
28296         consistently as to whether they are lengths (which do not include
28297         terminating null) versus sizes (which do).
28298         * lib/xmemcoll.c (xmemcoll0): Likewise.
28299         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
28300         returned when s1size == 0; this is easier to compile and saves
28301         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
28302
28303 2010-07-12  Bruno Haible  <bruno@clisp.org>
28304
28305         Tests for module '_Exit'.
28306         * modules/_Exit-tests: New file.
28307         * tests/test-_Exit.sh: New file.
28308         * tests/test-_Exit.c: New file.
28309
28310         New module '_Exit'.
28311         * lib/stdlib.in.h (__attribute__): New macro.
28312         (_Exit): New declaration.
28313         * lib/_Exit.c: New file.
28314         * m4/_Exit.m4: New file.
28315         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
28316         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
28317         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
28318         * modules/_Exit: New file.
28319         * tests/test-stdlib-c++.cc (_Exit): Check signature.
28320         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
28321
28322 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
28323
28324         strtod: make it more-accurate typically, and don't require libm
28325         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
28326         Include limits.h.  Don't include string.h.
28327         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
28328         (locale_isspace): New function, so that no casts are needed to
28329         check whether *s is a space.
28330         (ldexp): Provide an unused dummy if not available.
28331         (scale_radix_exp, parse_number, underlying_strtod): New functions.
28332         (strtod): Use them.  This implementation prefers to use the
28333         underlying strtod if available, falling back on our own code
28334         only to fix known bugs.  This is more likely to produce an
28335         accurate result.  Also, it avoids the use of libm functions.
28336         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
28337         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
28338         was absent, but it caused a test failure with coreutils.
28339         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
28340         with libm.
28341         * modules/strtod (Makefile.am, Link): libm is no longer needed.
28342         * modules/strtod-tests (Makefile.am): Likewise.
28343
28344 2010-07-11  Pádraig Brady  <P@draigBrady.com>
28345             Bruno Haible  <bruno@clisp.org>
28346
28347         unistr/u8-strchr: Optimize ASCII argument case.
28348         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
28349
28350 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
28351
28352         (x)memcoll: minor tweaks
28353         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
28354         is after the type that it qualifies.
28355         (memcoll0): Likewise.
28356         * lib/memcoll.h (memcoll0): Likewise.
28357         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
28358         * lib/xmemcoll.h (xmemcoll0): Likewise.
28359         * lib/memcoll.c (memcoll0): Correct the comment.  This function
28360         differs from memcoll in that the NUL byte is part of the argument.
28361         Omit the abort-checks, as performance is a real issue here.  Plus,
28362         the checks were wrong anyway (an off-by-one error).  Omit local
28363         variable 'diff', as it's a bit clearer that way.
28364         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
28365         no longer needed.
28366
28367 2010-07-08  Chen Guo <chenguo4@yahoo.com>
28368
28369         (x)memcoll: speedup when input is known to be NUL delimited
28370         * lib/memcoll.c: Include stdlib.
28371         (memcoll0): New function.
28372         (strcoll_loop): New function, refactored for use in both memcoll
28373         and memcoll0.
28374         * lib/memcoll.h (memcoll0): Add prototype.
28375         * lib/xmemcoll.c (xmemcoll0): New function.
28376         (collate_error): New function, refactored for use in both xmemcoll
28377         and xmemcoll0.
28378         * lib/xmemcoll.h (xmemcoll0): Add prototype.
28379         * m4/memcoll.m4: add inline invocation.
28380
28381 2010-07-06  Pádraig Brady  <P@draigBrady.com>
28382
28383         * build-aux/bootstrap: Remove any local translations
28384         from the translation project synchronization directory,
28385         so that local only translations are not distributed.
28386
28387 2010-07-04  Bruno Haible  <bruno@clisp.org>
28388
28389         fsusage: Clarify which code applies to which platforms.
28390         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
28391         platform.
28392         * lib/fsusage.c (get_fs_usage): Likewise.
28393
28394 2010-07-04  Bruno Haible  <bruno@clisp.org>
28395
28396         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
28397         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
28398         Reported by Martin Lambers <marlam@marlam.de>.
28399
28400 2010-07-04  Jim Meyering  <meyering@redhat.com>
28401
28402         hash: once again explicitly disallow insertion of NULL
28403         * lib/hash.c (hash_insert0): Reinstate just-removed test:
28404         inserting a NULL pointer cannot work with these functions.
28405         Add a comment with details.
28406         This reverts part of the 2010-07-01 commit, 5bef1a35
28407         "hash: extend module to deal with non-pointer keys".
28408
28409 2010-07-01  Bruno Haible  <bruno@clisp.org>
28410
28411         stdbool: Update doc.
28412         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
28413         Info from Christian Weisgerber <naddy@mips.inka.de>.
28414
28415 2010-07-01  Jim Meyering  <meyering@redhat.com>
28416
28417         hash: extend module to deal with non-pointer keys
28418         * lib/hash.c (hash_insert0): New interface, much like hash_insert
28419         but that allows insertion of non-pointer entries.
28420         Do not disallow an ENTRY value of NULL.
28421         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
28422         * lib/hash.h (hash_insert0): Declare.
28423
28424 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28425
28426         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
28427         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
28428         not present (i.e. with autoconf 2.59 and when using gettextize, not
28429         gnulib), require AC_GNU_SOURCE instead.
28430
28431 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
28432
28433         idpriv-drop: Fix tests.
28434         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
28435         not to the test-idpriv-droptemp program.
28436
28437 2010-06-29  Bruno Haible  <bruno@clisp.org>
28438
28439         string: Fix syntax error with g++ 2.96.
28440         * lib/string.in.h (__pure__): Remove definition.
28441         (_GL_ATTRIBUTE_PURE): New macro.
28442         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
28443         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
28444         Reported by Christian Weisgerber <naddy@mips.inka.de>.
28445
28446 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
28447
28448         unitypes: Fix bug introduced on 2010-05-18.
28449         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
28450
28451 2010-06-22  Eric Blake  <eblake@redhat.com>
28452
28453         memmem: slight optimization
28454         * lib/str-two-way.h (critical_factorization): Update comments.
28455         Reduce work during factorization phase.
28456         Reported by Carlos Bueno <carlos@bueno.org>.
28457
28458 2010-06-21  Bruno Haible  <bruno@clisp.org>
28459
28460         Fix HAVE_CALLOC_POSIX misnomer.
28461         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
28462         !HAVE_CALLOC_POSIX.
28463         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
28464         HAVE_CALLOC_POSIX.
28465         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
28466         instead of HAVE_CALLOC_POSIX.
28467         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
28468         HAVE_CALLOC_POSIX.
28469
28470         Use modern idiom for calloc() replacement.
28471         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
28472         AC_FUNC_CALLOC.
28473         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
28474         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
28475         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28476         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
28477         (gl_REPLACE_CALLOC): New macro.
28478
28479 2010-06-21  Bruno Haible  <bruno@clisp.org>
28480
28481         Fix HAVE_REALLOC_POSIX misnomer.
28482         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
28483         !HAVE_REALLOC_POSIX.
28484         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
28485         HAVE_REALLOC_POSIX.
28486         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
28487         instead of HAVE_REALLOC_POSIX.
28488         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
28489         HAVE_REALLOC_POSIX.
28490
28491         Use modern idiom for realloc() replacement.
28492         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
28493         AC_FUNC_REALLOC.
28494         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
28495         Autoconf's AC_FUNC_REALLOC.
28496         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28497         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
28498         (gl_REPLACE_REALLOC): New macro.
28499         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28500
28501 2010-06-21  Bruno Haible  <bruno@clisp.org>
28502
28503         Fix HAVE_MALLOC_POSIX misnomer.
28504         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
28505         !HAVE_MALLOC_POSIX.
28506         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
28507         HAVE_MALLOC_POSIX.
28508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
28509         instead of HAVE_MALLOC_POSIX.
28510         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
28511         HAVE_MALLOC_POSIX.
28512
28513         Use modern idiom for malloc() replacement.
28514         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
28515         AC_FUNC_MALLOC.
28516         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
28517         Autoconf's AC_FUNC_MALLOC.
28518         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
28519         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
28520         (gl_REPLACE_MALLOC): New macro.
28521         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
28522
28523 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
28524
28525         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
28526         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
28527         This macro takes 3 arguments, not 4.
28528
28529 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
28530
28531         ipv6: fix detection under mingw
28532         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
28533         in6_addr.
28534
28535 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
28536
28537         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
28538         that strtod() works when cross-compiling to a glibc version known
28539         to work.
28540
28541 2010-06-15  Bruno Haible  <bruno@clisp.org>
28542
28543         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
28544
28545 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
28546
28547         select: Correct timeout.
28548         * lib/select.c (rpl_select): Compute wait_timeout correctly.
28549
28550 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28551
28552         git-version-gen: init shell var to avoid env var influence
28553         * build-aux/git-version-gen (v): Init shell var to empty.
28554
28555 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
28556
28557         priv-set: Don't assume that priv.h exists merely because getppriv does.
28558         See Jan Andersen's bug report about AIX 5L in
28559         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
28560         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
28561         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
28562         * lib/priv-set.h: Likewise.
28563         * tests/test-priv-set.c: Likewise.
28564
28565 2010-06-13  Bruno Haible  <bruno@clisp.org>
28566
28567         relocatable: Make it easier to test whether to install wrappers.
28568         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
28569         RELOCATABLE_VIA_WRAPPER.
28570
28571 2010-06-13  Bruno Haible  <bruno@clisp.org>
28572
28573         gnulib-tool: Display specified modules and dependencies differently.
28574         * gnulib-tool (func_show_module_list): New function.
28575         (func_import, func_create_testdir): Invoke it.
28576         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28577
28578 2010-06-13  Bruno Haible  <bruno@clisp.org>
28579
28580         gnulib-tool: Align code of func_import and func_create_testdir.
28581         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
28582         specified_modules.
28583
28584 2010-06-12  Jim Meyering  <meyering@redhat.com>
28585
28586         test-inttostr: avoid spurious failure on Solaris 9
28587         * tests/test-inttostr.c (main): Skip the test when snprintf fails
28588         to accept "%ju".  Reported by Bruno Haible.
28589
28590 2010-06-11  Jim Meyering  <meyering@redhat.com>
28591
28592         test-sys_socket: mark variables as used more readably
28593         * tests/test-sys_socket.c (main): Mark otherwise unused variables
28594         as "used" explicitly via (void) statement casts.  This is more
28595         readable than using them in an artificial return expression.
28596         Suggestion from Bruno Haible.
28597
28598 2010-06-11  Bruno Haible  <bruno@clisp.org>
28599
28600         Avoid some more warnings from "gcc -Wwrite-strings".
28601         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
28602         to 'const char *'.
28603         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
28604         * tests/test-c-strcasestr.c (main): Likewise.
28605         * tests/test-mbscasestr1.c (main): Likewise.
28606         * tests/test-mbscasestr2.c (main): Likewise.
28607         * tests/test-memmem.c (main): Likewise.
28608         * tests/test-strstr.c (main): Likewise.
28609         * tests/test-strcasestr.c (main): Likewise.
28610
28611 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28612
28613         init.sh: change framework_failure_ to fail with status 99, not 1
28614         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
28615         automake's parallel-tests rule that this is an unexpected failure,
28616         even if the test is listed in XFAIL_TESTS.
28617
28618 2010-06-11  Jim Meyering  <meyering@redhat.com>
28619
28620         test-inttostr: avoid warnings about 4-6KB literal strings
28621         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
28622         Include "macros.h", for its definition of ASSERT.
28623         (CK): s/assert/ASSERT/
28624         * modules/inttostr-tests (Files): Add macros.h.
28625
28626         init.sh: don't use $ME_ or skip_ before they are defined
28627         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
28628         their first uses.  Also hoist their companions: warn_, fail_,
28629         framework_failure_, $stderr_fileno.  Prompted by a patch from
28630         Stefano Lattarini.
28631
28632         test-sys_socket: avoid set-but-not-used warnings from gcc
28633         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
28634         avoid warning about set-but-not-used variables.
28635
28636         test-xvasprintf: avoid 'const' discard warnings
28637         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
28638         "const" when assigning from literal strings.
28639         (test_xasprintf): Add "void" in function argument list to placate
28640         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
28641
28642         tests: avoid compilation warnings in argmatch and exclude tests...
28643         in packages that define ARGMATCH_DIE_DECL, like coreutils.
28644         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
28645         Since it always exits, declare with the "noreturn" attribute.
28646         * tests/test-argmatch.c: Likewise.
28647
28648         tests: avoid 'const' discard warnings in mbsstr tests
28649         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
28650         * tests/test-mbsstr2.c (main): Likewise.
28651
28652         test-verify: avoid warning from gcc's -Wmissing-declarations
28653         * tests/test-verify.c (function): Declare to be static.
28654
28655         test-inttostr.c: include <string.h> for use of strcmp
28656         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
28657
28658         test-linkat: avoid failed assertion on "other" architectures
28659         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
28660         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
28661         sparc: https://bugs.launchpad.net/bugs/591968
28662
28663 2010-06-11  Jim Meyering  <meyering@redhat.com>
28664
28665         printf.m4: avoid autoconf's "Expanded Before Required" warning
28666         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
28667         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
28668         autoconf warning.
28669
28670 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
28671
28672         Replacement header templates are now named with ".in", not "_".
28673         * doc/gnulib-intro.texi: Correct.
28674
28675 2010-06-10  Jim Meyering  <meyering@redhat.com>
28676
28677         inttostr-tests: depend on snprintf, not snprintf-posix
28678         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
28679         snprintf-posix, to avoid this aclocal failure:
28680           missing file gnulib-tests/vasnprintf.c
28681           configure.ac:45: error: expected source file, required through \
28682           AC_LIBSOURCES, not found
28683
28684 2010-06-10  Jim Meyering  <meyering@redhat.com>
28685
28686         inttostr: add a new function, inttostr, and tests
28687         The namesake function was not available.  The existence of the
28688         template file, inttostr.c makes its addition nontrivial.
28689         * lib/anytostr.c: Rename from inttostr.c.
28690         (anytostr): Rename from inttostr.
28691         * lib/inttostr.c: New file.
28692         * modules/inttostr (Files): Add anytostr.c.
28693         (Makefile.am): Set lib_SOURCES instead of ...
28694         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
28695         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
28696         * lib/offtostr.c: Likewise.
28697         * lib/uinttostr.c: Likewise.
28698         * lib/umaxtostr.c: Likewise.
28699         * modules/inttostr-tests: New file.
28700         * tests/test-inttostr.c: New file.  Test these functions.
28701
28702 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
28703             Bruno Haible  <bruno@clisp.org>
28704
28705         Add "Extending Gnulib" chapter to manual.
28706         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
28707         chapter.
28708         (Extending Gnulib): New chapter.
28709         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
28710         chapter.
28711
28712 2010-06-09  Bruno Haible  <bruno@clisp.org>
28713
28714         Avoid relocwrapper link errors due to gnulib replacement functions.
28715         * lib/areadlink.c: Use the system's malloc, realloc functions.
28716         (areadlink): Set errno to ENOMEM explicitly.
28717         * modules/areadlink (Depends-on): Remove malloc-posix.
28718         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28719
28720 2010-06-09  Bruno Haible  <bruno@clisp.org>
28721
28722         Avoid relocwrapper link errors due to gnulib replacement functions.
28723         * lib/canonicalize-lgpl.c: Use the system's malloc function.
28724         * lib/malloca.c: Likewise.
28725         * lib/relocatable.c: Likewise.
28726         * lib/progreloc.c: Use the system's malloc, sprintf functions.
28727         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
28728         * lib/setenv.c: Use the system's malloc, realloc functions.
28729         * lib/strerror.c: Use the system's sprintf function.
28730         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28731
28732 2010-06-04  Bruno Haible  <bruno@clisp.org>
28733
28734         Prefer documented low-level autoconf macro names.
28735         * m4/lib-link.m4: Use m4_translit instead of translit.
28736         * m4/environ.m4: Likewise.
28737         * m4/mathfunc.m4: Likewise.
28738         * m4/onceonly.m4: Likewise.
28739         * m4/stdint.m4: Likewise.
28740         Suggested by Eric Blake.
28741
28742 2010-06-04  Martin Lambers  <marlam@marlam.de>
28743             Bruno Haible  <bruno@clisp.org>
28744
28745         havelib: Allow library names with '+' characters.
28746         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
28747         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
28748
28749 2010-06-09  Bruno Haible  <bruno@clisp.org>
28750
28751         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
28752         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
28753         realloc failed.
28754
28755 2010-06-08  Peter Simons  <simons@cryp.to>
28756
28757         maint.mk: make the news-check rule more configurable
28758         * top/maint.mk (news-check-lines-spec): New variable.
28759         (news-check): Use "sed -n 1,10p" in place of "head".
28760
28761 2010-06-07  Jim Meyering  <meyering@redhat.com>
28762
28763         do-release-commit-and-tag: fix typo in --help
28764         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
28765
28766         regex: avoid new dead-code warning with gcc-4.6.0
28767         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
28768         if-block containing a while-loop.  It's been unused for at least
28769         5 years.
28770
28771 2010-06-05  Bruno Haible  <bruno@clisp.org>
28772
28773         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
28774         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
28775
28776 2010-06-04  Bruno Haible  <bruno@clisp.org>
28777
28778         Update to GNU gettext 0.18.1.
28779         * modules/gettext (configure.ac): Require gettext infrastructure from
28780         version 0.18.1.
28781
28782 2010-06-03  Bruno Haible  <bruno@clisp.org>
28783
28784         Don't use AC_LIBOBJ with file names in subdirectories.
28785         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
28786         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
28787         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
28788         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
28789         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
28790         gl_LIBUNISTRING_LIBSOURCE.
28791         (Makefile.am): Augment lib_SOURCES here, conditionally.
28792         * NEWS: Drop requirement for Automake option 'subdir-objects'.
28793
28794 2010-06-03  Bruno Haible  <bruno@clisp.org>
28795
28796         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
28797         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
28798         expansion does not end with a newline.
28799         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
28800         unnecessary newline.
28801
28802 2010-06-03  Bruno Haible  <bruno@clisp.org>
28803
28804         Reduce dependencies.
28805         * tests/test-quotearg.h: New file, extracted from
28806         tests/test-quotearg.c.
28807         * tests/test-quotearg-simple.c: New file, extracted from
28808         tests/test-quotearg.c.
28809         * tests/test-quotearg.c: Don't include <ctype.h>.
28810         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
28811         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
28812         use_quote_double_quotes, use_quotearg_colon): Moved to
28813         tests/test-quotearg.h.
28814         (results_g, flag_results, custom_quotes, custom_results): Moved
28815         to tests/test-quotearg-simple.c.
28816         (main): Moved the part that does not depend on gettext to
28817         tests/test-quotearg-simple.c. Return 77 if the test cannot be
28818         performed.
28819         * modules/quotearg-simple: New file.
28820         * modules/quotearg-simple-tests: New file.
28821         * modules/quotearg (Depends-on): Add quotearg-simple.
28822         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
28823         (Files): Add tests/test-quotearg.h.
28824         Reported by Paolo Bonzini.
28825
28826 2010-06-03  Bruno Haible  <bruno@clisp.org>
28827
28828         Reduce dependencies.
28829         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
28830
28831 2010-06-03  Bruno Haible  <bruno@clisp.org>
28832
28833         time: Undefine more broken macros.
28834         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
28835         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
28836         Reported by Eric Blake.
28837
28838 2010-06-03  Bruno Haible  <bruno@clisp.org>
28839
28840         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
28841         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
28842         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
28843         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
28844         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
28845         Reported by Ludovic Courtès <ludo@gnu.org>.
28846
28847 2010-06-02  Eric Blake  <eblake@redhat.com>
28848
28849         time: work with mingw + pthreads-win32 library
28850         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
28851         if timespec is defined only in pthread.h.
28852         * modules/time (Makefile.am): Substitute it.
28853         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
28854         <pthread.h>, when needed.
28855         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
28856         from the library.
28857
28858 2010-05-31  Bruno Haible  <bruno@clisp.org>
28859
28860         Avoid expanding two macros in the wrong order.
28861         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
28862         gl_LIBUNISTRING if it is defined.
28863         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
28864         autoconf >= 2.64.
28865         Reported by Ludovic Courtès <ludo@gnu.org>.
28866
28867 2010-05-27  Jim Meyering  <meyering@redhat.com>
28868
28869         maint.mk: also prohibit "#undef" of always-defined symbols
28870         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
28871         Allow more than one space before the symbol name.
28872         (sc_prohibit_always-defined_macros): Use grep's -E, now that
28873         the regexp uses alternation.
28874
28875 2010-05-26  Eric Blake  <eblake@redhat.com>
28876
28877         maint.mk: avoid echo -e
28878         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
28879         Convert all uses of echo -* to printf.
28880         Reported by Matthias Bolte.
28881
28882 2010-05-25  Bruno Haible  <bruno@clisp.org>
28883
28884         Update to GNU gettext 0.18, part 2.
28885         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
28886         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
28887
28888 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28889
28890         Add missing include in test-pwrite.c.
28891         * tests/test-pwrite.c: Include string.h, for strcmp.
28892
28893 2010-05-24  Bruno Haible  <bruno@clisp.org>
28894
28895         * NEWS: Mention requirement for Automake option 'subdir-objects'.
28896
28897 2010-05-24  Bruno Haible  <bruno@clisp.org>
28898
28899         Don't use conversion with transliteration in u{8,16,32}_strcoll.
28900         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
28901         iconveh_error argument.
28902         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
28903         U_STRCONV_TO_LOCALE.
28904         * lib/unistr/u16-strcoll.c: Likewise.
28905         * lib/unistr/u32-strcoll.c: Likewise.
28906         * modules/unistr/u8-strcoll (Depends-on): Add
28907         uniconv/u8-strconv-to-enc, localcharset. Remove
28908         uniconv/u8-strconv-to-locale.
28909         (configure.ac): Bump version number.
28910         * modules/unistr/u16-strcoll (Depends-on): Add
28911         uniconv/u16-strconv-to-enc, localcharset. Remove
28912         uniconv/u16-strconv-to-locale.
28913         (configure.ac): Bump version number.
28914         * modules/unistr/u32-strcoll (Depends-on): Add
28915         uniconv/u32-strconv-to-enc, localcharset. Remove
28916         uniconv/u32-strconv-to-locale.
28917         (configure.ac): Bump version number.
28918
28919 2010-05-24  Bruno Haible  <bruno@clisp.org>
28920
28921         Avoid a test failure on NetBSD 5.0.
28922         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
28923         an iconv() bug.
28924
28925 2010-05-24  Bruno Haible  <bruno@clisp.org>
28926
28927         Adjust #include directive style.
28928         * modules/regex (Includes): Recommend to write <regex.h>.
28929
28930 2010-05-24  Bruno Haible  <bruno@clisp.org>
28931
28932         regex: Don't require alloca.
28933         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
28934         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
28935         only inside if (0).
28936
28937 2010-05-23  Jim Meyering  <meyering@redhat.com>
28938
28939         test-renameat.c: include <sys/stat.h>
28940         * tests/test-renameat.c: Include <sys/stat.h>; required for
28941         definition of S_IS* macros.
28942
28943 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
28944
28945         Update maintainer documentation for 'relocatable-prog' module.
28946         * doc/relocatable-maint.texi: Update.
28947         Comments by Bruno Haible.
28948
28949 2010-05-23  Bruno Haible  <bruno@clisp.org>
28950
28951         git-merge-changelog: Enable --split-merged-entry by default.
28952         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
28953         (usage): Don't mention this option any more.
28954         Reported by Ralf Wildenhues.
28955
28956 2010-05-23  Jim Meyering  <meyering@redhat.com>
28957
28958         test-pwrite: do not leave behind a test file named "out"
28959         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
28960         The trivial-looking use of init.sh is really necessary.
28961         It ensures that the temporary file, "out", is created in
28962         a temporary directory, and removed upon termination.
28963         * tests/test-pwrite.sh: Re-add file.
28964         * modules/pwrite-tests: Reference it.
28965
28966 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28967
28968         Fix output redirection buglet in init.sh.
28969         * tests/init.sh: Fix redirection of stderr.
28970
28971 2010-05-20  Simon Josefsson  <simon@josefsson.org>
28972
28973         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
28974
28975 2010-05-17  Simon Josefsson  <simon@josefsson.org>
28976
28977         * modules/valgrind-tests: New file.
28978         * m4/valgrind-tests.m4: New file.
28979         * doc/valgrind-tests.texi: New file.
28980         * doc/gnulib.texi (Running self-tests under valgrind): New
28981         section.
28982
28983 2010-05-19  Bruno Haible  <bruno@clisp.org>
28984
28985         Clean up dead code in recent commit.
28986         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
28987         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
28988         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
28989         Suggested by Paolo Bonzini.
28990
28991 2010-05-19  Bruno Haible  <bruno@clisp.org>
28992
28993         Avoid valgrind error reports from libunistring.
28994         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
28995         * modules/libunistring (Files): Add it.
28996         * modules/libunistring-optional (Files): Likewise.
28997
28998 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
28999             Bruno Haible  <bruno@clisp.org>
29000
29001         New module 'libunistring-optional'.
29002         * modules/libunistring-optional: New file.
29003         * m4/libunistring-base.m4: New file.
29004         * m4/libunistring-optional.m4: New file.
29005         * lib/unicase.in.h: Renamed from lib/unicase.h.
29006         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29007         * lib/unictype.in.h: Renamed from lib/unictype.h.
29008         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29009         * lib/uniname.in.h: Renamed from lib/uniname.h.
29010         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29011         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29012         * lib/unistr.in.h: Renamed from lib/unistr.h.
29013         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29014         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29015         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29016         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29017         gl_LIBUNISTRING. If the library was found, determine the installed
29018         version and set LIBUNISTRING_VERSION.
29019         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29020         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29021         handle a configuration option --with-included-libunistring.
29022         * modules/libunistring (Files): Add m4/absolute-header.m4.
29023         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29024         Add m4/libunistring-base.m4.
29025         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29026         (Makefile.am): Build unicase.h from unicase.in.h.
29027         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29028         Add m4/libunistring-base.m4.
29029         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29030         (Makefile.am): Build uniconv.h from uniconv.in.h.
29031         * modules/unictype/base (Files): Use unictype.in.h instead of
29032         unictype.h. Add m4/libunistring-base.m4.
29033         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29034         (Makefile.am): Build unictype.h from unictype.in.h.
29035         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29036         Add m4/libunistring-base.m4.
29037         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29038         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29039         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29040         Add m4/libunistring-base.m4.
29041         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29042         (Makefile.am): Build uniname.h from uniname.in.h.
29043         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29044         Add m4/libunistring-base.m4.
29045         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29046         (Makefile.am): Build uninorm.h from uninorm.in.h.
29047         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29048         unistdio.h. Add m4/libunistring-base.m4.
29049         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29050         (Makefile.am): Build unistdio.h from unistdio.in.h.
29051         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29052         Add m4/libunistring-base.m4.
29053         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29054         (Makefile.am): Build unistr.h from unistr.in.h.
29055         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29056         Add m4/libunistring-base.m4.
29057         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29058         (Makefile.am): Build unitypes.h from unitypes.in.h.
29059         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29060         Add m4/libunistring-base.m4.
29061         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29062         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29063         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29064         uniwidth.h. Add m4/libunistring-base.m4.
29065         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29066         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29067         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29068         instead of augmenting lib_SOURCES.
29069         * modules/unicase/empty-suffix-context: Likewise.
29070         * modules/unicase/locale-language: Likewise.
29071         * modules/unicase/tolower: Likewise.
29072         * modules/unicase/totitle: Likewise.
29073         * modules/unicase/toupper: Likewise.
29074         * modules/unicase/u8-casecmp: Likewise.
29075         * modules/unicase/u8-casecoll: Likewise.
29076         * modules/unicase/u8-casefold: Likewise.
29077         * modules/unicase/u8-casexfrm: Likewise.
29078         * modules/unicase/u8-ct-casefold: Likewise.
29079         * modules/unicase/u8-ct-tolower: Likewise.
29080         * modules/unicase/u8-ct-totitle: Likewise.
29081         * modules/unicase/u8-ct-toupper: Likewise.
29082         * modules/unicase/u8-is-cased: Likewise.
29083         * modules/unicase/u8-is-casefolded: Likewise.
29084         * modules/unicase/u8-is-lowercase: Likewise.
29085         * modules/unicase/u8-is-titlecase: Likewise.
29086         * modules/unicase/u8-is-uppercase: Likewise.
29087         * modules/unicase/u8-prefix-context: Likewise.
29088         * modules/unicase/u8-suffix-context: Likewise.
29089         * modules/unicase/u8-tolower: Likewise.
29090         * modules/unicase/u8-totitle: Likewise.
29091         * modules/unicase/u8-toupper: Likewise.
29092         * modules/unicase/u16-casecmp: Likewise.
29093         * modules/unicase/u16-casecoll: Likewise.
29094         * modules/unicase/u16-casefold: Likewise.
29095         * modules/unicase/u16-casexfrm: Likewise.
29096         * modules/unicase/u16-ct-casefold: Likewise.
29097         * modules/unicase/u16-ct-tolower: Likewise.
29098         * modules/unicase/u16-ct-totitle: Likewise.
29099         * modules/unicase/u16-ct-toupper: Likewise.
29100         * modules/unicase/u16-is-cased: Likewise.
29101         * modules/unicase/u16-is-casefolded: Likewise.
29102         * modules/unicase/u16-is-lowercase: Likewise.
29103         * modules/unicase/u16-is-titlecase: Likewise.
29104         * modules/unicase/u16-is-uppercase: Likewise.
29105         * modules/unicase/u16-prefix-context: Likewise.
29106         * modules/unicase/u16-suffix-context: Likewise.
29107         * modules/unicase/u16-tolower: Likewise.
29108         * modules/unicase/u16-totitle: Likewise.
29109         * modules/unicase/u16-toupper: Likewise.
29110         * modules/unicase/u32-casecmp: Likewise.
29111         * modules/unicase/u32-casecoll: Likewise.
29112         * modules/unicase/u32-casefold: Likewise.
29113         * modules/unicase/u32-casexfrm: Likewise.
29114         * modules/unicase/u32-ct-casefold: Likewise.
29115         * modules/unicase/u32-ct-tolower: Likewise.
29116         * modules/unicase/u32-ct-totitle: Likewise.
29117         * modules/unicase/u32-ct-toupper: Likewise.
29118         * modules/unicase/u32-is-cased: Likewise.
29119         * modules/unicase/u32-is-casefolded: Likewise.
29120         * modules/unicase/u32-is-lowercase: Likewise.
29121         * modules/unicase/u32-is-titlecase: Likewise.
29122         * modules/unicase/u32-is-uppercase: Likewise.
29123         * modules/unicase/u32-prefix-context: Likewise.
29124         * modules/unicase/u32-suffix-context: Likewise.
29125         * modules/unicase/u32-tolower: Likewise.
29126         * modules/unicase/u32-totitle: Likewise.
29127         * modules/unicase/u32-toupper: Likewise.
29128         * modules/unicase/ulc-casecmp: Likewise.
29129         * modules/unicase/ulc-casecoll: Likewise.
29130         * modules/unicase/ulc-casexfrm: Likewise.
29131         * modules/uniconv/u8-conv-from-enc: Likewise.
29132         * modules/uniconv/u8-conv-to-enc: Likewise.
29133         * modules/uniconv/u8-strconv-from-enc: Likewise.
29134         * modules/uniconv/u8-strconv-from-locale: Likewise.
29135         * modules/uniconv/u8-strconv-to-enc: Likewise.
29136         * modules/uniconv/u8-strconv-to-locale: Likewise.
29137         * modules/uniconv/u16-conv-from-enc: Likewise.
29138         * modules/uniconv/u16-conv-to-enc: Likewise.
29139         * modules/uniconv/u16-strconv-from-enc: Likewise.
29140         * modules/uniconv/u16-strconv-from-locale: Likewise.
29141         * modules/uniconv/u16-strconv-to-enc: Likewise.
29142         * modules/uniconv/u16-strconv-to-locale: Likewise.
29143         * modules/uniconv/u32-conv-from-enc: Likewise.
29144         * modules/uniconv/u32-conv-to-enc: Likewise.
29145         * modules/uniconv/u32-strconv-from-enc: Likewise.
29146         * modules/uniconv/u32-strconv-from-locale: Likewise.
29147         * modules/uniconv/u32-strconv-to-enc: Likewise.
29148         * modules/uniconv/u32-strconv-to-locale: Likewise.
29149         * modules/unictype/bidicategory-byname: Likewise.
29150         * modules/unictype/bidicategory-name: Likewise.
29151         * modules/unictype/bidicategory-of: Likewise.
29152         * modules/unictype/bidicategory-test: Likewise.
29153         * modules/unictype/block-list: Likewise.
29154         * modules/unictype/block-test: Likewise.
29155         * modules/unictype/category-C: Likewise.
29156         * modules/unictype/category-Cc: Likewise.
29157         * modules/unictype/category-Cf: Likewise.
29158         * modules/unictype/category-Cn: Likewise.
29159         * modules/unictype/category-Co: Likewise.
29160         * modules/unictype/category-Cs: Likewise.
29161         * modules/unictype/category-L: Likewise.
29162         * modules/unictype/category-Ll: Likewise.
29163         * modules/unictype/category-Lm: Likewise.
29164         * modules/unictype/category-Lo: Likewise.
29165         * modules/unictype/category-Lt: Likewise.
29166         * modules/unictype/category-Lu: Likewise.
29167         * modules/unictype/category-M: Likewise.
29168         * modules/unictype/category-Mc: Likewise.
29169         * modules/unictype/category-Me: Likewise.
29170         * modules/unictype/category-Mn: Likewise.
29171         * modules/unictype/category-N: Likewise.
29172         * modules/unictype/category-Nd: Likewise.
29173         * modules/unictype/category-Nl: Likewise.
29174         * modules/unictype/category-No: Likewise.
29175         * modules/unictype/category-P: Likewise.
29176         * modules/unictype/category-Pc: Likewise.
29177         * modules/unictype/category-Pd: Likewise.
29178         * modules/unictype/category-Pe: Likewise.
29179         * modules/unictype/category-Pf: Likewise.
29180         * modules/unictype/category-Pi: Likewise.
29181         * modules/unictype/category-Po: Likewise.
29182         * modules/unictype/category-Ps: Likewise.
29183         * modules/unictype/category-S: Likewise.
29184         * modules/unictype/category-Sc: Likewise.
29185         * modules/unictype/category-Sk: Likewise.
29186         * modules/unictype/category-Sm: Likewise.
29187         * modules/unictype/category-So: Likewise.
29188         * modules/unictype/category-Z: Likewise.
29189         * modules/unictype/category-Zl: Likewise.
29190         * modules/unictype/category-Zp: Likewise.
29191         * modules/unictype/category-Zs: Likewise.
29192         * modules/unictype/category-and: Likewise.
29193         * modules/unictype/category-and-not: Likewise.
29194         * modules/unictype/category-byname: Likewise.
29195         * modules/unictype/category-name: Likewise.
29196         * modules/unictype/category-none: Likewise.
29197         * modules/unictype/category-of: Likewise.
29198         * modules/unictype/category-or: Likewise.
29199         * modules/unictype/category-test: Likewise.
29200         * modules/unictype/combining-class: Likewise.
29201         * modules/unictype/ctype-alnum: Likewise.
29202         * modules/unictype/ctype-alpha: Likewise.
29203         * modules/unictype/ctype-blank: Likewise.
29204         * modules/unictype/ctype-cntrl: Likewise.
29205         * modules/unictype/ctype-digit: Likewise.
29206         * modules/unictype/ctype-graph: Likewise.
29207         * modules/unictype/ctype-lower: Likewise.
29208         * modules/unictype/ctype-print: Likewise.
29209         * modules/unictype/ctype-punct: Likewise.
29210         * modules/unictype/ctype-space: Likewise.
29211         * modules/unictype/ctype-upper: Likewise.
29212         * modules/unictype/ctype-xdigit: Likewise.
29213         * modules/unictype/decimal-digit: Likewise.
29214         * modules/unictype/digit: Likewise.
29215         * modules/unictype/mirror: Likewise.
29216         * modules/unictype/numeric: Likewise.
29217         * modules/unictype/property-alphabetic: Likewise.
29218         * modules/unictype/property-ascii-hex-digit: Likewise.
29219         * modules/unictype/property-bidi-arabic-digit: Likewise.
29220         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
29221         * modules/unictype/property-bidi-block-separator: Likewise.
29222         * modules/unictype/property-bidi-boundary-neutral: Likewise.
29223         * modules/unictype/property-bidi-common-separator: Likewise.
29224         * modules/unictype/property-bidi-control: Likewise.
29225         * modules/unictype/property-bidi-embedding-or-override: Likewise.
29226         * modules/unictype/property-bidi-eur-num-separator: Likewise.
29227         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
29228         * modules/unictype/property-bidi-european-digit: Likewise.
29229         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
29230         * modules/unictype/property-bidi-left-to-right: Likewise.
29231         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
29232         * modules/unictype/property-bidi-other-neutral: Likewise.
29233         * modules/unictype/property-bidi-pdf: Likewise.
29234         * modules/unictype/property-bidi-segment-separator: Likewise.
29235         * modules/unictype/property-bidi-whitespace: Likewise.
29236         * modules/unictype/property-byname: Likewise.
29237         * modules/unictype/property-combining: Likewise.
29238         * modules/unictype/property-composite: Likewise.
29239         * modules/unictype/property-currency-symbol: Likewise.
29240         * modules/unictype/property-dash: Likewise.
29241         * modules/unictype/property-decimal-digit: Likewise.
29242         * modules/unictype/property-default-ignorable-code-point: Likewise.
29243         * modules/unictype/property-deprecated: Likewise.
29244         * modules/unictype/property-diacritic: Likewise.
29245         * modules/unictype/property-extender: Likewise.
29246         * modules/unictype/property-format-control: Likewise.
29247         * modules/unictype/property-grapheme-base: Likewise.
29248         * modules/unictype/property-grapheme-extend: Likewise.
29249         * modules/unictype/property-grapheme-link: Likewise.
29250         * modules/unictype/property-hex-digit: Likewise.
29251         * modules/unictype/property-hyphen: Likewise.
29252         * modules/unictype/property-id-continue: Likewise.
29253         * modules/unictype/property-id-start: Likewise.
29254         * modules/unictype/property-ideographic: Likewise.
29255         * modules/unictype/property-ids-binary-operator: Likewise.
29256         * modules/unictype/property-ids-trinary-operator: Likewise.
29257         * modules/unictype/property-ignorable-control: Likewise.
29258         * modules/unictype/property-iso-control: Likewise.
29259         * modules/unictype/property-join-control: Likewise.
29260         * modules/unictype/property-left-of-pair: Likewise.
29261         * modules/unictype/property-line-separator: Likewise.
29262         * modules/unictype/property-logical-order-exception: Likewise.
29263         * modules/unictype/property-lowercase: Likewise.
29264         * modules/unictype/property-math: Likewise.
29265         * modules/unictype/property-non-break: Likewise.
29266         * modules/unictype/property-not-a-character: Likewise.
29267         * modules/unictype/property-numeric: Likewise.
29268         * modules/unictype/property-other-alphabetic: Likewise.
29269         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
29270         * modules/unictype/property-other-grapheme-extend: Likewise.
29271         * modules/unictype/property-other-id-continue: Likewise.
29272         * modules/unictype/property-other-id-start: Likewise.
29273         * modules/unictype/property-other-lowercase: Likewise.
29274         * modules/unictype/property-other-math: Likewise.
29275         * modules/unictype/property-other-uppercase: Likewise.
29276         * modules/unictype/property-paired-punctuation: Likewise.
29277         * modules/unictype/property-paragraph-separator: Likewise.
29278         * modules/unictype/property-pattern-syntax: Likewise.
29279         * modules/unictype/property-pattern-white-space: Likewise.
29280         * modules/unictype/property-private-use: Likewise.
29281         * modules/unictype/property-punctuation: Likewise.
29282         * modules/unictype/property-quotation-mark: Likewise.
29283         * modules/unictype/property-radical: Likewise.
29284         * modules/unictype/property-sentence-terminal: Likewise.
29285         * modules/unictype/property-soft-dotted: Likewise.
29286         * modules/unictype/property-space: Likewise.
29287         * modules/unictype/property-terminal-punctuation: Likewise.
29288         * modules/unictype/property-test: Likewise.
29289         * modules/unictype/property-titlecase: Likewise.
29290         * modules/unictype/property-unassigned-code-value: Likewise.
29291         * modules/unictype/property-unified-ideograph: Likewise.
29292         * modules/unictype/property-uppercase: Likewise.
29293         * modules/unictype/property-variation-selector: Likewise.
29294         * modules/unictype/property-white-space: Likewise.
29295         * modules/unictype/property-xid-continue: Likewise.
29296         * modules/unictype/property-xid-start: Likewise.
29297         * modules/unictype/property-zero-width: Likewise.
29298         * modules/unictype/scripts: Likewise.
29299         * modules/unictype/syntax-c-ident: Likewise.
29300         * modules/unictype/syntax-c-whitespace: Likewise.
29301         * modules/unictype/syntax-java-ident: Likewise.
29302         * modules/unictype/syntax-java-whitespace: Likewise.
29303         * modules/unilbrk/u8-possible-linebreaks: Likewise.
29304         * modules/unilbrk/u8-width-linebreaks: Likewise.
29305         * modules/unilbrk/u16-possible-linebreaks: Likewise.
29306         * modules/unilbrk/u16-width-linebreaks: Likewise.
29307         * modules/unilbrk/u32-possible-linebreaks: Likewise.
29308         * modules/unilbrk/u32-width-linebreaks: Likewise.
29309         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
29310         * modules/unilbrk/ulc-width-linebreaks: Likewise.
29311         * modules/uniname/uniname: Likewise.
29312         * modules/uninorm/canonical-decomposition: Likewise.
29313         * modules/uninorm/composition: Likewise.
29314         * modules/uninorm/decomposing-form: Likewise.
29315         * modules/uninorm/decomposition: Likewise.
29316         * modules/uninorm/filter: Likewise.
29317         * modules/uninorm/nfc: Likewise.
29318         * modules/uninorm/nfd: Likewise.
29319         * modules/uninorm/nfkc: Likewise.
29320         * modules/uninorm/nfkd: Likewise.
29321         * modules/uninorm/u8-normalize: Likewise.
29322         * modules/uninorm/u8-normcmp: Likewise.
29323         * modules/uninorm/u8-normcoll: Likewise.
29324         * modules/uninorm/u8-normxfrm: Likewise.
29325         * modules/uninorm/u16-normalize: Likewise.
29326         * modules/uninorm/u16-normcmp: Likewise.
29327         * modules/uninorm/u16-normcoll: Likewise.
29328         * modules/uninorm/u16-normxfrm: Likewise.
29329         * modules/uninorm/u32-normalize: Likewise.
29330         * modules/uninorm/u32-normcmp: Likewise.
29331         * modules/uninorm/u32-normcoll: Likewise.
29332         * modules/uninorm/u32-normxfrm: Likewise.
29333         * modules/unistdio/u8-asnprintf: Likewise.
29334         * modules/unistdio/u8-asprintf: Likewise.
29335         * modules/unistdio/u8-snprintf: Likewise.
29336         * modules/unistdio/u8-sprintf: Likewise.
29337         * modules/unistdio/u8-u8-asnprintf: Likewise.
29338         * modules/unistdio/u8-u8-asprintf: Likewise.
29339         * modules/unistdio/u8-u8-snprintf: Likewise.
29340         * modules/unistdio/u8-u8-sprintf: Likewise.
29341         * modules/unistdio/u8-u8-vasnprintf: Likewise.
29342         * modules/unistdio/u8-u8-vasprintf: Likewise.
29343         * modules/unistdio/u8-u8-vsnprintf: Likewise.
29344         * modules/unistdio/u8-u8-vsprintf: Likewise.
29345         * modules/unistdio/u8-vasnprintf: Likewise.
29346         * modules/unistdio/u8-vasprintf: Likewise.
29347         * modules/unistdio/u8-vsnprintf: Likewise.
29348         * modules/unistdio/u8-vsprintf: Likewise.
29349         * modules/unistdio/u16-asnprintf: Likewise.
29350         * modules/unistdio/u16-asprintf: Likewise.
29351         * modules/unistdio/u16-snprintf: Likewise.
29352         * modules/unistdio/u16-sprintf: Likewise.
29353         * modules/unistdio/u16-u16-asnprintf: Likewise.
29354         * modules/unistdio/u16-u16-asprintf: Likewise.
29355         * modules/unistdio/u16-u16-snprintf: Likewise.
29356         * modules/unistdio/u16-u16-sprintf: Likewise.
29357         * modules/unistdio/u16-u16-vasnprintf: Likewise.
29358         * modules/unistdio/u16-u16-vasprintf: Likewise.
29359         * modules/unistdio/u16-u16-vsnprintf: Likewise.
29360         * modules/unistdio/u16-u16-vsprintf: Likewise.
29361         * modules/unistdio/u16-vasnprintf: Likewise.
29362         * modules/unistdio/u16-vasprintf: Likewise.
29363         * modules/unistdio/u16-vsnprintf: Likewise.
29364         * modules/unistdio/u16-vsprintf: Likewise.
29365         * modules/unistdio/u32-asnprintf: Likewise.
29366         * modules/unistdio/u32-asprintf: Likewise.
29367         * modules/unistdio/u32-snprintf: Likewise.
29368         * modules/unistdio/u32-sprintf: Likewise.
29369         * modules/unistdio/u32-u32-asnprintf: Likewise.
29370         * modules/unistdio/u32-u32-asprintf: Likewise.
29371         * modules/unistdio/u32-u32-snprintf: Likewise.
29372         * modules/unistdio/u32-u32-sprintf: Likewise.
29373         * modules/unistdio/u32-u32-vasnprintf: Likewise.
29374         * modules/unistdio/u32-u32-vasprintf: Likewise.
29375         * modules/unistdio/u32-u32-vsnprintf: Likewise.
29376         * modules/unistdio/u32-u32-vsprintf: Likewise.
29377         * modules/unistdio/u32-vasnprintf: Likewise.
29378         * modules/unistdio/u32-vasprintf: Likewise.
29379         * modules/unistdio/u32-vsnprintf: Likewise.
29380         * modules/unistdio/u32-vsprintf: Likewise.
29381         * modules/unistdio/ulc-asnprintf: Likewise.
29382         * modules/unistdio/ulc-asprintf: Likewise.
29383         * modules/unistdio/ulc-fprintf: Likewise.
29384         * modules/unistdio/ulc-snprintf: Likewise.
29385         * modules/unistdio/ulc-sprintf: Likewise.
29386         * modules/unistdio/ulc-vasnprintf: Likewise.
29387         * modules/unistdio/ulc-vasprintf: Likewise.
29388         * modules/unistdio/ulc-vfprintf: Likewise.
29389         * modules/unistdio/ulc-vsnprintf: Likewise.
29390         * modules/unistdio/ulc-vsprintf: Likewise.
29391         * modules/unistr/u8-check: Likewise.
29392         * modules/unistr/u8-chr: Likewise.
29393         * modules/unistr/u8-cmp: Likewise.
29394         * modules/unistr/u8-cmp2: Likewise.
29395         * modules/unistr/u8-cpy: Likewise.
29396         * modules/unistr/u8-cpy-alloc: Likewise.
29397         * modules/unistr/u8-endswith: Likewise.
29398         * modules/unistr/u8-mblen: Likewise.
29399         * modules/unistr/u8-mbsnlen: Likewise.
29400         * modules/unistr/u8-mbtouc: Likewise.
29401         * modules/unistr/u8-mbtouc-unsafe: Likewise.
29402         * modules/unistr/u8-mbtoucr: Likewise.
29403         * modules/unistr/u8-move: Likewise.
29404         * modules/unistr/u8-next: Likewise.
29405         * modules/unistr/u8-prev: Likewise.
29406         * modules/unistr/u8-set: Likewise.
29407         * modules/unistr/u8-startswith: Likewise.
29408         * modules/unistr/u8-stpcpy: Likewise.
29409         * modules/unistr/u8-stpncpy: Likewise.
29410         * modules/unistr/u8-strcat: Likewise.
29411         * modules/unistr/u8-strchr: Likewise.
29412         * modules/unistr/u8-strcmp: Likewise.
29413         * modules/unistr/u8-strcoll: Likewise.
29414         * modules/unistr/u8-strcpy: Likewise.
29415         * modules/unistr/u8-strcspn: Likewise.
29416         * modules/unistr/u8-strdup: Likewise.
29417         * modules/unistr/u8-strlen: Likewise.
29418         * modules/unistr/u8-strmblen: Likewise.
29419         * modules/unistr/u8-strmbtouc: Likewise.
29420         * modules/unistr/u8-strncat: Likewise.
29421         * modules/unistr/u8-strncmp: Likewise.
29422         * modules/unistr/u8-strncpy: Likewise.
29423         * modules/unistr/u8-strnlen: Likewise.
29424         * modules/unistr/u8-strpbrk: Likewise.
29425         * modules/unistr/u8-strrchr: Likewise.
29426         * modules/unistr/u8-strspn: Likewise.
29427         * modules/unistr/u8-strstr: Likewise.
29428         * modules/unistr/u8-strtok: Likewise.
29429         * modules/unistr/u8-to-u16: Likewise.
29430         * modules/unistr/u8-to-u32: Likewise.
29431         * modules/unistr/u8-uctomb: Likewise.
29432         * modules/unistr/u16-check: Likewise.
29433         * modules/unistr/u16-chr: Likewise.
29434         * modules/unistr/u16-cmp: Likewise.
29435         * modules/unistr/u16-cmp2: Likewise.
29436         * modules/unistr/u16-cpy: Likewise.
29437         * modules/unistr/u16-cpy-alloc: Likewise.
29438         * modules/unistr/u16-endswith: Likewise.
29439         * modules/unistr/u16-mblen: Likewise.
29440         * modules/unistr/u16-mbsnlen: Likewise.
29441         * modules/unistr/u16-mbtouc: Likewise.
29442         * modules/unistr/u16-mbtouc-unsafe: Likewise.
29443         * modules/unistr/u16-mbtoucr: Likewise.
29444         * modules/unistr/u16-move: Likewise.
29445         * modules/unistr/u16-next: Likewise.
29446         * modules/unistr/u16-prev: Likewise.
29447         * modules/unistr/u16-set: Likewise.
29448         * modules/unistr/u16-startswith: Likewise.
29449         * modules/unistr/u16-stpcpy: Likewise.
29450         * modules/unistr/u16-stpncpy: Likewise.
29451         * modules/unistr/u16-strcat: Likewise.
29452         * modules/unistr/u16-strchr: Likewise.
29453         * modules/unistr/u16-strcmp: Likewise.
29454         * modules/unistr/u16-strcoll: Likewise.
29455         * modules/unistr/u16-strcpy: Likewise.
29456         * modules/unistr/u16-strcspn: Likewise.
29457         * modules/unistr/u16-strdup: Likewise.
29458         * modules/unistr/u16-strlen: Likewise.
29459         * modules/unistr/u16-strmblen: Likewise.
29460         * modules/unistr/u16-strmbtouc: Likewise.
29461         * modules/unistr/u16-strncat: Likewise.
29462         * modules/unistr/u16-strncmp: Likewise.
29463         * modules/unistr/u16-strncpy: Likewise.
29464         * modules/unistr/u16-strnlen: Likewise.
29465         * modules/unistr/u16-strpbrk: Likewise.
29466         * modules/unistr/u16-strrchr: Likewise.
29467         * modules/unistr/u16-strspn: Likewise.
29468         * modules/unistr/u16-strstr: Likewise.
29469         * modules/unistr/u16-strtok: Likewise.
29470         * modules/unistr/u16-to-u32: Likewise.
29471         * modules/unistr/u16-to-u8: Likewise.
29472         * modules/unistr/u16-uctomb: Likewise.
29473         * modules/unistr/u32-check: Likewise.
29474         * modules/unistr/u32-chr: Likewise.
29475         * modules/unistr/u32-cmp: Likewise.
29476         * modules/unistr/u32-cmp2: Likewise.
29477         * modules/unistr/u32-cpy: Likewise.
29478         * modules/unistr/u32-cpy-alloc: Likewise.
29479         * modules/unistr/u32-endswith: Likewise.
29480         * modules/unistr/u32-mblen: Likewise.
29481         * modules/unistr/u32-mbsnlen: Likewise.
29482         * modules/unistr/u32-mbtouc: Likewise.
29483         * modules/unistr/u32-mbtouc-unsafe: Likewise.
29484         * modules/unistr/u32-mbtoucr: Likewise.
29485         * modules/unistr/u32-move: Likewise.
29486         * modules/unistr/u32-next: Likewise.
29487         * modules/unistr/u32-prev: Likewise.
29488         * modules/unistr/u32-set: Likewise.
29489         * modules/unistr/u32-startswith: Likewise.
29490         * modules/unistr/u32-stpcpy: Likewise.
29491         * modules/unistr/u32-stpncpy: Likewise.
29492         * modules/unistr/u32-strcat: Likewise.
29493         * modules/unistr/u32-strchr: Likewise.
29494         * modules/unistr/u32-strcmp: Likewise.
29495         * modules/unistr/u32-strcoll: Likewise.
29496         * modules/unistr/u32-strcpy: Likewise.
29497         * modules/unistr/u32-strcspn: Likewise.
29498         * modules/unistr/u32-strdup: Likewise.
29499         * modules/unistr/u32-strlen: Likewise.
29500         * modules/unistr/u32-strmblen: Likewise.
29501         * modules/unistr/u32-strmbtouc: Likewise.
29502         * modules/unistr/u32-strncat: Likewise.
29503         * modules/unistr/u32-strncmp: Likewise.
29504         * modules/unistr/u32-strncpy: Likewise.
29505         * modules/unistr/u32-strnlen: Likewise.
29506         * modules/unistr/u32-strpbrk: Likewise.
29507         * modules/unistr/u32-strrchr: Likewise.
29508         * modules/unistr/u32-strspn: Likewise.
29509         * modules/unistr/u32-strstr: Likewise.
29510         * modules/unistr/u32-strtok: Likewise.
29511         * modules/unistr/u32-to-u16: Likewise.
29512         * modules/unistr/u32-to-u8: Likewise.
29513         * modules/unistr/u32-uctomb: Likewise.
29514         * modules/uniwbrk/u8-wordbreaks: Likewise.
29515         * modules/uniwbrk/u16-wordbreaks: Likewise.
29516         * modules/uniwbrk/u32-wordbreaks: Likewise.
29517         * modules/uniwbrk/ulc-wordbreaks: Likewise.
29518         * modules/uniwbrk/wordbreak-property: Likewise.
29519         * modules/uniwidth/u8-strwidth: Likewise.
29520         * modules/uniwidth/u8-width: Likewise.
29521         * modules/uniwidth/u16-strwidth: Likewise.
29522         * modules/uniwidth/u16-width: Likewise.
29523         * modules/uniwidth/u32-strwidth: Likewise.
29524         * modules/uniwidth/u32-width: Likewise.
29525         * modules/uniwidth/width: Likewise.
29526         * modules/unicase/cased-tests (Makefile.am): Link all test programs
29527         with $(LIBUNISTRING).
29528         * modules/unicase/ignorable-tests: Likewise.
29529         * modules/unicase/locale-language-tests: Likewise.
29530         * modules/unicase/tolower-tests: Likewise.
29531         * modules/unicase/totitle-tests: Likewise.
29532         * modules/unicase/toupper-tests: Likewise.
29533         * modules/unicase/u8-casecmp-tests: Likewise.
29534         * modules/unicase/u8-casecoll-tests: Likewise.
29535         * modules/unicase/u8-casefold-tests: Likewise.
29536         * modules/unicase/u8-is-cased-tests: Likewise.
29537         * modules/unicase/u8-is-casefolded-tests: Likewise.
29538         * modules/unicase/u8-is-lowercase-tests: Likewise.
29539         * modules/unicase/u8-is-titlecase-tests: Likewise.
29540         * modules/unicase/u8-is-uppercase-tests: Likewise.
29541         * modules/unicase/u8-tolower-tests: Likewise.
29542         * modules/unicase/u8-totitle-tests: Likewise.
29543         * modules/unicase/u8-toupper-tests: Likewise.
29544         * modules/unicase/u16-casecmp-tests: Likewise.
29545         * modules/unicase/u16-casecoll-tests: Likewise.
29546         * modules/unicase/u16-casefold-tests: Likewise.
29547         * modules/unicase/u16-is-cased-tests: Likewise.
29548         * modules/unicase/u16-is-casefolded-tests: Likewise.
29549         * modules/unicase/u16-is-lowercase-tests: Likewise.
29550         * modules/unicase/u16-is-titlecase-tests: Likewise.
29551         * modules/unicase/u16-is-uppercase-tests: Likewise.
29552         * modules/unicase/u16-tolower-tests: Likewise.
29553         * modules/unicase/u16-totitle-tests: Likewise.
29554         * modules/unicase/u16-toupper-tests: Likewise.
29555         * modules/unicase/u32-casecmp-tests: Likewise.
29556         * modules/unicase/u32-casecoll-tests: Likewise.
29557         * modules/unicase/u32-casefold-tests: Likewise.
29558         * modules/unicase/u32-is-cased-tests: Likewise.
29559         * modules/unicase/u32-is-casefolded-tests: Likewise.
29560         * modules/unicase/u32-is-lowercase-tests: Likewise.
29561         * modules/unicase/u32-is-titlecase-tests: Likewise.
29562         * modules/unicase/u32-is-uppercase-tests: Likewise.
29563         * modules/unicase/u32-tolower-tests: Likewise.
29564         * modules/unicase/u32-totitle-tests: Likewise.
29565         * modules/unicase/u32-toupper-tests: Likewise.
29566         * modules/unicase/ulc-casecmp-tests: Likewise.
29567         * modules/unicase/ulc-casecoll-tests: Likewise.
29568         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
29569         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
29570         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
29571         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
29572         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
29573         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
29574         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
29575         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
29576         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
29577         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
29578         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
29579         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
29580         * modules/unictype/bidicategory-byname-tests: Likewise.
29581         * modules/unictype/bidicategory-name-tests: Likewise.
29582         * modules/unictype/bidicategory-of-tests: Likewise.
29583         * modules/unictype/bidicategory-test-tests: Likewise.
29584         * modules/unictype/block-list-tests: Likewise.
29585         * modules/unictype/block-of-tests: Likewise.
29586         * modules/unictype/block-test-tests: Likewise.
29587         * modules/unictype/category-C-tests: Likewise.
29588         * modules/unictype/category-Cc-tests: Likewise.
29589         * modules/unictype/category-Cf-tests: Likewise.
29590         * modules/unictype/category-Cn-tests: Likewise.
29591         * modules/unictype/category-Co-tests: Likewise.
29592         * modules/unictype/category-Cs-tests: Likewise.
29593         * modules/unictype/category-L-tests: Likewise.
29594         * modules/unictype/category-Ll-tests: Likewise.
29595         * modules/unictype/category-Lm-tests: Likewise.
29596         * modules/unictype/category-Lo-tests: Likewise.
29597         * modules/unictype/category-Lt-tests: Likewise.
29598         * modules/unictype/category-Lu-tests: Likewise.
29599         * modules/unictype/category-M-tests: Likewise.
29600         * modules/unictype/category-Mc-tests: Likewise.
29601         * modules/unictype/category-Me-tests: Likewise.
29602         * modules/unictype/category-Mn-tests: Likewise.
29603         * modules/unictype/category-N-tests: Likewise.
29604         * modules/unictype/category-Nd-tests: Likewise.
29605         * modules/unictype/category-Nl-tests: Likewise.
29606         * modules/unictype/category-No-tests: Likewise.
29607         * modules/unictype/category-P-tests: Likewise.
29608         * modules/unictype/category-Pc-tests: Likewise.
29609         * modules/unictype/category-Pd-tests: Likewise.
29610         * modules/unictype/category-Pe-tests: Likewise.
29611         * modules/unictype/category-Pf-tests: Likewise.
29612         * modules/unictype/category-Pi-tests: Likewise.
29613         * modules/unictype/category-Po-tests: Likewise.
29614         * modules/unictype/category-Ps-tests: Likewise.
29615         * modules/unictype/category-S-tests: Likewise.
29616         * modules/unictype/category-Sc-tests: Likewise.
29617         * modules/unictype/category-Sk-tests: Likewise.
29618         * modules/unictype/category-Sm-tests: Likewise.
29619         * modules/unictype/category-So-tests: Likewise.
29620         * modules/unictype/category-Z-tests: Likewise.
29621         * modules/unictype/category-Zl-tests: Likewise.
29622         * modules/unictype/category-Zp-tests: Likewise.
29623         * modules/unictype/category-Zs-tests: Likewise.
29624         * modules/unictype/category-and-not-tests: Likewise.
29625         * modules/unictype/category-and-tests: Likewise.
29626         * modules/unictype/category-byname-tests: Likewise.
29627         * modules/unictype/category-name-tests: Likewise.
29628         * modules/unictype/category-none-tests: Likewise.
29629         * modules/unictype/category-of-tests: Likewise.
29630         * modules/unictype/category-or-tests: Likewise.
29631         * modules/unictype/category-test-withtable-tests: Likewise.
29632         * modules/unictype/combining-class-tests: Likewise.
29633         * modules/unictype/ctype-alnum-tests: Likewise.
29634         * modules/unictype/ctype-alpha-tests: Likewise.
29635         * modules/unictype/ctype-blank-tests: Likewise.
29636         * modules/unictype/ctype-cntrl-tests: Likewise.
29637         * modules/unictype/ctype-digit-tests: Likewise.
29638         * modules/unictype/ctype-graph-tests: Likewise.
29639         * modules/unictype/ctype-lower-tests: Likewise.
29640         * modules/unictype/ctype-print-tests: Likewise.
29641         * modules/unictype/ctype-punct-tests: Likewise.
29642         * modules/unictype/ctype-space-tests: Likewise.
29643         * modules/unictype/ctype-upper-tests: Likewise.
29644         * modules/unictype/ctype-xdigit-tests: Likewise.
29645         * modules/unictype/decimal-digit-tests: Likewise.
29646         * modules/unictype/digit-tests: Likewise.
29647         * modules/unictype/mirror-tests: Likewise.
29648         * modules/unictype/numeric-tests: Likewise.
29649         * modules/unictype/property-alphabetic-tests: Likewise.
29650         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
29651         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
29652         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
29653         * modules/unictype/property-bidi-block-separator-tests: Likewise.
29654         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
29655         * modules/unictype/property-bidi-common-separator-tests: Likewise.
29656         * modules/unictype/property-bidi-control-tests: Likewise.
29657         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
29658         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
29659         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
29660         * modules/unictype/property-bidi-european-digit-tests: Likewise.
29661         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
29662         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
29663         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
29664         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
29665         * modules/unictype/property-bidi-pdf-tests: Likewise.
29666         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
29667         * modules/unictype/property-bidi-whitespace-tests: Likewise.
29668         * modules/unictype/property-byname-tests: Likewise.
29669         * modules/unictype/property-combining-tests: Likewise.
29670         * modules/unictype/property-composite-tests: Likewise.
29671         * modules/unictype/property-currency-symbol-tests: Likewise.
29672         * modules/unictype/property-dash-tests: Likewise.
29673         * modules/unictype/property-decimal-digit-tests: Likewise.
29674         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
29675         * modules/unictype/property-deprecated-tests: Likewise.
29676         * modules/unictype/property-diacritic-tests: Likewise.
29677         * modules/unictype/property-extender-tests: Likewise.
29678         * modules/unictype/property-format-control-tests: Likewise.
29679         * modules/unictype/property-grapheme-base-tests: Likewise.
29680         * modules/unictype/property-grapheme-extend-tests: Likewise.
29681         * modules/unictype/property-grapheme-link-tests: Likewise.
29682         * modules/unictype/property-hex-digit-tests: Likewise.
29683         * modules/unictype/property-hyphen-tests: Likewise.
29684         * modules/unictype/property-id-continue-tests: Likewise.
29685         * modules/unictype/property-id-start-tests: Likewise.
29686         * modules/unictype/property-ideographic-tests: Likewise.
29687         * modules/unictype/property-ids-binary-operator-tests: Likewise.
29688         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
29689         * modules/unictype/property-ignorable-control-tests: Likewise.
29690         * modules/unictype/property-iso-control-tests: Likewise.
29691         * modules/unictype/property-join-control-tests: Likewise.
29692         * modules/unictype/property-left-of-pair-tests: Likewise.
29693         * modules/unictype/property-line-separator-tests: Likewise.
29694         * modules/unictype/property-logical-order-exception-tests: Likewise.
29695         * modules/unictype/property-lowercase-tests: Likewise.
29696         * modules/unictype/property-math-tests: Likewise.
29697         * modules/unictype/property-non-break-tests: Likewise.
29698         * modules/unictype/property-not-a-character-tests: Likewise.
29699         * modules/unictype/property-numeric-tests: Likewise.
29700         * modules/unictype/property-other-alphabetic-tests: Likewise.
29701         * modules/unictype/property-other-default-ignorable-code-point-tests:
29702         Likewise.
29703         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
29704         * modules/unictype/property-other-id-continue-tests: Likewise.
29705         * modules/unictype/property-other-id-start-tests: Likewise.
29706         * modules/unictype/property-other-lowercase-tests: Likewise.
29707         * modules/unictype/property-other-math-tests: Likewise.
29708         * modules/unictype/property-other-uppercase-tests: Likewise.
29709         * modules/unictype/property-paired-punctuation-tests: Likewise.
29710         * modules/unictype/property-paragraph-separator-tests: Likewise.
29711         * modules/unictype/property-pattern-syntax-tests: Likewise.
29712         * modules/unictype/property-pattern-white-space-tests: Likewise.
29713         * modules/unictype/property-private-use-tests: Likewise.
29714         * modules/unictype/property-punctuation-tests: Likewise.
29715         * modules/unictype/property-quotation-mark-tests: Likewise.
29716         * modules/unictype/property-radical-tests: Likewise.
29717         * modules/unictype/property-sentence-terminal-tests: Likewise.
29718         * modules/unictype/property-soft-dotted-tests: Likewise.
29719         * modules/unictype/property-space-tests: Likewise.
29720         * modules/unictype/property-terminal-punctuation-tests: Likewise.
29721         * modules/unictype/property-test-tests: Likewise.
29722         * modules/unictype/property-titlecase-tests: Likewise.
29723         * modules/unictype/property-unassigned-code-value-tests: Likewise.
29724         * modules/unictype/property-unified-ideograph-tests: Likewise.
29725         * modules/unictype/property-uppercase-tests: Likewise.
29726         * modules/unictype/property-variation-selector-tests: Likewise.
29727         * modules/unictype/property-white-space-tests: Likewise.
29728         * modules/unictype/property-xid-continue-tests: Likewise.
29729         * modules/unictype/property-xid-start-tests: Likewise.
29730         * modules/unictype/property-zero-width-tests: Likewise.
29731         * modules/unictype/scripts-tests: Likewise.
29732         * modules/unictype/syntax-c-ident-tests: Likewise.
29733         * modules/unictype/syntax-c-whitespace-tests: Likewise.
29734         * modules/unictype/syntax-java-ident-tests: Likewise.
29735         * modules/unictype/syntax-java-whitespace-tests: Likewise.
29736         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
29737         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
29738         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
29739         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
29740         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
29741         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
29742         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
29743         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
29744         * modules/uniname/uniname-tests: Likewise.
29745         * modules/uninorm/canonical-decomposition-tests: Likewise.
29746         * modules/uninorm/compat-decomposition-tests: Likewise.
29747         * modules/uninorm/composition-tests: Likewise.
29748         * modules/uninorm/decomposing-form-tests: Likewise.
29749         * modules/uninorm/decomposition-tests: Likewise.
29750         * modules/uninorm/filter-tests: Likewise.
29751         * modules/uninorm/nfc-tests: Likewise.
29752         * modules/uninorm/nfd-tests: Likewise.
29753         * modules/uninorm/nfkc-tests: Likewise.
29754         * modules/uninorm/nfkd-tests: Likewise.
29755         * modules/uninorm/u8-normcmp-tests: Likewise.
29756         * modules/uninorm/u8-normcoll-tests: Likewise.
29757         * modules/uninorm/u16-normcmp-tests: Likewise.
29758         * modules/uninorm/u16-normcoll-tests: Likewise.
29759         * modules/uninorm/u32-normcmp-tests: Likewise.
29760         * modules/uninorm/u32-normcoll-tests: Likewise.
29761         * modules/unistdio/u8-asnprintf-tests: Likewise.
29762         * modules/unistdio/u8-vasnprintf-tests: Likewise.
29763         * modules/unistdio/u8-vasprintf-tests: Likewise.
29764         * modules/unistdio/u8-vsnprintf-tests: Likewise.
29765         * modules/unistdio/u8-vsprintf-tests: Likewise.
29766         * modules/unistdio/u16-asnprintf-tests: Likewise.
29767         * modules/unistdio/u16-vasnprintf-tests: Likewise.
29768         * modules/unistdio/u16-vasprintf-tests: Likewise.
29769         * modules/unistdio/u16-vsnprintf-tests: Likewise.
29770         * modules/unistdio/u16-vsprintf-tests: Likewise.
29771         * modules/unistdio/u32-asnprintf-tests: Likewise.
29772         * modules/unistdio/u32-vasnprintf-tests: Likewise.
29773         * modules/unistdio/u32-vasprintf-tests: Likewise.
29774         * modules/unistdio/u32-vsnprintf-tests: Likewise.
29775         * modules/unistdio/u32-vsprintf-tests: Likewise.
29776         * modules/unistdio/ulc-asnprintf-tests: Likewise.
29777         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
29778         * modules/unistdio/ulc-vasprintf-tests: Likewise.
29779         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
29780         * modules/unistdio/ulc-vsprintf-tests: Likewise.
29781         * modules/unistr/u8-check-tests: Likewise.
29782         * modules/unistr/u8-chr-tests: Likewise.
29783         * modules/unistr/u8-cmp-tests: Likewise.
29784         * modules/unistr/u8-cmp2-tests: Likewise.
29785         * modules/unistr/u8-cpy-alloc-tests: Likewise.
29786         * modules/unistr/u8-cpy-tests: Likewise.
29787         * modules/unistr/u8-mblen-tests: Likewise.
29788         * modules/unistr/u8-mbsnlen-tests: Likewise.
29789         * modules/unistr/u8-mbtouc-tests: Likewise.
29790         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
29791         * modules/unistr/u8-mbtoucr-tests: Likewise.
29792         * modules/unistr/u8-move-tests: Likewise.
29793         * modules/unistr/u8-next-tests: Likewise.
29794         * modules/unistr/u8-prev-tests: Likewise.
29795         * modules/unistr/u8-set-tests: Likewise.
29796         * modules/unistr/u8-stpcpy-tests: Likewise.
29797         * modules/unistr/u8-stpncpy-tests: Likewise.
29798         * modules/unistr/u8-strcat-tests: Likewise.
29799         * modules/unistr/u8-strcmp-tests: Likewise.
29800         * modules/unistr/u8-strcoll-tests: Likewise.
29801         * modules/unistr/u8-strcpy-tests: Likewise.
29802         * modules/unistr/u8-strdup-tests: Likewise.
29803         * modules/unistr/u8-strlen-tests: Likewise.
29804         * modules/unistr/u8-strmblen-tests: Likewise.
29805         * modules/unistr/u8-strmbtouc-tests: Likewise.
29806         * modules/unistr/u8-strncat-tests: Likewise.
29807         * modules/unistr/u8-strncmp-tests: Likewise.
29808         * modules/unistr/u8-strncpy-tests: Likewise.
29809         * modules/unistr/u8-strnlen-tests: Likewise.
29810         * modules/unistr/u8-to-u16-tests: Likewise.
29811         * modules/unistr/u8-to-u32-tests: Likewise.
29812         * modules/unistr/u8-uctomb-tests: Likewise.
29813         * modules/unistr/u16-check-tests: Likewise.
29814         * modules/unistr/u16-chr-tests: Likewise.
29815         * modules/unistr/u16-cmp-tests: Likewise.
29816         * modules/unistr/u16-cmp2-tests: Likewise.
29817         * modules/unistr/u16-cpy-alloc-tests: Likewise.
29818         * modules/unistr/u16-cpy-tests: Likewise.
29819         * modules/unistr/u16-mblen-tests: Likewise.
29820         * modules/unistr/u16-mbsnlen-tests: Likewise.
29821         * modules/unistr/u16-mbtouc-tests: Likewise.
29822         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
29823         * modules/unistr/u16-mbtoucr-tests: Likewise.
29824         * modules/unistr/u16-move-tests: Likewise.
29825         * modules/unistr/u16-next-tests: Likewise.
29826         * modules/unistr/u16-prev-tests: Likewise.
29827         * modules/unistr/u16-set-tests: Likewise.
29828         * modules/unistr/u16-stpcpy-tests: Likewise.
29829         * modules/unistr/u16-stpncpy-tests: Likewise.
29830         * modules/unistr/u16-strcat-tests: Likewise.
29831         * modules/unistr/u16-strcmp-tests: Likewise.
29832         * modules/unistr/u16-strcoll-tests: Likewise.
29833         * modules/unistr/u16-strcpy-tests: Likewise.
29834         * modules/unistr/u16-strdup-tests: Likewise.
29835         * modules/unistr/u16-strlen-tests: Likewise.
29836         * modules/unistr/u16-strmblen-tests: Likewise.
29837         * modules/unistr/u16-strmbtouc-tests: Likewise.
29838         * modules/unistr/u16-strncat-tests: Likewise.
29839         * modules/unistr/u16-strncmp-tests: Likewise.
29840         * modules/unistr/u16-strncpy-tests: Likewise.
29841         * modules/unistr/u16-strnlen-tests: Likewise.
29842         * modules/unistr/u16-to-u32-tests: Likewise.
29843         * modules/unistr/u16-to-u8-tests: Likewise.
29844         * modules/unistr/u16-uctomb-tests: Likewise.
29845         * modules/unistr/u32-check-tests: Likewise.
29846         * modules/unistr/u32-chr-tests: Likewise.
29847         * modules/unistr/u32-cmp-tests: Likewise.
29848         * modules/unistr/u32-cmp2-tests: Likewise.
29849         * modules/unistr/u32-cpy-alloc-tests: Likewise.
29850         * modules/unistr/u32-cpy-tests: Likewise.
29851         * modules/unistr/u32-mblen-tests: Likewise.
29852         * modules/unistr/u32-mbsnlen-tests: Likewise.
29853         * modules/unistr/u32-mbtouc-tests: Likewise.
29854         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
29855         * modules/unistr/u32-mbtoucr-tests: Likewise.
29856         * modules/unistr/u32-move-tests: Likewise.
29857         * modules/unistr/u32-next-tests: Likewise.
29858         * modules/unistr/u32-prev-tests: Likewise.
29859         * modules/unistr/u32-set-tests: Likewise.
29860         * modules/unistr/u32-stpcpy-tests: Likewise.
29861         * modules/unistr/u32-stpncpy-tests: Likewise.
29862         * modules/unistr/u32-strcat-tests: Likewise.
29863         * modules/unistr/u32-strcmp-tests: Likewise.
29864         * modules/unistr/u32-strcoll-tests: Likewise.
29865         * modules/unistr/u32-strcpy-tests: Likewise.
29866         * modules/unistr/u32-strdup-tests: Likewise.
29867         * modules/unistr/u32-strlen-tests: Likewise.
29868         * modules/unistr/u32-strmblen-tests: Likewise.
29869         * modules/unistr/u32-strmbtouc-tests: Likewise.
29870         * modules/unistr/u32-strncat-tests: Likewise.
29871         * modules/unistr/u32-strncmp-tests: Likewise.
29872         * modules/unistr/u32-strncpy-tests: Likewise.
29873         * modules/unistr/u32-strnlen-tests: Likewise.
29874         * modules/unistr/u32-to-u16-tests: Likewise.
29875         * modules/unistr/u32-to-u8-tests: Likewise.
29876         * modules/unistr/u32-uctomb-tests: Likewise.
29877         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
29878         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
29879         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
29880         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
29881         * modules/uniwidth/u8-strwidth-tests: Likewise.
29882         * modules/uniwidth/u8-width-tests: Likewise.
29883         * modules/uniwidth/u16-strwidth-tests: Likewise.
29884         * modules/uniwidth/u16-width-tests: Likewise.
29885         * modules/uniwidth/u32-strwidth-tests: Likewise.
29886         * modules/uniwidth/u32-width-tests: Likewise.
29887         * modules/uniwidth/width-tests: Likewise.
29888
29889 2010-05-18  Richard Jones  <rjones@redhat.com>
29890
29891         doc: users.txt: list hivex
29892         * users.txt: Add hivex.
29893
29894 2010-05-18  Richard Jones  <rjones@redhat.com>
29895
29896         doc: users.txt: list febootstrap
29897         * users.txt: Add febootstrap.
29898
29899 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
29900
29901         bootstrap: fix an error when gnulib is not used as a git submodule
29902         * build-aux/bootstrap (gnulib_path): If its length is zero then
29903         assign "gnulib" to it.
29904         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
29905
29906 2010-05-16  Bruno Haible  <bruno@clisp.org>
29907
29908         Avoid autoconf warnings about AM_ICONV.
29909         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
29910         2.64.
29911
29912 2010-05-16  Bruno Haible  <bruno@clisp.org>
29913
29914         absolute-header: Make the macro usable in more situations.
29915         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
29916         from gl_ABSOLUTE_HEADER.
29917         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
29918
29919 2010-05-16  James Youngman  <jay@gnu.org>
29920
29921         doc: update users.txt
29922         * users.txt: Add CSSC.
29923
29924 2010-05-16  Jim Meyering  <meyering@redhat.com>
29925
29926         init.sh: fix an error in the previous change; add more comments
29927         * tests/init.sh: Compare exit code in loop against 9, not 2.
29928         Patch by Bruno Haible.
29929         Make the two tests more similar by adding an empty "then" clause.
29930         Add comments.
29931
29932         init.sh: avoid unnecessary shell re-exec
29933         * tests/init.sh: Improve the re-exec-required check to first test the
29934         current shell.  If it passes the test, do not search for a shell that
29935         does pass, and do not re-exec.  This test is particularly contorted to
29936         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
29937         of $(...) evokes a syntax error and causes immediate shell exit with
29938         status 2.  Bruno Haible reported that the re-exec made it impossible
29939         to single-step through any init.sh-using script.
29940
29941 2010-05-16  Bruno Haible  <bruno@clisp.org>
29942
29943         Fix collision between gnulib's and libintl's printf replacements.
29944         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
29945         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
29946         (printf): When using GNU C, map the __printf__ function to rpl_printf
29947         via __asm__. When not using GNU C, define rpl_printf instead of
29948         __printf__.
29949         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
29950         commit.
29951         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
29952         commit.
29953         * m4/asm-underscore.m4: New file.
29954         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
29955         * modules/stdio (Files): Add m4/asm-underscore.m4.
29956         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
29957         Reported by Ben Pfaff.
29958
29959 2010-05-16  Bruno Haible  <bruno@clisp.org>
29960
29961         verify: Avoid skipping the test on openSUSE 11.0.
29962         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
29963
29964 2010-05-13  Bruno Haible  <bruno@clisp.org>
29965
29966         Avoid useless warnings from G++.
29967         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
29968         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
29969         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29970
29971 2010-05-11  Jim Meyering  <meyering@redhat.com>
29972
29973         maint.mk: tweak preceding change
29974         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
29975         regexps tighter by anchoring at EOL, and make the new group "shy"
29976         for slightly decreased overhead.
29977
29978 2010-05-11  Eric Blake  <eblake@redhat.com>
29979
29980         maint.mk: gnulib doesn't guarantee NSIG
29981         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
29982
29983 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29984
29985         test-pwrite.c: Remove unused variable declaration.
29986         * tests/test-pwrite.c (main): Remove read_buf declaration.
29987
29988         Remove useless test-pwrite.sh file.
29989         * tests/test-pwrite.sh: Delete file.
29990         * modules/pwrite-tests: Remove references.
29991         Reported by Bruno Haible.
29992
29993 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
29994
29995         init.sh: fix a typo
29996         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
29997
29998 2010-05-10  Jim Meyering  <meyering@redhat.com>
29999
30000         maint.mk: avoid using a temporary file in the always-defined-macros check
30001         * top/maint.mk (.re-defmac): Remove rule.
30002         (gl_trap_): Remove definition.
30003         (sc_prohibit_always-defined_macros): Rewrite not to create and
30004         depend on a temporary file.  Instead, depend on GNU grep's ability
30005         to read a list of regular expressions from stdin when given "-f -".
30006
30007 2010-05-09  Bruno Haible  <bruno@clisp.org>
30008
30009         Update to GNU gettext 0.18, part 1.
30010         * m4/gettext.m4: Update to GNU gettext 0.18.
30011         * m4/intl.m4: Likewise.
30012         * m4/po.m4: Likewise.
30013         * modules/gettext (Files): Add m4/fcntl-o.m4.
30014         (configure.ac): Require gettext infrastructure from version 0.18.
30015
30016 2010-05-09  Jim Meyering  <meyering@redhat.com>
30017
30018         init.sh: enable MALLOC_PERTURB_
30019         * tests/init.sh: Enable glibc's malloc-perturbing option.
30020
30021         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30022         With my recent change in init.sh from the two-line form:
30023             -#   : ${srcdir=.}
30024             -#   . "$srcdir/init.sh"; path_prepend_ .
30025             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30026         I noticed that using the one-line form would cause this test
30027         to fail with a false-positive, or to stop working altogether,
30028         depending on whether help-version changed or all the tests did.
30029         * top/maint.mk (_hv_regex): Remove this definition.
30030         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30031         (_hv_regex_strong): Use a stronger regex to check for conformance.
30032         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30033         Give a separate diagnostic for lack of conforming use.
30034
30035         maint.mk: prohibit definition of symbols defined by gnulib
30036         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30037         definition of symbols defined by gnulib.
30038
30039 2010-05-09  Bruno Haible  <bruno@clisp.org>
30040
30041         acl: Avoid test failure on Cygwin-hosted mingw.
30042         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30043
30044 2010-05-09  Bruno Haible  <bruno@clisp.org>
30045
30046         error: Use system's fcntl function.
30047         * lib/error.c (fcntl): Undefine.
30048
30049 2010-05-09  Jim Meyering  <meyering@redhat.com>
30050
30051         verify: adjust formatting to be more consistent
30052         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30053         argument-list '('s, and after one comma.
30054
30055 2010-05-09  Bruno Haible  <bruno@clisp.org>
30056
30057         error: More reliable output on mingw.
30058         * lib/error.c: Include <windows.h>.
30059         (is_open): New function.
30060         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30061         defined.
30062
30063 2010-05-09  Bruno Haible  <bruno@clisp.org>
30064
30065         vasnprintf: Fix syntax errors in libintl build on mingw.
30066         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30067         pad_ourselves and prec_ourselves after use.
30068
30069 2010-05-08  Bruno Haible  <bruno@clisp.org>
30070
30071         * lib/config.charset: Update comments for Cygwin 1.7.
30072         * lib/localcharset.c: Likewise.
30073
30074 2010-05-07  Jim Meyering  <meyering@redhat.com>
30075
30076         init.sh: improve comments
30077         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30078         . "${srcdir=.}/init.sh"; path_prepend_ .
30079         Add a note about path_prepend_ and the alternative of using
30080         TESTS_ENVIRONMENT.
30081
30082 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30083
30084         exclude: Unescape hashed patterns in wildcard mode.
30085         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30086         to the hash list.
30087         * tests/test-exclude8.sh: New test case.
30088         * modules/exclude-tests: Add new test.
30089
30090 2010-05-05  Eric Blake  <eblake@redhat.com>
30091
30092         verify: automate tests
30093         * modules/verify-tests: New module.
30094         * tests/test-verify.sh: New file.
30095         * tests/test-verify.c: Guard each negative test with a unique id.
30096         Also avoid warning about unused left hand of comma expressions.
30097
30098 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30099
30100         Further improvements to verify.h, suggested by Eric Blake.
30101         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30102         the GL_* versions, to avoid collision with OpenGL.
30103         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30104         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30105         than testing merely whether it's defined.
30106
30107         Modify verify.h to pacify gcc -Wredundant_decls.
30108         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30109         These use the prefix "GL_" since they're likely to be useful elsewhere.
30110         We may need to break them out into a different .h file.
30111         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30112         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30113         of verify_function__.
30114
30115 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30116
30117         Tests for module pwrite.
30118         * modules/pwrite-tests: New file.
30119         * tests/test-pwrite.sh: New file.
30120         * tests/test-pwrite.c: New file.
30121
30122         New module pwrite.
30123         * lib/unistd.in.h (pwrite): New declaration.
30124         * lib/pwrite.c: New file, from glibc with modifications.
30125         * m4/pwrite.m4: New file.
30126         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30127         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30128         REPLACE_PWRITE.
30129         * modules/pwrite: New file.
30130         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30131         REPLACE_PWRITE.
30132         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30133         * doc/posix-functions/pwrite.texi: Mention the new module.
30134
30135 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30136
30137         pread: Update documentation.
30138         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30139
30140 2010-05-04  Eric Blake  <eblake@redhat.com>
30141
30142         docs: update cygwin progress
30143         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30144         this bug.
30145         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30146         Added in cygwin 1.7.2.
30147         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30148         Likewise.
30149         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30150         Likewise.
30151         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30152         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30153         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30154         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30155         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30156         Mention nproc module.
30157         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30158         bug in cygwin 1.7.5 addition.
30159         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30160         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30161         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30162         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30163         1.7.5.
30164         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30165         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30166         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30167         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30168         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30169         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30170         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
30171         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
30172         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
30173         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
30174         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
30175         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
30176         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
30177         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
30178         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
30179         Likewise.
30180         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
30181         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
30182         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
30183         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
30184         Likewise.
30185         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
30186         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
30187         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
30188         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
30189         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
30190         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
30191         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
30192         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
30193         Likewise.
30194         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
30195         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
30196         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
30197         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
30198         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
30199         Likewise.
30200         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
30201         Likewise.
30202         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
30203         Likewise.
30204         * doc/glibc-functions/xdrrec_endofrecord.texi
30205         (xdrrec_endofrecord): Likewise.
30206         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
30207         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
30208         Likewise.
30209         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
30210         Likewise.
30211
30212 2010-05-04  Jim Meyering  <meyering@redhat.com>
30213
30214         gendocs.sh: make its "-s FILE" option more useful
30215         * build-aux/gendocs.sh: When honoring the -s FILE option, update
30216         $PACKAGE to reflect the probably-different basename of "FILE".
30217
30218 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
30219
30220         bootstrap: don't ignore download_po_files failure
30221         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
30222         failure.
30223
30224 2010-05-03  Jim Meyering  <meyering@redhat.com>
30225
30226         maint.mk: allow to pass options to gendocs.sh
30227         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
30228         (gendocs_options_): New overridable variable.
30229
30230         gnu-web-doc-update: don't ignore configure or build failure
30231         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
30232
30233         announce-gen: backslash-escape '@'s in --help output
30234         * build-aux/announce-gen: Fix syntax errors.
30235
30236         maint.mk, announce-gen: allow project-specific announcement mail headers
30237         * top/maint.mk (translation_project_): Define default.
30238         (announcement_Cc_, announcement_mail_headers_): Likewise.
30239         (announcement): Invoke announce-gen with new --mail-headers option.
30240         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
30241
30242         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
30243         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
30244         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
30245         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
30246         line in the "err2" output file when running "make check" in verbose
30247         mode (i.e., with set -x enabled).
30248
30249 2010-05-03  Bruno Haible  <bruno@clisp.org>
30250
30251         wctob: Fix for weird platforms.
30252         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
30253         argument value.
30254
30255 2010-05-03  Jim Meyering  <meyering@redhat.com>
30256
30257         maint.mk: prohibit unwarranted use of <strings.h>
30258         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
30259         strings.h in a file that does not also use strcasecmp, strncasecmp,
30260         ffs or ffsll.
30261
30262         maint.mk: remove obsolete comments
30263         * top/maint.mk: Remove stale, commented-out rules.
30264
30265 2010-05-02  Bruno Haible  <bruno@clisp.org>
30266
30267         wcwidth: Declare also when it's aliased.
30268         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
30269         macro.
30270
30271 2010-05-02  Bruno Haible  <bruno@clisp.org>
30272
30273         Fix regression from 2010-04-25.
30274         * gnulib-tool (func_modules_transitive_closure): Check the status of
30275         all modules, not only of the tests that are of the form foo-tests where
30276         foo is a module.
30277
30278 2010-05-02  Bruno Haible  <bruno@clisp.org>
30279
30280         wctob: Work around nasty Cygwin 1.7.2 bug.
30281         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
30282         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
30283
30284 2010-05-01  Bruno Haible  <bruno@clisp.org>
30285
30286         fpurge: Sharper test.
30287         * tests/test-fpurge.c (main): Add one more ftell check.
30288         * modules/fpurge-tests (Depends-on): Add ftell.
30289         Suggested by Eric Blake.
30290
30291 2010-05-01  Bruno Haible  <bruno@clisp.org>
30292
30293         ftello: Another test.
30294         * tests/test-ftello3.c: New file.
30295         * modules/ftello-tests (Files): Add it.
30296         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30297         MOSTLYCLEANFILES.
30298
30299         ftell: Another test.
30300         * tests/test-ftell3.c: New file.
30301         * modules/ftell-tests (Files): Add it.
30302         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
30303         MOSTLYCLEANFILES.
30304
30305 2010-05-01  Bruno Haible  <bruno@clisp.org>
30306
30307         ftell, ftello: Work around Solaris bug.
30308         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
30309         * lib/ftello.c: Include stdio-impl.h.
30310         (ftello): On Solaris, when _IOWRT is set, compute the result without
30311         looking at _IOREAD.
30312         * modules/ftello (Files): Add lib/stdio-impl.h.
30313         * doc/posix-functions/ftell.texi: Mention Solaris bug.
30314         * doc/posix-functions/ftello.texi: Likewise.
30315         Reported by Eric Blake.
30316
30317 2010-05-01  Bruno Haible  <bruno@clisp.org>
30318
30319         freading: Adapt to special meaning of _IOREAD flag on Solaris.
30320         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
30321         the _IOWRT flag is also set.
30322
30323 2010-05-01  Bruno Haible  <bruno@clisp.org>
30324
30325         Fix doc about a HP-UX stdio bug.
30326         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
30327         * doc/posix-functions/ftello.texi: Likewise.
30328
30329 2010-05-01  Bruno Haible  <bruno@clisp.org>
30330
30331         lseek test: Fix failure on Solaris.
30332         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
30333         output.
30334
30335 2010-04-30  Jim Meyering  <meyering@redhat.com>
30336
30337         bootstrap: don't ignore failure to generate po*/Makevars
30338         * build-aux/bootstrap (with_gettext): Don't ignore failure
30339         to create po/Makevars or runtime-po/Makevars.
30340
30341 2010-04-29  Eric Blake  <eblake@redhat.com>
30342
30343         headers: relax license to LGPLv2+
30344         * modules/fcntl-h (License): Relax license.
30345         * modules/getopt-posix (License): Likewise.
30346         * modules/locale (License): Likewise.
30347         * modules/math (License): Likewise.
30348         * modules/pty (License): Likewise.
30349         * modules/sched (License): Likewise.
30350         * modules/search (License): Likewise.
30351         * modules/spawn (License): Likewise.
30352         * modules/stdarg (License): Likewise.
30353         * modules/sysexits (License): Likewise.
30354
30355 2010-04-29  Jim Meyering  <meyering@redhat.com>
30356
30357         inttypes: relax license to LGPLv2+
30358         * modules/inttypes (License): Relax license.
30359
30360 2010-04-29  Simon Josefsson  <simon@josefsson.org>
30361
30362         * top/maint.mk (indent): Run twice to produce idempotent results.
30363
30364 2010-04-28  Bruno Haible  <bruno@clisp.org>
30365
30366         getdate: Generate getdate.c in the source directory.
30367         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
30368         MOSTLYCLEANFILES.
30369         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
30370
30371 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
30372
30373         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
30374         is not declared as a const *; avoid warnings in that case.
30375
30376 2010-04-28  Eric Blake  <eblake@redhat.com>
30377
30378         canonicalize-lgpl: avoid compiler warning
30379         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
30380         declaration' / 'extraneous semicolon' warning with some compilers.
30381         Reported by Andreas Gruenbacher.
30382
30383 2010-04-28  Jim Meyering  <meyering@redhat.com>
30384
30385         init.sh: ensure a more reliable exit status when exiting via trap
30386         * tests/init.sh (setup_): Don't rely on $? in signal handler.
30387         Inspired by patches from Dmitry V. Levin.
30388         Also trap on signal 3 (SIGQUIT).
30389
30390 2010-04-27  Bruno Haible  <bruno@clisp.org>
30391
30392         Update doc about utimes().
30393         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
30394         'utimens' module.
30395         Reported by Andreas Gruenbacher <agruen@suse.de>.
30396
30397 2010-04-27  Eric Blake  <eblake@redhat.com>
30398
30399         full-read, full-write: relax license
30400         * modules/full-read (License): Drop to LGPLv2+.
30401         * modules/full-write (License): Likewise.
30402         * modules/safe-read (License): Likewise.
30403         * modules/safe-write (License): Likewise.
30404
30405         pthread: mention library for linking
30406         * modules/pthread (Link): Mention $(LIB_PTHREAD).
30407
30408 2010-04-27  Jim Meyering  <meyering@redhat.com>
30409
30410         maint.mk: fix a bug introduced in last change
30411         * top/maint.mk (gl_assured_headers_): Now that all names are on
30412         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
30413         is not anchored to end of word, it should be adequate.
30414
30415         maint.mk: avoid side-effect in latest syntax-check
30416         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
30417         to run commands via $(shell...), and hence to incur cost only when
30418         the new rule is actually run.
30419
30420         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
30421         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
30422         and use that to create a regexp used to detect all #if HAVE_..._H uses.
30423         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
30424         (gl_assured_headers_, az_, AZ_): Define.
30425         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
30426
30427 2010-04-26  Jim Meyering  <jim@meyering.net>
30428             Bruno Haible  <bruno@clisp.org>
30429
30430         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
30431         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
30432         Prompted by an exchange with Gilles Espinasse.
30433
30434 2010-04-26  Jim Meyering  <meyering@redhat.com>
30435
30436         git-version-gen: aesthetic tweak
30437         * build-aux/git-version-gen: Use "$nl" rather than a literal,
30438         so that the command remains on a single line.
30439
30440 2010-04-26  Eric Blake  <eblake@redhat.com>
30441
30442         git-version-gen: allow use on EBCDIC hosts
30443         * build-aux/git-version-gen (dirty): Use literal rather than tying
30444         ourselves to ascii.
30445         Reported by Steve Goetze.
30446
30447 2010-04-25  Bruno Haible  <bruno@clisp.org>
30448
30449         netdb: Add support for GNULIB_POSIXCHECK.
30450         * lib/netdb.in.h: Include warn-on-use.h.
30451         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
30452         functions are used when GNULIB_POSIXCHECK is defined and the
30453         getaddrinfo module is not in use.
30454         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
30455         freeaddrinfo, gai_strerror, getnameinfo are declared.
30456         * modules/netdb (Depends-on): Add warn-on-use.
30457         (Makefile.am): Include warn-on-use.h in netdb.h.
30458
30459 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
30460
30461         build: avoid "make check" failure without .git/ directory
30462         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
30463         there is no .git/ directory.
30464
30465 2010-04-25  Bruno Haible  <bruno@clisp.org>
30466
30467         ptsname: Fix misuse of ttyname_r.
30468         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
30469         of errno.
30470
30471 2010-04-25  Bruno Haible  <bruno@clisp.org>
30472
30473         ttyname_r: Make it work on Solaris 10.
30474         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
30475         if the system function has the POSIX declaration. Test whether the
30476         function fails if the buffer is less than 128 bytes large.
30477         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
30478         system's ttyname_r function. Provide a reasonably large buffer.
30479         * modules/ttyname_r (Depends-on): Add extensions.
30480         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
30481
30482 2010-04-25  Bruno Haible  <bruno@clisp.org>
30483
30484         Use the 'extensions' module for some more functions on Solaris.
30485         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
30486         module.
30487         * doc/posix-functions/ctime_r.texi: Likewise.
30488         * doc/posix-functions/getgrgid_r.texi: Likewise.
30489         * doc/posix-functions/getgrnam_r.texi: Likewise.
30490         * doc/posix-functions/getpwnam_r.texi: Likewise.
30491         * doc/posix-functions/getpwuid_r.texi: Likewise.
30492         * doc/posix-functions/readdir_r.texi: Likewise.
30493         * doc/posix-functions/sigwait.texi: Likewise.
30494         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
30495         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
30496
30497 2010-04-25  Bruno Haible  <bruno@clisp.org>
30498
30499         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
30500         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
30501         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
30502         * lib/ttyname_r.c: Include <limits.h>.
30503         (ttyname_r): Define using the system's ttyname_r function, if it exists
30504         and not on Solaris.
30505         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
30506         set.
30507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
30508         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
30509         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
30510         Reported by Simon Josefsson.
30511
30512 2010-04-25  Bruno Haible  <bruno@clisp.org>
30513
30514         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
30515         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
30516         * doc/posix-functions/ctime_r.texi: Likewise.
30517         * doc/posix-functions/getgrgid_r.texi: Likewise.
30518         * doc/posix-functions/getgrnam_r.texi: Likewise.
30519         * doc/posix-functions/getlogin_r.texi: Likewise.
30520         * doc/posix-functions/getpwnam_r.texi: Likewise.
30521         * doc/posix-functions/getpwuid_r.texi: Likewise.
30522         * doc/posix-functions/readdir_r.texi: Likewise.
30523         * doc/posix-functions/sigwait.texi: Likewise.
30524         * doc/posix-functions/ttyname_r.texi: Likewise.
30525         Reported by Simon Josefsson.
30526
30527 2010-04-25  Bruno Haible  <bruno@clisp.org>
30528
30529         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
30530         * gnulib-tool (func_usage): Document that --with-*-tests options apply
30531         also to --create-testdir.
30532         (func_acceptable): Don't consider the status of *-tests modules here.
30533         (func_modules_transitive_closure): Consider it here, before including a
30534         test module.
30535         (func_import, func_create_testdir): Set inc_all_direct_tests,
30536         inc_all_indirect_tests.
30537         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
30538         --create-testdir and --create-megatestdir.
30539
30540 2010-04-25  Bruno Haible  <bruno@clisp.org>
30541
30542         gnulib-tool: Add --without-*-tests options.
30543         * gnulib-tool (func_usage): Document the --without-*-tests options.
30544         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
30545         excl_unportable_tests): New variables.
30546         Fail if they are specified with --import or --update.
30547         (func_acceptable): Respect the excl_*_tests variables.
30548         (func_import): Set the excl_*_tests variables to empty.
30549
30550 2010-04-25  Simon Josefsson  <simon@josefsson.org>
30551             Bruno Haible  <bruno@clisp.org>
30552
30553         Work around a MacOS X 10.4 bug with openpty.
30554         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
30555         * tests/test-openpty.c (main): Close the master side explicitly.
30556
30557 2010-04-25  Bruno Haible  <bruno@clisp.org>
30558
30559         strnlen: Fix a C++ test error on MacOS X and Solaris.
30560         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
30561         the function is not declared.
30562         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
30563         Simon Josefsson.
30564
30565 2010-04-24  Bruno Haible  <bruno@clisp.org>
30566
30567         Avoid a gcc warning.
30568         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
30569         of correct type for %08lx directive.
30570         Reported by Eric Blake.
30571
30572 2010-04-24  Bruno Haible  <bruno@clisp.org>
30573
30574         vasnprintf: Correct errno value in case of out-of-memory.
30575         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
30576         or sprintf. Use the errno value from SNPRINTF or sprintf.
30577         Reported by Ian Beckwith <ianb@erislabs.net>.
30578
30579 2010-04-24  Bruno Haible  <bruno@clisp.org>
30580
30581         ansi-c++-opt: Find correct compiler when cross-compiling.
30582         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
30583         AC_CHECK_PROGS.
30584         Reported by Simon Josefsson.
30585
30586 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
30587
30588         vc-list-files: Add support for subversion
30589         * build-aux/vc-list-files: Use "svn list" to generate the list of
30590         files controlled by subversion.
30591
30592 2010-04-23  Jim Meyering  <meyering@redhat.com>
30593
30594         vc-list-files tests: convert to use init.sh
30595         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
30596         path_prepend_.
30597         Use Exit, not exit.
30598         Use skip_ rather than open coding it.
30599         Remove trap set-up and compare definitions.
30600         * tests/test-vc-list-files-git.sh: Likewise.
30601         * modules/vc-list-files-tests (Files): Add tests/init.sh.
30602
30603 2010-04-22  Simon Josefsson  <simon@josefsson.org>
30604
30605         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
30606         backup files.
30607
30608 2010-04-21  Simon Josefsson  <simon@josefsson.org>
30609
30610         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
30611
30612 2010-04-20  Eric Blake  <eblake@redhat.com>
30613
30614         tests: be robust to ignored SIGPIPE
30615         * tests/test-select-in.sh: Consume all output.
30616         * tests/test-lseek.sh: Check correct exit status, while avoiding
30617         EPIPE.
30618
30619 2010-04-20  Simon Josefsson  <simon@josefsson.org>
30620             Bruno Haible  <bruno@clisp.org>
30621
30622         visibility: Don't use -fvisibility if it leads to a warning.
30623         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
30624         yes, don't pretend that visibility works if it leads to a warning.
30625         Reported by Mike Gran <spk121@yahoo.com>.
30626
30627 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
30628
30629         * build-aux/bootstrap: Use "git -h" for testing for supported options
30630         instead of "git --help".  The short-form option only shows a summary,
30631         and doesn't layout the full man page.  Grep for the full option name
30632         in the summary, too.
30633
30634 2010-04-19  Bruno Haible  <bruno@clisp.org>
30635
30636         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
30637         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
30638         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
30639         mention of RELOCATABLE_STRIP.
30640         Reported by Sylvain Beucler <beuc@beuc.net>.
30641
30642 2010-04-19  Bruno Haible  <bruno@clisp.org>
30643
30644         * lib/diffseq.h: Fix typo in comment.
30645         Reported by Eric Blake.
30646
30647 2010-04-19  Bruno Haible  <bruno@clisp.org>
30648
30649         ioctl: Move autoconf macro to a .m4 file.
30650         * m4/ioctl.m4: New file, extracted from modules/ioctl.
30651         * modules/ioctl (Files): Add it.
30652         (configure.ac): Simply invoke gl_FUNC_IOCTL.
30653         Reported by Ian Beckwith <ianb@erislabs.net>.
30654
30655 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
30656             Bruno Haible  <bruno@clisp.org>
30657
30658         diffseq: Accommodate use-case with abstract arrays.
30659         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
30660         is not defined.
30661         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
30662         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
30663
30664 2010-04-18  Bruno Haible  <bruno@clisp.org>
30665
30666         * doc/posix-headers/stdbool.texi: More precise wording.
30667
30668 2010-04-17  Jim Meyering  <meyering@redhat.com>
30669
30670         maint.mk: use gnu-style indentation in an embedded perl script
30671         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
30672         Rename variable: s/two/last_two_bytes/
30673
30674 2010-04-16  Eric Blake  <eblake@redhat.com>
30675
30676         test-stdbool: skip test that fails with Solaris CC
30677         * tests/test-stdbool.c (f): Skip test that causes compilation
30678         error under buggy C++ compiler.
30679         * lib/stdbool.in.h: Document the limitation.
30680         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
30681
30682         setenv: allow compilation with C++
30683         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
30684         register keyword.
30685
30686         stdint: allow test to pass with C++
30687         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
30688
30689         getopt: allow compilation with C++
30690         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
30691         struct.
30692         * lib/getopt.c (_getopt_internal_r): Use correct type.
30693         Reported by Dagobert Michelson, via Joel E. Denny.
30694
30695 2010-04-16  Bruno Haible  <bruno@clisp.org>
30696
30697         Override netdb.h always.
30698         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
30699         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
30700         Reported by Ludovic Courtès <ludo@gnu.org>.
30701
30702 2010-04-15  Bruno Haible  <bruno@clisp.org>
30703
30704         openpty: Fix mistake from 2010-03-21.
30705         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
30706         Reported by Simon Josefsson.
30707
30708 2010-04-15  Eric Blake  <eblake@redhat.com>
30709
30710         test-forkpty: fix expected signature
30711         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
30712         Reported by Simon Josefsson.
30713
30714 2010-04-15  Jim Meyering  <meyering@redhat.com>
30715
30716         maint.mk: texinfo_suffix_re_: correct the default regexp
30717         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
30718
30719         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
30720         make it configurable via texinfo_suffix_re_.
30721
30722 2010-04-14  Eric Blake  <eblake@redhat.com>
30723
30724         strtok_r: relax license to LGPLv2+
30725         * modules/strtok_r (License): Relax license.
30726         Reported by Matthias Bolte.
30727
30728 2010-04-14  Simon Josefsson  <simon@josefsson.org>
30729
30730         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
30731         version 1.4.4 by default instead of requiring the libgcrypt
30732         version used during build.  This makes it possible to use the
30733         application with older but still binary compatible libgcrypt
30734         versions.
30735
30736 2010-04-13  Eric Blake  <eblake@redhat.com>
30737
30738         getopt-gnu: match recent glibc fixes and posix ruling
30739         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
30740         '+' handling, when requesting extensions.
30741         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
30742         'W;' handling.
30743         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
30744         * doc/posix-functions/getopt.texi (getopt): Document this.
30745         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30746         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30747         Likewise.
30748
30749         getopt: merge bug fixes from glibc
30750         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
30751         diagnostics.  Honor '+:' correctly.  Reject ';'.
30752
30753         getopt-posix: detect MacOS bug
30754         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
30755         optind when missing a required argument.
30756         * doc/posix-functions/getopt.texi (getopt): Document the bug.
30757         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
30758         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
30759         Likewise.
30760
30761         getopt-posix: avoid spurious failure on Solaris
30762         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
30763         an indicator that setting optind=1 is sufficient for reset.
30764
30765         getopt-posix: avoid spurious failure on FreeBSD
30766         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
30767         in POSIX mode, since the m4 test uses it.
30768
30769         gnulib-tool: silence warning on BSD sh
30770         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
30771
30772 2010-04-13  Jim Meyering  <meyering@redhat.com>
30773
30774         doc: users.txt: GNU patch now uses gnulib
30775         * users.txt: Add patch.
30776
30777 2010-04-12  Jim Meyering  <meyering@redhat.com>
30778
30779         maint.mk: generate more concise timing data for syntax-check rules
30780         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
30781         " done" from each line that reports a syntax-check test duration.
30782
30783 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
30784
30785         git-version-gen: use "git update-index..." rather than "git status"
30786         * build-aux/git-version-gen: Use git update-index --refresh, not
30787         "git status".  With some versions of git, "git status" would fail
30788         to update the index and result in an unwarranted "-dirty" suffix.
30789
30790 2010-04-11  Jim Meyering  <meyering@redhat.com>
30791
30792         openat: correct formatting (no semantic change)
30793         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
30794         Suggested by Bruno Haible.
30795
30796 2010-04-11  Bruno Haible  <bruno@clisp.org>
30797
30798         Stricter declaration checking in testdirs.
30799         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30800         If for_tests is true, augment AM_CPPFLAGS to define
30801         GNULIB_STRICT_CHECKING.
30802         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
30803         GNULIB_STRICT_CHECKING is defined, verify that the function is
30804         declared.
30805
30806 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
30807             Bruno Haible  <bruno@clisp.org>
30808
30809         libunistring: Improve configure output.
30810         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
30811         Don't say "consider installing GNU libunistring" when checking again
30812         with libiconv.
30813
30814 2010-04-11  Bruno Haible  <bruno@clisp.org>
30815
30816         libunistring: Correct value of $LTLIBUNISTRING.
30817         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
30818         correct the value of $LTLIBUNISTRING.
30819
30820 2010-04-11  Bruno Haible  <bruno@clisp.org>
30821
30822         havelib: Add static libraries to LIBS in the right order.
30823         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
30824         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
30825
30826 2010-04-11  Bruno Haible  <bruno@clisp.org>
30827
30828         libunistring: Detect libunistring also when it depends on libiconv.
30829         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
30830         the second AC_LIB_HAVE_LINKFLAGS invocation.
30831
30832 2010-04-11  James Youngman  <jay@gnu.org>
30833
30834         close-stream: declare local scalars to be "const"
30835         * lib/close-stream.c (close_stream): Make boolean variables const
30836         to document the fact that we set but do not change them.
30837
30838 2010-04-11  Bruno Haible  <bruno@clisp.org>
30839
30840         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
30841
30842 2010-04-11  Jim Meyering  <meyering@redhat.com>
30843
30844         maint.mk: don't include dist-check.mk
30845         * top/maint.mk: Remove bogus include directive.
30846
30847         maint.mk: improve empty-line-at-EOF check
30848         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
30849         solution, rather than tail+Perl-based one.  The latter would read
30850         a few kilobytes from the end of each file, and did not handle empty
30851         files properly.
30852
30853         maint.mk: print the elapsed time for each syntax-check rule
30854         * top/maint.mk (sc_m_rules_): Save start time in a file.
30855         (sc_z_rules_): New rules: remove temp file and print elapsed time.
30856         (local-check): Interpose the .z rules
30857
30858 2010-04-11  Jim Meyering  <meyering@redhat.com>
30859
30860         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
30861         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
30862         empty file with one that ends in an empty line.
30863
30864 2010-04-10  Bruno Haible  <bruno@clisp.org>
30865
30866         mkdir: Make it work on mingw64.
30867         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
30868         * lib/mkdir.c: Update comment.
30869         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
30870
30871 2010-04-10  Bruno Haible  <bruno@clisp.org>
30872
30873         Don't override improved macro from newer autoconf.
30874         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
30875         autoconf >= 2.62.
30876         Reported by Joel E. Denny <jdenny@clemson.edu>.
30877
30878 2010-04-10  Jim Meyering  <meyering@redhat.com>
30879
30880         maint.mk: new syntax-check rule: prohibit empty lines at end of file
30881         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
30882
30883         maint.mk: correct a diagnostic
30884         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
30885         in diagnostic; now use $prohibit.
30886
30887 2010-04-10  Bruno Haible  <address@hidden>
30888
30889         fchownat: Fix a C++ test error on Solaris 8.
30890         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
30891         the function does not exist.
30892
30893 2010-04-10  Bruno Haible  <bruno@clisp.org>
30894
30895         vasnprintf: Add more tests.
30896         * tests/test-vasnprintf-posix.c: Include <errno.h>.
30897         (test_function): Test converting an invalid wide string.
30898
30899         vasnprintf: Correct handling of unconvertible wide string arguments.
30900         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
30901         VASNPRINTF.
30902         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
30903         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
30904         smaller than the expected maximum need for the directive. Set errno to
30905         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
30906         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
30907         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
30908         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
30909         * modules/vasnprintf (Files): Add m4/printf.m4.
30910         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30911
30912 2010-04-10  Bruno Haible  <bruno@clisp.org>
30913
30914         vasnprintf: Fix crash in %ls directive.
30915         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
30916         string is passed as argument to %ls, with no precision and no width.
30917         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30918
30919 2010-04-10  Bruno Haible  <bruno@clisp.org>
30920
30921         vasnprintf: Fix multiple test failures on mingw.
30922         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
30923         _snprintf, or snwprintf, not _snwprintf.
30924
30925 2010-04-10  Bruno Haible  <bruno@clisp.org>
30926
30927         write: Fix a C++ test error on mingw.
30928         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
30929
30930 2010-04-10  Bruno Haible  <bruno@clisp.org>
30931
30932         vasnprintf test: Reduce code duplication.
30933         * tests/test-vasnprintf.c (test_function): New function, extracted from
30934         test_vasnprintf.
30935         (test_vasnprintf, test_asnprintf): Invoke it.
30936
30937 2010-04-10  Bruno Haible  <bruno@clisp.org>
30938
30939         strnlen: Fix warning in C++ mode on MacOS X.
30940         * lib/string.in.h (strnlen): Use the modern idiom.
30941         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
30942         defining strnlen as a macro already in <config.h>.
30943         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30944         REPLACE_STRNLEN.
30945         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
30946         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30947
30948 2010-04-08  James Youngman  <jay@gnu.org>
30949
30950         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
30951         the example.
30952
30953 2010-04-09  Jim Meyering  <meyering@redhat.com>
30954
30955         maint.mk: print better diagnostic when there is no $(_hv_file)
30956         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
30957         announce that when $(_hv_file) (aka help-version) does not exist.
30958
30959         init.sh: run tr in the "C" locale to avoid multibyte interpretation
30960         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
30961         not try to interpret its random input bytes.  Jarno Rajahalme reported
30962         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
30963         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
30964         (mktempd_): Likewise, just in case.
30965
30966         ftruncate: add two years to projected module removal date: 2012
30967         * m4/ftruncate.m4: Adjust comments.
30968
30969         ftruncate: mark module as obsolete; even MinGW provides it, now
30970         * modules/ftruncate (Status): Obsolete.
30971         (Notice): Say that.
30972         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
30973         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
30974
30975 2010-04-08  Bruno Haible  <bruno@clisp.org>
30976
30977         Fix side effects from tests-related modules.
30978         * modules/dprintf-posix (Comment): New section.
30979         * modules/fprintf-posix (Comment): Likewise.
30980         * modules/obstack-printf-posix (Comment): Likewise.
30981         * modules/printf-posix (Comment): Likewise.
30982         * modules/snprintf-posix (Comment): Likewise.
30983         * modules/sprintf-posix (Comment): Likewise.
30984         * modules/vasnprintf-posix (Comment): Likewise.
30985         * modules/vasprintf-posix (Comment): Likewise.
30986         * modules/vdprintf-posix (Comment): Likewise.
30987         * modules/vfprintf-posix (Comment): Likewise.
30988         * modules/vprintf-posix (Comment): Likewise.
30989         * modules/vsnprintf-posix (Comment): Likewise.
30990         * modules/vsprintf-posix (Comment): Likewise.
30991         * modules/xprintf-posix (Comment): Likewise.
30992         * modules/xvasprintf-posix (Comment): Likewise.
30993         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
30994         * modules/floorf-tests (Depends-on): Likewise.
30995         * modules/round-tests (Depends-on): Likewise.
30996         * modules/roundf-tests (Depends-on): Likewise.
30997         * modules/trunc-tests (Depends-on): Likewise.
30998         * modules/truncf-tests (Depends-on): Likewise.
30999         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31000         'fprintf-posix' module is not present.
31001         * tests/test-floorf2.c (check): Likewise.
31002         * tests/test-trunc2.c (check): Likewise.
31003         * tests/test-truncf2.c (check): Likewise.
31004         * tests/test-round2.c (equal): Likewise.
31005         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31006
31007 2010-04-07  Karl Berry  <karl@gnu.org>
31008
31009         * config/srclist.txt,
31010         * config/srclistvars.sh,
31011         * config/srclist-update: doc fixes.
31012
31013 2010-04-07  Jim Meyering  <meyering@redhat.com>
31014
31015         maint.mk: add a PATH crosschecking syntax-check rule
31016         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31017         Useful if you use a test like the one in help-version (coreutils,
31018         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31019         printed by prog --version.
31020
31021 2010-04-06  Bruno Haible  <bruno@clisp.org>
31022
31023         Fix link error on mingw.
31024         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31025         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31026
31027 2010-04-06  Bruno Haible  <bruno@clisp.org>
31028
31029         Assume rmdir exists.
31030         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31031
31032 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31033
31034         doc: update users.txt
31035         * users.txt: Add gcal.
31036
31037 2010-04-06  Jim Meyering  <meyering@redhat.com>
31038
31039         init.sh: simply unset TMPDIR rather than risking env -i
31040         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31041         although it probably works fine on all Unix-based systems, some
31042         systems (Cygwin?) cannot tolerate a totally cleared environment.
31043         Suggestion from Eric Blake.
31044
31045 2010-04-06  Jim Meyering  <meyering@redhat.com>
31046
31047         init.sh: portability fix: use env's POSIX-specified -i option not -u
31048         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31049         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31050
31051 2010-04-05  Bruno Haible  <bruno@clisp.org>
31052
31053         btowc: Work around Cygwin 1.7.2 bug.
31054         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31055         does not map NUL to 0.
31056         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31057
31058 2010-04-05  Bruno Haible  <bruno@clisp.org>
31059
31060         Make the multithread modules work on Cygwin 1.7.2.
31061         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31062         imported symbols can be declared weak, so that it returns "no" on
31063         Cygwin 1.7.2.
31064
31065 2010-04-05  Bruno Haible  <bruno@clisp.org>
31066
31067         Use the module 'strncat'.
31068         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31069
31070         Tests for module 'strncat'.
31071         * modules/strncat-tests: New file.
31072         * tests/test-strncat.c: New file.
31073
31074         New module 'strncat'.
31075         * lib/string.in.h (strncat): New declaration.
31076         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31077         * m4/strncat.m4: New file, based on m4/memchr.m4.
31078         * modules/strncat: New file.
31079         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31080         is declared.
31081         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31082         REPLACE_STRNCAT.
31083         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31084         REPLACE_STRNCAT.
31085         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31086         module.
31087         * tests/test-string-c++.cc: Check signature of strncat.
31088
31089 2010-04-05  Jim Meyering  <meyering@redhat.com>
31090
31091         xstrtoumax-tests: convert to use init.sh
31092         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31093         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31094         Use Exit, not exit.
31095         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31096
31097         xstrtoimax-tests: convert to use init.sh
31098         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31099         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31100         Use Exit, not exit.
31101         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31102
31103 2010-04-05  Bruno Haible  <bruno@clisp.org>
31104
31105         sys_socket: Avoid #define replacements in C++ mode.
31106         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31107         warning to the function if possible, rather than #defining the symbol
31108         to a dysfunctional alias.
31109
31110 2010-04-05  Bruno Haible  <bruno@clisp.org>
31111
31112         fseeko: Fix C++ test error on mingw.
31113         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31114         gl_FUNC_FSEEKO.
31115         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31116         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31117         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31118         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31119
31120 2010-04-05  Bruno Haible  <bruno@clisp.org>
31121
31122         duplocale: Improve test output.
31123         * tests/test-duplocale.c (main): Print reason for skipped test.
31124
31125 2010-04-05  Bruno Haible  <bruno@clisp.org>
31126
31127         Assume rmdir exists.
31128         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31129         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31130
31131 2010-04-05  Bruno Haible  <bruno@clisp.org>
31132
31133         Fix link error on Solaris 8 with cc.
31134         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31135
31136 2010-04-05  Bruno Haible  <bruno@clisp.org>
31137
31138         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31139         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31140
31141 2010-04-05  Bruno Haible  <bruno@clisp.org>
31142
31143         vasprintf: Update documentation.
31144         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31145
31146 2010-04-05  Bruno Haible  <bruno@clisp.org>
31147
31148         ptsname: Improve test.
31149         * tests/test-ptsname.c (main): Also try the various master names of BSD
31150         systems.
31151
31152 2010-04-05  Bruno Haible  <bruno@clisp.org>
31153
31154         memchr: Avoid a possible C++ test error.
31155         * lib/string.in.h (memchr): Provide declaration if function is missing.
31156         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31157         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31158         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31159         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31160
31161 2010-04-05  Bruno Haible  <bruno@clisp.org>
31162
31163         strtok_r: Improve idiom.
31164         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31165         AC_LIBOBJ is used.
31166
31167 2010-04-05  Bruno Haible  <bruno@clisp.org>
31168
31169         strdup: Improve idiom.
31170         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
31171         AC_LIBOBJ is used.
31172         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
31173         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
31174         when AC_LIBOBJ is used.
31175
31176 2010-04-05  Bruno Haible  <bruno@clisp.org>
31177
31178         mbsinit, mbrtowc, wcrtomb: Improve idioms.
31179         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
31180         don't set REPLACE_MBSINIT to 1.
31181         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
31182         don't set REPLACE_MBRTOWC to 1.
31183         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
31184         exist, don't set REPLACE_MBSRTOWCS to 1.
31185         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
31186         exist, don't set REPLACE_MBSNRTOWCS to 1.
31187         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
31188         don't set REPLACE_WCRTOMB to 1.
31189         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
31190         exist, don't set REPLACE_WCSRTOMBS to 1.
31191         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
31192         exist, don't set REPLACE_WCSNRTOMBS to 1.
31193
31194 2010-04-05  Bruno Haible  <bruno@clisp.org>
31195
31196         ldexpl: Improve idiom.
31197         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
31198         make sure to set HAVE_DECL_LDEXPL to 0.
31199
31200 2010-04-05  Jim Meyering  <meyering@redhat.com>
31201
31202         xstrtol-tests: convert to use init.sh
31203         * modules/xstrtol-tests (Files): Add tests/init.sh.
31204         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31205         Use Exit, not exit.
31206         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31207
31208         atexit-tests: convert to use init.sh
31209         * modules/atexit-tests (Files): Add tests/init.sh.
31210         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31211         Use Exit, not exit.
31212         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31213
31214         init.sh: fix typo
31215         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
31216
31217         init.sh: make it easier for a test script to write to the tty, ...
31218         when using automake's parallel-tests mode.
31219         * tests/init.sh (stderr_fileno_): Define overridable variable.
31220         (warn_): New function, to use it.
31221         (fail_, skip_, framework_failure_): Use warn_.
31222
31223 2010-04-04  Bruno Haible  <bruno@clisp.org>
31224
31225         btowc: Avoid warning.
31226         * lib/btowc.c: Include <stdlib.h>.
31227         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
31228
31229 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31230             Bruno Haible  <bruno@clisp.org>
31231
31232         wchar: Port to NetBSD 1.5.
31233         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
31234         * lib/wctype.in.h (WEOF): Likewise.
31235
31236 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
31237             Bruno Haible  <bruno@clisp.org>
31238
31239         Port extended stdio to NetBSD 1.5.
31240         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
31241         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
31242         older.
31243
31244 2010-04-04  Bruno Haible  <bruno@clisp.org>
31245
31246         string: Remove unused substitution.
31247         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31248         HAVE_DECL_STRERROR.
31249         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
31250
31251 2010-04-04  Bruno Haible  <bruno@clisp.org>
31252
31253         strtod: Avoid a possible C++ test error.
31254         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
31255         set REPLACE_STRTOD.
31256
31257 2010-04-04  Bruno Haible  <bruno@clisp.org>
31258
31259         strerror: Update documentation.
31260         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
31261
31262 2010-04-04  Bruno Haible  <bruno@clisp.org>
31263
31264         stdio: Fix some C++ test errors on Solaris 8 with GCC.
31265         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
31266         _GL_CXXALIAS_SYS_CAST.
31267
31268 2010-04-04  Bruno Haible  <bruno@clisp.org>
31269
31270         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31271         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
31272         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
31273         REPLACE_FREXPL to 1.
31274         * doc/posix-functions/frexpl.texi: Update documentation.
31275
31276 2010-04-04  Bruno Haible  <bruno@clisp.org>
31277
31278         math: Fix some C++ test errors on Solaris 8 and Cygwin.
31279         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
31280
31281 2010-04-04  Bruno Haible  <bruno@clisp.org>
31282
31283         Implement nanosleep for native Windows.
31284         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
31285
31286 2010-04-04  Bruno Haible  <bruno@clisp.org>
31287
31288         math: Fix some C++ test errors on Solaris 8.
31289         * lib/math.in.h (truncf, trunc): Use simpler idiom.
31290
31291 2010-04-04  Bruno Haible  <bruno@clisp.org>
31292
31293         math: Fix some C++ test errors on Cygwin.
31294         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
31295         truncl): Provide declaration if the system does not have it.
31296         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
31297         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
31298         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
31299         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
31300         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
31301         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
31302         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
31303         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
31304         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
31305         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
31306         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
31307         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
31308         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
31309         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
31310         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
31311         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
31312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
31313         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31314         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31315         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
31316         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
31317         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
31318
31319 2010-04-04  Bruno Haible  <bruno@clisp.org>
31320
31321         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
31322         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
31323         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
31324         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
31325         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
31326         * m4/isinf.m4 (gl_ISINF): Likewise.
31327         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31328
31329 2010-04-04  Bruno Haible  <bruno@clisp.org>
31330
31331         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
31332         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31333
31334 2010-04-04  Bruno Haible  <bruno@clisp.org>
31335
31336         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
31337         * modules/tmpfile (configure.ac): Update.
31338
31339         tmpfile: Fix C++ test error on mingw.
31340         * lib/stdio.in.h (tmpfile): New declaration.
31341         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
31342         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
31343         * modules/tmpfile (Depends-on): Add stdio.
31344         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
31345         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
31346         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
31347         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
31348         REPLACE_TMPFILE.
31349         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
31350
31351 2010-04-04  Bruno Haible  <bruno@clisp.org>
31352
31353         ioctl: Fix C++ test error on mingw.
31354         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
31355         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
31356         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
31357
31358 2010-04-03  Bruno Haible  <bruno@clisp.org>
31359
31360         wcwidth: Fix C++ test error on mingw.
31361         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
31362         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
31363         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
31364
31365 2010-04-03  Bruno Haible  <bruno@clisp.org>
31366
31367         nanosleep: Fix C++ test error on mingw.
31368         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
31369         * lib/time.in.h (nanosleep): Use modern idiom.
31370         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
31371         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
31372         REPLACE_NANOSLEEP to 1.
31373         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
31374         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
31375
31376 2010-04-03  Bruno Haible  <bruno@clisp.org>
31377
31378         strptime: Fix C++ test error on mingw.
31379         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
31380         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
31381         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
31382         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
31383         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
31384         not REPLACE_STRPTIME.
31385         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
31386         REPLACE_STRPTIME.
31387
31388 2010-04-03  Bruno Haible  <bruno@clisp.org>
31389
31390         timegm: Fix C++ test error on mingw.
31391         * lib/time.in.h (timegm): Use modern idiom.
31392         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
31393         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
31394         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
31395         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
31396
31397 2010-04-03  Bruno Haible  <bruno@clisp.org>
31398
31399         timegm: Assume declaration if function exists.
31400         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
31401         if it exists. Don't clobber ac_cv_func_timegm.
31402
31403 2010-04-03  Bruno Haible  <bruno@clisp.org>
31404
31405         time_r: Fix C++ test error on mingw.
31406         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
31407         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
31408         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
31409         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
31410         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
31411
31412 2010-04-03  Bruno Haible  <bruno@clisp.org>
31413
31414         time_r: Minor updates.
31415         * modules/time_r (Description): Mention the provided functions.
31416         * lib/time_r.c: Don't include <string.h>.
31417         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
31418         * doc/posix-functions/localtime_r.texi: Likewise.
31419
31420 2010-04-03  Bruno Haible  <bruno@clisp.org>
31421
31422         time: Fix regression introduced on 2010-03-08.
31423         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
31424         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
31425
31426 2010-04-03  Jim Meyering  <meyering@redhat.com>
31427
31428         maint.mk: don't silently disable project-specific syntax-check rules
31429         * top/maint.mk (_prohibit_regexp): Define, to help people realize
31430         that they need to convert their project-specific syntax-check rules
31431         to use the new _sc_search_regexp.
31432
31433 2010-04-03  Bruno Haible  <bruno@clisp.org>
31434
31435         fchdir: Fix regression introduced on 2010-03-08.
31436         * lib/unistd.in.h (fchdir): Fix declaration.
31437         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
31438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
31439         REPLACE_FCHDIR.
31440         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
31441         REPLACE_FCHDIR.
31442
31443 2010-04-03  Bruno Haible  <bruno@clisp.org>
31444
31445         getpagesize: Fix C++ test error on mingw.
31446         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
31447         system does not declare the function.
31448         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
31449         declared.
31450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
31451         HAVE_DECL_GETPAGESIZE.
31452         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
31453
31454 2010-04-03  Bruno Haible  <bruno@clisp.org>
31455
31456         stdio: Make C++ tests work on mingw.
31457         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
31458         does not declare the function.
31459
31460 2010-04-03  Bruno Haible  <bruno@clisp.org>
31461
31462         ftello: Fix C++ test error on mingw.
31463         * lib/stdio.in.h (ftello): Use modern idiom.
31464         * lib/ftello.c (ftello): Renamed from rpl_ftello.
31465         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
31466         is missing and that it needs to be replaced.
31467         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
31468         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
31469         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
31470
31471 2010-04-03  Bruno Haible  <bruno@clisp.org>
31472
31473         fseeko: Fix C++ test error on mingw.
31474         * lib/stdio.in.h (fseeko): Use modern idiom.
31475         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
31476         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
31477         is missing and that it needs to be replaced.
31478         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
31479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
31480         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
31481
31482 2010-04-03  Bruno Haible  <bruno@clisp.org>
31483
31484         mkstemp: Fix C++ test error on mingw.
31485         * lib/stdlib.in.h (mkstemp): Use modern idiom.
31486         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
31487         function is missing and that it needs to be replaced.
31488         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
31489         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
31490
31491 2010-04-03  Bruno Haible  <bruno@clisp.org>
31492
31493         stpncpy: Fix C++ test error on mingw.
31494         * lib/string.in.h (stpncpy): Use modern idiom.
31495         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
31496         function is missing and that it needs to be replaced.
31497         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31498         REPLACE_STPNCPY.
31499         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
31500
31501 2010-04-03  Bruno Haible  <bruno@clisp.org>
31502
31503         sys_stat: Fix C++ test error on mingw.
31504         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
31505         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
31506
31507 2010-04-03  Bruno Haible  <bruno@clisp.org>
31508
31509         pty: Update doc.
31510         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
31511
31512 2010-04-03  Bruno Haible  <bruno@clisp.org>
31513
31514         unistd: Fix C++ test error on mingw.
31515         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
31516
31517 2010-04-03  Bruno Haible  <bruno@clisp.org>
31518
31519         Update doc regarding mingw.
31520         * doc/glibc-functions/openpty.texi: Update regarding mingw.
31521         * doc/glibc-functions/login_tty.texi: Likewise.
31522         * doc/glibc-functions/forkpty.texi: Likewise.
31523
31524 2010-04-03  Bruno Haible  <bruno@clisp.org>
31525
31526         stdlib: Avoid compilation failure of c-strtold on mingw.
31527         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
31528
31529 2010-04-03  Bruno Haible  <bruno@clisp.org>
31530
31531         locale: Make C++ tests work on Cygwin and mingw.
31532         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
31533         cannot provide the function.
31534         Reported by Simon Josefsson.
31535
31536 2010-04-03  Bruno Haible  <bruno@clisp.org>
31537
31538         localename: Port to MacOS X 10.6.
31539         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
31540         memory layout of the locales in MacOS X 10.6 as well.
31541         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
31542
31543 2010-04-02  Bruno Haible  <bruno@clisp.org>
31544
31545         gnulib-tool: Ensure that long-running tests are executed last.
31546         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
31547         running tests after the one for the other tests.
31548
31549 2010-04-02  Bruno Haible  <bruno@clisp.org>
31550
31551         gnulib-tool: Ensure the tests in the main directory are executed first.
31552         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
31553         start with the current directory.
31554
31555 2010-04-02  Bruno Haible  <bruno@clisp.org>
31556
31557         Tests for module 'havelib', moved here from GNU gettext.
31558         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
31559         modifications.
31560         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
31561         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
31562         with modifications.
31563         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
31564         modifications.
31565         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
31566         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
31567         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
31568         with modifications.
31569         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
31570         with modifications.
31571         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
31572         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
31573         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
31574         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
31575         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
31576         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
31577         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
31578         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
31579         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
31580         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
31581         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
31582         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
31583         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
31584         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
31585         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
31586         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
31587         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
31588         with modifications.
31589         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
31590         with modifications.
31591         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
31592         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
31593         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
31594         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
31595         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
31596         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
31597         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
31598         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
31599         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
31600         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
31601         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
31602         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
31603         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
31604         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
31605         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
31606         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
31607         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
31608         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
31609         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
31610         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
31611         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
31612         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
31613         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
31614         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
31615         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
31616         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
31617         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
31618         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
31619         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
31620         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
31621         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
31622         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
31623         * tests/havelib/rpathx/rpathx.c: New file, from
31624         gettext/autoconf-lib-link.
31625         * tests/havelib/rpathx/Makefile.am: New file, from
31626         gettext/autoconf-lib-link.
31627         * tests/havelib/rpathx/configure.ac: New file, from
31628         gettext/autoconf-lib-link with modifications.
31629         * tests/havelib/rpathy/rpathy.c: New file, from
31630         gettext/autoconf-lib-link.
31631         * tests/havelib/rpathy/Makefile.am: New file, from
31632         gettext/autoconf-lib-link.
31633         * tests/havelib/rpathy/configure.ac: New file, from
31634         gettext/autoconf-lib-link with modifications.
31635         * tests/havelib/rpathz/rpathz.c: New file, from
31636         gettext/autoconf-lib-link.
31637         * tests/havelib/rpathz/Makefile.am: New file, from
31638         gettext/autoconf-lib-link.
31639         * tests/havelib/rpathz/configure.ac: New file, from
31640         gettext/autoconf-lib-link with modifications.
31641         * tests/havelib/rpathlx/usex.c: New file, from
31642         gettext/autoconf-lib-link.
31643         * tests/havelib/rpathlx/Makefile.am: New file, from
31644         gettext/autoconf-lib-link.
31645         * tests/havelib/rpathlx/configure.ac: New file, from
31646         gettext/autoconf-lib-link with modifications.
31647         * tests/havelib/rpathly/usey.c: New file, from
31648         gettext/autoconf-lib-link.
31649         * tests/havelib/rpathly/Makefile.am: New file, from
31650         gettext/autoconf-lib-link.
31651         * tests/havelib/rpathly/configure.ac: New file, from
31652         gettext/autoconf-lib-link with modifications.
31653         * tests/havelib/rpathlz/usez.c: New file, from
31654         gettext/autoconf-lib-link.
31655         * tests/havelib/rpathlz/Makefile.am: New file, from
31656         gettext/autoconf-lib-link.
31657         * tests/havelib/rpathlz/configure.ac: New file, from
31658         gettext/autoconf-lib-link with modifications.
31659         * tests/havelib/rpathlyx/usey.c: New file, from
31660         gettext/autoconf-lib-link.
31661         * tests/havelib/rpathlyx/Makefile.am: New file, from
31662         gettext/autoconf-lib-link.
31663         * tests/havelib/rpathlyx/configure.ac: New file, from
31664         gettext/autoconf-lib-link with modifications.
31665         * tests/havelib/rpathlzyx/usez.c: New file, from
31666         gettext/autoconf-lib-link.
31667         * tests/havelib/rpathlzyx/Makefile.am: New file, from
31668         gettext/autoconf-lib-link.
31669         * tests/havelib/rpathlzyx/configure.ac: New file, from
31670         gettext/autoconf-lib-link with modifications.
31671         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
31672         with modifications.
31673
31674 2010-04-02  Bruno Haible  <bruno@clisp.org>
31675
31676         gnulib-tool: Create distributed built sources also for the tests.
31677         * gnulib-tool (func_create_testdir): Also generate distributed built
31678         sources in the tests directory.
31679
31680 2010-04-02  Bruno Haible  <bruno@clisp.org>
31681
31682         gnulib-tool: Obey user's environment variables.
31683         * gnulib-tool (func_create_testdir): When creating built sources,
31684         respect the environment variables for autoconf, automake, etc. given by
31685         the user.
31686
31687 2010-04-02  Bruno Haible  <bruno@clisp.org>
31688
31689         gnulib-tool: Provide the value of --m4-base to modules.
31690         * gnulib-tool (func_import, func_create_testdir): Emit a definition
31691         of gl_m4_base.
31692
31693 2010-04-02  Eric Blake  <eblake@redhat.com>
31694
31695         maint.mk: fix some fallout
31696         * NEWS: Document the incompatible change, and its effect on cfg.mk.
31697         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
31698
31699 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31700
31701         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
31702         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
31703         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
31704         (sc_cast_of_x_alloc_return_value): Likewise.
31705         (sc_cast_of_alloca_return_value): Likewise.
31706         (sc_space_tab): Likewise.
31707         (sc_prohibit_atoi_atof): Likewise.
31708         (sc_prohibit_magic_number_exit): Likewise.
31709         (sc_error_exit_success): Likewise.
31710         (sc_file_system): Likewise.
31711         (sc_prohibit_have_config_h): Likewise.
31712         (sc_require_config_h): Likewise.
31713         (sc_prohibit_HAVE_MBRTOWC): Likewise.
31714         (sc_obsolete_symbols): Likewise.
31715         (sc_changelog): Likewise.
31716         (sc_program_name): Likewise.
31717         (sc_the_the): Likewise.
31718         (sc_trailing_blank): Likewise.
31719         (sc_two_space_separator_in_usage): Likewise.
31720         (sc_useless_cpp_parens): Likewise.
31721         (sc_GPL_version): Likewise.
31722         (sc_GFDL_version): Likewise.
31723         (sc_texinfo_acronym): Likewise.
31724         (sc_prohibit_cvs_keyword): Likewise.
31725         (sc_prohibit_stat_st_blocks): Likewise.
31726         (sc_prohibit_S_IS_definition): Likewise.
31727         (sc_redundant_const): Likewise.
31728         (sc_makefile_TAB_only_indentation): Likewise.
31729         (sc_m4_quote_check): Likewise.
31730         (sc_makefile_path_separator_check): Likewise.
31731         (sc_copyright_check): Likewise.
31732         (sc_Wundef_boolean): Likewise.
31733         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
31734
31735         maint.mk: match 0 or more whitespace-before-function-call '('
31736         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
31737         that have zero or two-and-more spaces between the function name
31738         and the open parenthesis.
31739         (sc_error_message_warn_fatal): Likewise.
31740         (sc_error_message_uppercase): Likewise.
31741         (sc_error_message_period): Likewise.
31742
31743 2010-03-31  Eric Blake  <eblake@redhat.com>
31744
31745         maint.mk: check for [ as well as test
31746         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
31747         Based on a libvirt report by Matthias Bolte.
31748
31749         gnumakefile: don't squelch _version output
31750         * top/GNUmakefile (_version): Create one-shot dependency rather
31751         than using $(shell) when version must be regenerated.
31752         (_autoreconf): Run verbosely, by default.
31753
31754         sys_time: avoid compiler warnings
31755         * lib/sys_time.in.h (includes): Ensure gcc pragma is
31756         unconditional, fixing regression from 2010-03-29.
31757         Reported by Simon Josefsson.
31758
31759 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
31760
31761         maint.mk: s/_header_without_use/_sc_header_without_use/
31762         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
31763         (sc_prohibit_assert_without_use): Use the new name.
31764         (sc_prohibit_close_stream_without_use): Likewise.
31765         (sc_prohibit_getopt_without_use): Likewise.
31766         (sc_prohibit_quotearg_without_use): Likewise.
31767         (sc_prohibit_quote_without_use): Likewise.
31768         (sc_prohibit_long_options_without_use): Likewise.
31769         (sc_prohibit_inttostr_without_use): Likewise.
31770         (sc_prohibit_ignore_value_without_use): Likewise.
31771         (sc_prohibit_error_without_use): Likewise.
31772         (sc_prohibit_xalloc_without_use): Likewise.
31773         (sc_prohibit_hash_without_use): Likewise.
31774         (sc_prohibit_hash_pjw_without_use): Likewise.
31775         (sc_prohibit_safe_read_without_use): Likewise.
31776         (sc_prohibit_argmatch_without_use): Likewise.
31777         (sc_prohibit_canonicalize_without_use): Likewise.
31778         (sc_prohibit_root_dev_ino_without_use): Likewise.
31779         (sc_prohibit_openat_without_use): Likewise.
31780         (sc_prohibit_c_ctype_without_use): Likewise.
31781         (sc_prohibit_signal_without_use): Likewise.
31782         (sc_prohibit_intprops_without_use): Likewise.
31783
31784 2010-03-30  Eric Blake  <eblake@redhat.com>
31785
31786         maint: improve module indicators
31787         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
31788         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
31789         columns, and avoid extra macro expansion.
31790
31791         fdopendir: work around FreeBSD bug
31792         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
31793         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
31794         * modules/dirent (Makefile.am): Substitute it.
31795         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
31796         declaration.
31797         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
31798         fix.
31799         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31800
31801 2010-03-29  Bruno Haible  <bruno@clisp.org>
31802
31803         Emit #pragma system_header after the inclusion guard, not before.
31804         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
31805         guard that spans the entire file, not before. This enables an
31806         optimization in GCC's preprocessor.
31807         * lib/ctype.in.h: Likewise.
31808         * lib/dirent.in.h: Likewise.
31809         * lib/errno.in.h: Likewise.
31810         * lib/float.in.h: Likewise.
31811         * lib/getopt.in.h: Likewise.
31812         * lib/iconv.in.h: Likewise.
31813         * lib/langinfo.in.h: Likewise.
31814         * lib/locale.in.h: Likewise.
31815         * lib/math.in.h: Likewise.
31816         * lib/netdb.in.h: Likewise.
31817         * lib/netinet_in.in.h: Likewise.
31818         * lib/pty.in.h: Likewise.
31819         * lib/sched.in.h: Likewise.
31820         * lib/se-selinux.in.h: Likewise.
31821         * lib/search.in.h: Likewise.
31822         * lib/spawn.in.h: Likewise.
31823         * lib/stdarg.in.h: Likewise.
31824         * lib/stdint.in.h: Likewise.
31825         * lib/string.in.h: Likewise.
31826         * lib/strings.in.h: Likewise.
31827         * lib/sys_file.in.h: Likewise.
31828         * lib/sys_ioctl.in.h: Likewise.
31829         * lib/sys_time.in.h: Likewise.
31830         * lib/sys_times.in.h: Likewise.
31831         * lib/sys_utsname.in.h: Likewise.
31832         * lib/sys_wait.in.h: Likewise.
31833         * lib/sysexits.in.h: Likewise.
31834         * lib/wctype.in.h: Likewise.
31835
31836 2010-03-28  James Youngman  <jay@gnu.org>
31837
31838         save-cwd: don't leak a file descriptor when the caller execs.
31839         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
31840         saved file descriptor.
31841         * modules/save-cwd (Depends-on): Depend on cloexec.
31842
31843 2010-03-29  Bruno Haible  <bruno@clisp.org>
31844
31845         Remove vestiges of fts-lgpl module.
31846         * lib/fts_.h: Assume GNULIB_FTS is 1.
31847         * lib/fts.c: Likewise.
31848         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
31849
31850 2010-03-28  Bruno Haible  <bruno@clisp.org>
31851
31852         Fix definition of tests witness macro.
31853         * gnulib-tool (func_import): Fix definition of witness macro.
31854
31855 2010-03-28  Bruno Haible  <bruno@clisp.org>
31856
31857         Fix ioctl's protoype on glibc systems.
31858         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
31859         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
31860         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
31861         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
31862         signature. If not, arrange to replace the ioctl function.
31863         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
31864         REPLACE_IOCTL.
31865         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
31866         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
31867         Reported by Ludovic Courtès <ludo@gnu.org>.
31868
31869 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
31870
31871         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
31872         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
31873         made it so grep -r --include=GLOB* ... did not work.
31874
31875 2010-03-26  Jim Meyering  <meyering@redhat.com>
31876             Eric Blake  <eblake@redhat.com>
31877
31878         maint.mk: prohibit use of test's -o and -a operators
31879         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
31880
31881 2010-03-28  Bruno Haible  <bruno@clisp.org>
31882
31883         Remove unused GNULIB_XYZ macro definitions.
31884         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
31885         invocation.
31886
31887 2010-03-28  Bruno Haible  <bruno@clisp.org>
31888
31889         Mark privileged tests modules.
31890         * modules/idpriv-drop-tests (Status): New section.
31891         * modules/idpriv-droptemp-tests (Status): New section.
31892
31893 2010-03-28  Bruno Haible  <bruno@clisp.org>
31894
31895         Split C++ tests into separate tests modules.
31896         * modules/dirent-c++-tests: New file, extracted from
31897         modules/dirent-tests.
31898         * modules/dirent-tests: Depend on it.
31899         * modules/fcntl-h-c++-tests: New file, extracted from
31900         modules/fcntl-h-tests.
31901         * modules/fcntl-h-tests: Depend on it.
31902         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
31903         * modules/glob-tests: Depend on it.
31904         * modules/iconv-h-c++-tests: New file, extracted from
31905         modules/iconv-h-tests.
31906         * modules/iconv-h-tests: Depend on it.
31907         * modules/langinfo-c++-tests: New file, extracted from
31908         modules/langinfo-tests.
31909         * modules/langinfo-tests: Depend on it.
31910         * modules/locale-c++-tests: New file, extracted from
31911         modules/locale-tests.
31912         * modules/locale-tests: Depend on it.
31913         * modules/math-c++-tests: New file, extracted from modules/math-tests.
31914         * modules/math-tests: Depend on it.
31915         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
31916         * modules/pty-tests: Depend on it.
31917         * modules/search-c++-tests: New file, extracted from
31918         modules/search-tests.
31919         * modules/search-tests: Depend on it.
31920         * modules/signal-c++-tests: New file, extracted from
31921         modules/signal-tests.
31922         * modules/signal-tests: Depend on it.
31923         * modules/spawn-c++-tests: New file, extracted from
31924         modules/spawn-tests.
31925         * modules/spawn-tests: Depend on it.
31926         * modules/stdio-c++-tests: New file, extracted from
31927         modules/stdio-tests.
31928         * modules/stdio-tests: Depend on it.
31929         * modules/stdlib-c++-tests: New file, extracted from
31930         modules/stdlib-tests.
31931         * modules/stdlib-tests: Depend on it.
31932         * modules/string-c++-tests: New file, extracted from
31933         modules/string-tests.
31934         * modules/string-tests: Depend on it.
31935         * modules/sys_ioctl-c++-tests: New file, extracted from
31936         modules/sys_ioctl-tests.
31937         * modules/sys_ioctl-tests: Depend on it.
31938         * modules/sys_select-c++-tests: New file, extracted from
31939         modules/sys_select-tests.
31940         * modules/sys_select-tests: Depend on it.
31941         * modules/sys_socket-c++-tests: New file, extracted from
31942         modules/sys_socket-tests.
31943         * modules/sys_socket-tests: Depend on it.
31944         * modules/sys_stat-c++-tests: New file, extracted from
31945         modules/sys_stat-tests.
31946         * modules/sys_stat-tests: Depend on it.
31947         * modules/sys_time-c++-tests: New file, extracted from
31948         modules/sys_time-tests.
31949         * modules/sys_time-tests: Depend on it.
31950         * modules/time-c++-tests: New file, extracted from modules/time-tests.
31951         * modules/time-tests: Depend on it.
31952         * modules/unistd-c++-tests: New file, extracted from
31953         modules/unistd-tests.
31954         * modules/unistd-tests: Depend on it.
31955         * modules/wchar-c++-tests: New file, extracted from
31956         modules/wchar-tests.
31957         * modules/wchar-tests: Depend on it.
31958         * modules/wctype-c++-tests: New file, extracted from
31959         modules/wctype-tests.
31960         * modules/wctype-tests: Depend on it.
31961         Reported by Simon Josefsson.
31962
31963 2010-03-28  Bruno Haible  <bruno@clisp.org>
31964
31965         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
31966         * gnulib-tool (func_exists_module): New function, extracted from
31967         func_verify_module.
31968         (func_verify_module): Use it.
31969         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
31970         'foo' only if 'foo' exists.
31971         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
31972         module.
31973
31974 2010-03-28  Bruno Haible  <bruno@clisp.org>
31975
31976         gnulib-tool: Add support for special categories of tests.
31977         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
31978         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
31979         (func_usage): Document them.
31980         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
31981         inc_unportable_tests, inc_all_tests): New variables.
31982         (func_acceptable): Consider these variables.
31983         (func_modules_transitive_closure): Make it work when the 'Status' field
31984         consists of multiple words.
31985         (func_import): Store and restore the values of inc_cxx_tests,
31986         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
31987         inc_all_tests in gnulib-comp.m4.
31988         (func_create_testdir): Set inc_all_tests to true.
31989         * doc/gnulib.texi (Extra tests modules): New section.
31990         Suggested by Jim Meyering.
31991
31992 2010-03-28  Bruno Haible  <bruno@clisp.org>
31993
31994         ansi-c++-opt: Allow turning off the C++ build by default.
31995         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
31996         gl_CXX_CHOICE_DEFAULT_NO is defined.
31997         Requested by Eric Blake.
31998
31999 2010-03-28  Bruno Haible  <bruno@clisp.org>
32000
32001         unistd: Avoid #define replacements in C++ mode.
32002         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32003         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32004         setsockopt, shutdown, select): In C++, attach a warning to the function
32005         if possible, rather than #defining the symbol to a dysfunctional alias.
32006         Reported by John W. Eaton <jwe@gnu.org>.
32007
32008 2010-03-28  Bruno Haible  <bruno@clisp.org>
32009
32010         Fix link errors on mingw.
32011         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32012         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32013         $(LIBSOCKET).
32014         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32015         $(LIBSOCKET).
32016
32017 2010-03-28  Bruno Haible  <bruno@clisp.org>
32018             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32019
32020         lib-ignore: Determine different options for different compilers.
32021         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32022         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32023         Add comments.
32024         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32025         * NEWS: Mention the change.
32026
32027 2010-03-27  Bruno Haible  <bruno@clisp.org>
32028
32029         Remove unused GNULIB_XYZ macro definitions.
32030         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32031         * modules/fseek (configure.ac): Likewise.
32032         * modules/ioctl (configure.ac): Likewise.
32033         * modules/open (configure.ac): Likewise.
32034         * modules/stdlib-safer (configure.ac): Likewise.
32035
32036 2010-03-27  Bruno Haible  <bruno@clisp.org>
32037
32038         Add a remark about certain modules.
32039         * modules/malloc (Comment): New section.
32040         * modules/realloc (Comment): Likewise.
32041         * modules/sigpipe (Comment): Likewise.
32042
32043 2010-03-27  Bruno Haible  <bruno@clisp.org>
32044
32045         Resolve conflict between the two kinds of module indicators.
32046         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32047         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32048         * modules/canonicalize (configure.ac): Invoke
32049         gl_MODULE_INDICATOR_FOR_TESTS.
32050         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32051         GNULIB_XYZ.
32052         * tests/test-dirent-c++.cc: Likewise.
32053         * tests/test-dirent-safer.c: Likewise.
32054         * tests/test-dup2.c: Likewise.
32055         * tests/test-fchdir.c: Likewise.
32056         * tests/test-fcntl-h-c++.cc: Likewise.
32057         * tests/test-getopt.c: Likewise.
32058         * tests/test-getopt.h: Likewise.
32059         * tests/test-langinfo-c++.cc: Likewise.
32060         * tests/test-locale-c++.cc: Likewise.
32061         * tests/test-math-c++.cc: Likewise.
32062         * tests/test-pty-c++.cc: Likewise.
32063         * tests/test-search-c++.cc: Likewise.
32064         * tests/test-signal-c++.cc: Likewise.
32065         * tests/test-spawn-c++.cc: Likewise.
32066         * tests/test-stdio-c++.cc: Likewise.
32067         * tests/test-stdlib-c++.cc: Likewise.
32068         * tests/test-string-c++.cc: Likewise.
32069         * tests/test-sys_ioctl-c++.cc: Likewise.
32070         * tests/test-sys_select-c++.cc: Likewise.
32071         * tests/test-sys_socket-c++.cc: Likewise.
32072         * tests/test-sys_stat-c++.cc: Likewise.
32073         * tests/test-sys_time-c++.cc: Likewise.
32074         * tests/test-time-c++.cc: Likewise.
32075         * tests/test-unistd-c++.cc: Likewise.
32076         * tests/test-wchar-c++.cc: Likewise.
32077         * tests/uninorm/test-u8-nfc.c: Likewise.
32078         * tests/uninorm/test-u8-nfd.c: Likewise.
32079         * tests/uninorm/test-u8-nfkc.c: Likewise.
32080         * tests/uninorm/test-u8-nfkd.c: Likewise.
32081         * tests/uninorm/test-u16-nfc.c: Likewise.
32082         * tests/uninorm/test-u16-nfd.c: Likewise.
32083         * tests/uninorm/test-u16-nfkc.c: Likewise.
32084         * tests/uninorm/test-u16-nfkd.c: Likewise.
32085         * tests/uninorm/test-u32-nfc.c: Likewise.
32086         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32087         * tests/uninorm/test-u32-nfd.c: Likewise.
32088         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32089         * tests/uninorm/test-u32-nfkc.c: Likewise.
32090         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32091         * tests/uninorm/test-u32-nfkd.c: Likewise.
32092         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32093         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32094
32095 2010-03-27  Bruno Haible  <bruno@clisp.org>
32096
32097         Distinguish two kinds of module indicators.
32098         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32099         gl_MODULE_INDICATOR.
32100         (gl_MODULE_INDICATOR): New macro.
32101         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32102         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32103         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32104         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32105         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32106         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32107         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32108         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32109         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32110         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32111         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32112         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32114         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32115         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32116         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32117         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32118         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32119         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32120         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32121         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32122         * modules/cloexec (configure.ac): Likewise.
32123         * modules/getopt-gnu (configure.ac): Likewise.
32124         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32125         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32126         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32127         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32128
32129 2010-03-27  Bruno Haible  <bruno@clisp.org>
32130
32131         New module description field 'Comment'.
32132         * gnulib-tool: New option --extract-comment.
32133         (func_usage): Document it.
32134         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32135         (func_get_comment): New function.
32136         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32137
32138 2010-03-27  Bruno Haible  <bruno@clisp.org>
32139
32140         Addendum to 2010-02-07 commit.
32141         * gnulib-tool (func_usage): Document --extract-applicability option.
32142
32143 2010-03-27  Bruno Haible  <bruno@clisp.org>
32144
32145         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32146         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32147         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32148         rather than link errors.
32149
32150 2010-03-27  Bruno Haible  <bruno@clisp.org>
32151
32152         Avoid side effects from tests-related modules on the compilation of lib.
32153         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32154         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32155         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32156         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32157         macro.
32158         (func_import): Define a witness macro. Assign it a value that depends
32159         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32160         tests-related modules.
32161         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32162         Reported by Jim Meyering.
32163
32164 2010-03-27  Bruno Haible  <bruno@clisp.org>
32165
32166         Factorize common .m4 code.
32167         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32168         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32169         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32170         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
32171         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32172         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
32173         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
32174         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32175         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32176         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32177         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
32178         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32179         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32180         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32181         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32182         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
32183         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32184         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32185         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32186         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
32187         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
32188         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32189         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32190         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32191         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32192         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32193         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
32194         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
32195         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
32196         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32197         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32198         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32199
32200 2010-03-27  Bruno Haible  <bruno@clisp.org>
32201
32202         Fix a compilation error on Cygwin with g++ >= 4.3.
32203         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
32204         if it is undefined or if we alias it to chmod.
32205         (lstat): Don't warn about the use of this function if it is undefined
32206         or if we alias it to stat.
32207         Reported by Simon Josefsson.
32208
32209 2010-03-27  Bruno Haible  <bruno@clisp.org>
32210
32211         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
32212         * modules/getlogin (configure.ac): Update.
32213
32214         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
32215         * modules/getlogin_r (configure.ac): Update.
32216
32217         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
32218         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
32219         * modules/inet_ntop (configure.ac): Update.
32220
32221         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
32222         * modules/inet_pton (configure.ac): Update.
32223
32224         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
32225         * modules/mbslen (configure.ac): Update.
32226
32227         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
32228         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
32229         * modules/forkpty (configure.ac): Update.
32230         * modules/openpty (configure.ac): Update.
32231
32232 2010-03-26  Simon Josefsson  <simon@josefsson.org>
32233
32234         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
32235         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
32236
32237 2010-03-25  Eric Blake  <eblake@redhat.com>
32238
32239         maint: use pragma consistently across replacement headers
32240         * lib/ctype.in.h (system_header): Hoist for consistent placement.
32241         * lib/dirent.in.h (system_header): Likewise.
32242         * lib/errno.in.h (system_header): Likewise.
32243         * lib/float.in.h (system_header): Likewise.
32244         * lib/getopt.in.h (system_header): Likewise.
32245         * lib/iconv.in.h (system_header): Likewise.
32246         * lib/inttypes.in.h (system_header): Likewise.
32247         * lib/langinfo.in.h (system_header): Likewise.
32248         * lib/locale.in.h (system_header): Likewise.
32249         * lib/math.in.h (system_header): Likewise.
32250         * lib/netdb.in.h (system_header): Likewise.
32251         * lib/netinet_in.in.h (system_header): Likewise.
32252         * lib/pty.in.h (system_header): Likewise.
32253         * lib/sched.in.h (system_header): Likewise.
32254         * lib/se-selinux.in.h (system_header): Likewise.
32255         * lib/search.in.h (system_header): Likewise.
32256         * lib/spawn.in.h (system_header): Likewise.
32257         * lib/stdarg.in.h (system_header): Likewise.
32258         * lib/stdint.in.h (system_header): Likewise.
32259         * lib/string.in.h (system_header): Likewise.
32260         * lib/strings.in.h (system_header): Likewise.
32261         * lib/sys_file.in.h (system_header): Likewise.
32262         * lib/sys_ioctl.in.h (system_header): Likewise.
32263         * lib/sys_socket.in.h (system_header): Likewise.
32264         * lib/sys_times.in.h (system_header): Likewise.
32265         * lib/sys_utsname.in.h (system_header): Likewise.
32266         * lib/sys_wait.in.h (system_header): Likewise.
32267         * lib/sysexits.in.h (system_header): Likewise.
32268         * lib/unistd.in.h (system_header): Likewise.
32269         * lib/wctype.in.h (system_header): Likewise.
32270
32271         arpa/inet: fix mingw compilation warning
32272         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
32273         Reported by Matthew Bolte.
32274
32275 2010-03-25  Bruno Haible  <bruno@clisp.org>
32276
32277         Avoid collision between gnulib wrapper and libintl wrapper.
32278         * lib/printf.c (printf): Don't define if a printf wrapper is already
32279         defined in intl/printf.c.
32280         Reported by Michel Boaventura <michel@michelboaventura.com>.
32281
32282 2010-03-25  Bruno Haible  <bruno@clisp.org>
32283
32284         Use ANSI C.
32285         * lib/readutmp.h (getutent): Provide ANSI C prototype.
32286
32287 2010-03-25  Bruno Haible  <bruno@clisp.org>
32288
32289         Minor formatting changes.
32290         * lib/acosl.c: Insert space before function argument list.
32291         * lib/argz.c: Likewise.
32292         * lib/asinl.c: Likewise.
32293         * lib/expl.c: Likewise.
32294         * lib/gen-uni-tables.c: Likewise.
32295         * lib/gettext.h: Likewise.
32296         * lib/glthread/lock.h: Likewise.
32297         * lib/tanl.c: Likewise.
32298         * lib/uniname/uniname.c: Likewise.
32299         * tests/test-idpriv-drop.c: Likewise.
32300         * tests/test-idpriv-droptemp.c: Likewise.
32301         * tests/test-lock.c: Likewise.
32302         * tests/test-tls.c: Likewise.
32303         * lib/argp-help.c: Insert space before function-like macro argument
32304         list.
32305         * lib/memcmp.c: Likewise.
32306         * tests/test-base64.c: Likewise.
32307         * lib/localename.c: Insert space before sizeof's argument list.
32308         * lib/safe-alloc.h: Likewise.
32309         * lib/file-set.h: Insert space before macro argument list.
32310         * tests/test-argp.c: Likewise.
32311         * lib/argp-namefrob.h: Insert space before function parameter list.
32312         * lib/getaddrinfo.c: Likewise.
32313         * lib/netdb.in.h: Likewise.
32314         * lib/parse-duration.h: Likewise.
32315         * lib/parse-duration.c: Likewise.
32316         * lib/poll.c: Likewise.
32317         * lib/select.c: Likewise.
32318         * lib/trim.h: Likewise.
32319         * tests/test-usleep.c: Likewise.
32320         * lib/ldexpl.c: Insert space before function parameter list and before
32321         function argument list.
32322         * lib/logl.c: Likewise.
32323         * lib/sqrtl.c: Likewise.
32324         * lib/trim.c: Likewise.
32325         * lib/cosl.c: Use GNU style indentation. Insert space before function
32326         argument list.
32327         * lib/sinl.c: Likewise.
32328         * lib/tsearch.c: Insert space after 'for'.
32329         Reported by Jim Meyering.
32330
32331 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
32332
32333         * maint.mk (sc_Wundef_boolean): Check for the presence of the
32334         config header before grepping, as it's not present before
32335         autoreconf/configure are run.  Reported by Simon Josefsson.
32336
32337 2010-03-23  Bruno Haible  <bruno@clisp.org>
32338
32339         pt_chown: Make it work with automake < 1.11.
32340         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
32341         Reported by Simon Josefsson.
32342
32343 2010-03-23  Bruno Haible  <bruno@clisp.org>
32344
32345         pt_chown: Don't depend on GPLed modules.
32346         * lib/pt_chown.c: Don't include idpriv.h.
32347         (main): Don't drop privileges.
32348         * modules/pt_chown (Depends-on): Remove idpriv-drop.
32349         Reported by Simon Josefsson.
32350
32351 2010-03-24  Simon Josefsson  <simon@josefsson.org>
32352
32353         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
32354         suggestions from karl@freefriends.org (Karl Berry).
32355
32356 2010-03-22  Eric Blake  <eblake@redhat.com>
32357
32358         gethostname: further tweaks
32359         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
32360         are overriding gethostname.
32361         Suggested by Bruno Haible.
32362
32363 2010-03-21  Bruno Haible  <bruno@clisp.org>
32364
32365         Fix comments.
32366         * lib/forkpty.c (rpl_forkpty): Fix comment.
32367         * lib/openpty.c (rpl_openpty): Likewise.
32368         Reported by Eric Blake.
32369
32370 2010-03-22  Eric Blake  <eblake@redhat.com>
32371
32372         gethostname: fix build on mingw
32373         * lib/unistd.in.h (includes): Work around fact that mingw
32374         <winsock2.h> re-includes <unistd.h>, by avoiding any
32375         redeclarations if we are being included by <winsock2.h>.
32376         Reported by Matthias Bolte.
32377
32378 2010-03-21  Bruno Haible  <bruno@clisp.org>
32379
32380         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32381         * lib/forkpty.c (forkpty): New replacement function, from glibc with
32382         modifications.
32383         * lib/pty.in.h (forkpty): Update declaration. Add comments.
32384         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
32385         provide the replacement.
32386         * modules/forkpty (Depends-on): Add openpty, login_tty.
32387         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
32388         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
32389         * doc/glibc-functions/forkpty.texi: More supported platforms.
32390         * config/srclist.txt: Add forkpty.c (commented).
32391
32392 2010-03-21  Bruno Haible  <bruno@clisp.org>
32393
32394         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
32395         (Makefile.am): Verify that PTY_LIB is defined.
32396
32397         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
32398
32399 2010-03-21  Bruno Haible  <bruno@clisp.org>
32400
32401         Tests for module 'login_tty'.
32402         * modules/login_tty-tests: New file.
32403         * tests/test-login_tty.c: New file.
32404
32405         New module 'login_tty'.
32406         * lib/login_tty.c: New file.
32407         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
32408         * modules/login_tty: New file.
32409         * doc/glibc-functions/login_tty.texi: Mention the new module.
32410
32411 2010-03-21  Bruno Haible  <bruno@clisp.org>
32412
32413         login_tty: Documentation.
32414         * doc/glibc-functions/login_tty.texi: New file.
32415         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
32416
32417 2010-03-21  Bruno Haible  <bruno@clisp.org>
32418
32419         pty: Consistent macro naming.
32420         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
32421         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
32422         * modules/pty (configure.ac): Update.
32423
32424 2010-03-21  Bruno Haible  <bruno@clisp.org>
32425
32426         Tests for openpty: Make stricter.
32427         * tests/test-openpty.c (main): Add test of canonical processing and
32428         erase.
32429         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
32430
32431         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
32432         * lib/openpty.c (openpty): New replacement function.
32433         * lib/pty.in.h: Include <termios.h>.
32434         (openpty): Update declaration. Add comments.
32435         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
32436         is not declared, arrange to provide the replacement. Check for _getpty
32437         and posix_openpt.
32438         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
32439         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
32440         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
32441         * modules/pty-tests (test_pty_c___LDADD): New variable.
32442         * doc/glibc-functions/openpty.texi: More supported platforms.
32443
32444 2010-03-21  Bruno Haible  <bruno@clisp.org>
32445
32446         setenv: Tweaks.
32447         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
32448         the test program.
32449         * doc/posix-functions/setenv.texi: Update platforms list.
32450
32451 2010-03-21  Bruno Haible  <bruno@clisp.org>
32452
32453         New module 'unlockpt'.
32454         * lib/unlockpt.c: New file, from glibc with modifications.
32455         * m4/unlockpt.m4: New file.
32456         * modules/unlockpt: New file.
32457         * lib/stdlib.in.h (unlockpt): New declaration.
32458         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
32459         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
32460         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
32461         HAVE_UNLOCKPT.
32462         * doc/posix-functions/unlockpt.texi: Mention the new module.
32463         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
32464         * config/srclist.txt: Add unlockpt.c (commented).
32465
32466 2010-03-21  Jim Meyering  <meyering@redhat.com>
32467
32468         maint.mk: prohibit inclusion of "intprops.h" without use
32469         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
32470
32471 2010-03-21  Bruno Haible  <bruno@clisp.org>
32472
32473         New module 'grantpt'.
32474         * lib/grantpt.c: New file, from glibc with modifications.
32475         * m4/grantpt.m4: New file.
32476         * modules/grantpt: New file.
32477         * lib/stdlib.in.h (grantpt): New declaration.
32478         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
32479         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
32480         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
32481         HAVE_GRANTPT.
32482         * doc/posix-functions/grantpt.texi: Mention the new module.
32483         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
32484         * config/srclist.txt: Add grantpt.c (commented).
32485
32486 2010-03-21  Bruno Haible  <bruno@clisp.org>
32487
32488         New module 'pt_chown'.
32489         * lib/pt_chown.c: New file, from glibc with modifications.
32490         * lib/pty-private.h: New file, from glibc with modifications.
32491         * modules/pt_chown: New file.
32492         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
32493
32494 2010-03-21  Bruno Haible  <bruno@clisp.org>
32495
32496         Tests for module 'ptsname'.
32497         * modules/ptsname-tests: New file.
32498         * tests/test-ptsname.c: New file.
32499
32500         New module 'ptsname'.
32501         * lib/ptsname.c: New file, from glibc with modifications.
32502         * m4/ptsname.m4: New file.
32503         * modules/ptsname: New file.
32504         * lib/stdlib.in.h (ptsname): New declaration.
32505         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
32506         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
32507         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
32508         HAVE_PTSNAME.
32509         * doc/posix-functions/ptsname.texi: Mention the new module.
32510         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
32511         * config/srclist.txt: Add ptsname.c (commented).
32512
32513 2010-03-21  Bruno Haible  <bruno@clisp.org>
32514
32515         Tests for module 'ttyname_r'.
32516         * modules/ttyname_r-tests: New file.
32517         * tests/test-ttyname_r.c: New file.
32518
32519         New module 'ttyname_r'.
32520         * lib/ttyname_r.c: New file.
32521         * m4/ttyname_r.m4: New file.
32522         * modules/ttyname_r: New file.
32523         * lib/unistd.in.h (ttyname_r): New declaration.
32524         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
32525         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
32526         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
32527         HAVE_TTYNAME_R.
32528         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
32529         * doc/posix-functions/ttyname_r.texi: Mention the new module.
32530
32531 2010-03-20  Bruno Haible  <bruno@clisp.org>
32532
32533         signal: Undefine macro definitions in C++ mode.
32534         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
32535         sigfillset): Undefine macro definitions from the system header in C++
32536         mode.
32537         Reported by John W. Eaton <jwe@gnu.org>.
32538
32539 2010-03-20  Bruno Haible  <bruno@clisp.org>
32540
32541         Ensure no #include statements inside extern "C" { ... }.
32542         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
32543         contain #include statements.
32544         * lib/time.in.h: Likewise.
32545
32546 2010-03-20  Bruno Haible  <bruno@clisp.org>
32547
32548         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
32549         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
32550         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
32551         Reported by John W. Eaton <jwe@gnu.org>.
32552
32553 2010-03-20  Bruno Haible  <bruno@clisp.org>
32554
32555         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
32556         Reported by Jim Meyering.
32557
32558 2010-03-20  Bruno Haible  <bruno@clisp.org>
32559
32560         pipe: Set errno upon failure.
32561         * lib/pipe.h: Specify that when -1 is returned, errno is set.
32562         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
32563         errno value in error message.
32564
32565 2010-03-20  Bruno Haible  <bruno@clisp.org>
32566             Jim Meyering  <meyering@redhat.com>
32567
32568         lchown: Avoid "unused variable" warning.
32569         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
32570
32571 2010-03-20  Bruno Haible  <bruno@clisp.org>
32572
32573         Work around unlink() bug on MacOS X 10.5.6.
32574         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
32575         attempting to unlink a parent directory.
32576         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
32577         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
32578         activate for the replacement function.
32579         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
32580
32581 2010-03-20  Bruno Haible  <bruno@clisp.org>
32582
32583         Fix link errors on Solaris 8.
32584         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
32585         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
32586
32587 2010-03-19  Jim Meyering  <meyering@redhat.com>
32588
32589         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
32590         The _LIBC implementation of build_range_exp correctly honors the
32591         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
32592         However, the non-_LIBC implementation would ignore that syntax-bit
32593         flag and return REG_ERANGE unconditionally.
32594         This change makes it honor that flag.
32595         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
32596         Make two pointer parameters "const".
32597         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
32598         (parse_bracket_exp): Update caller.
32599
32600         regex.m4: correct the reversed range endpoint ([b-a]) test
32601         * m4/regex.m4: When requiring that [b-a] evoke failure,
32602         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
32603         test pass once again for x86-based systems.
32604
32605 2010-03-19  Bruno Haible  <bruno@clisp.org>
32606
32607         scandir: Fix link error on Solaris 8.
32608         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
32609         macros.
32610
32611 2010-03-19  Bruno Haible  <bruno@clisp.org>
32612
32613         getusershell: Fix documentation.
32614         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
32615         module.
32616         * doc/glibc-functions/setusershell.texi: Likewise.
32617
32618         getusershell: Provide declaration, missing on Solaris 9.
32619         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
32620         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
32621         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
32622         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
32623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32624         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
32625         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
32626         HAVE_GETUSERSHELL.
32627         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
32628
32629 2010-03-19  Bruno Haible  <bruno@clisp.org>
32630
32631         wctype: Provide iswblank function.
32632         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
32633         exists and is fine.
32634         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
32635         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
32636         * tests/test-wctype.c (main): Re-enable the iswblank tests.
32637         * doc/posix-functions/iswblank.texi: Update.
32638
32639 2010-03-19  Bruno Haible  <bruno@clisp.org>
32640
32641         Tests of module 'pty' in C++ mode.
32642         * modules/pty-tests: New file.
32643         * tests/test-pty-c++.cc: New file.
32644         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32645
32646 2010-03-19  Eric Blake  <eblake@redhat.com>
32647
32648         logb: fix documentation
32649         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
32650         1.5 declaration bug.
32651
32652         forkpty, openpty: prefer glibc's const-safe prototype
32653         * lib/forkpty.c (rpl_forkpty): New file.
32654         * lib/openpty.c (rpl_openpty): Likewise.
32655         * modules/forkpty (Files): Distribute it.
32656         * modules/openpty (Files): Likewise.
32657         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
32658         check...
32659         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
32660         replacement for for non-const BSD signature.
32661         * modules/pty (Makefile.am): Substitute witnesses.
32662         * lib/pty.in.h (forkpty, openpty): Declare replacements.
32663         * tests/test-forkpty.c: Update signature check.
32664         * tests/test-openpty.c: Likewise.
32665         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
32666         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32667
32668         forkpty, openpty: split functions into new modules
32669         * modules/pty (Makefile.am): Substitute new witnesses.
32670         (Libraries): Move library detection...
32671         * modules/forkpty: ...into new module.
32672         * modules/openpty: Another new module.
32673         * modules/pty-tests: Rename and split...
32674         * modules/forkpty-tests: ...to this...
32675         * modules/openpty-tests: ...and this.
32676         * tests/test-pty.c: Rename and split...
32677         * tests/test-forkpty.c: ...to this...
32678         * tests/test-openpty.c: ...and this.
32679         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
32680         (gl_PTY): Split library searching...
32681         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
32682         (gl_FORKPTY, gl_OPENPTY): New macros.
32683         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
32684         * NEWS: Mention the split.
32685         * MODULES.html.sh (Misc): Document the modules.
32686         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
32687         * doc/glibc-functions/openpty.texi (openpty): Likewise.
32688
32689         pty: improve replacement header
32690         * lib/pty.in.h: New file.
32691         * modules/pty (Files): Ship it.
32692         (Makefile.am): Always build replacement.
32693         * m4/pty.m4: Rename...
32694         * m4/pty_h.m4: ...to this.
32695         (gl_PTY): Modernize setting of witness macros; update check of
32696         forkpty to take proper advantage of cache.
32697         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
32698
32699         getopt: avoid compiler warning
32700         * lib/getopt.c (attribute_hidden): Remove unused macro.
32701
32702 2010-03-18  Bruno Haible  <bruno@clisp.org>
32703
32704         Fix link errors on Solaris 8.
32705         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
32706         * modules/search-tests (test_search_c___LDADD): Likewise.
32707         * modules/signal-tests (test_signal_c___LDADD): Likewise.
32708         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
32709         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
32710         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
32711         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
32712         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
32713         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
32714
32715 2010-03-18  Bruno Haible  <bruno@clisp.org>
32716
32717         Fix bug introduced on 2010-03-14.
32718         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
32719         (gl_SPAWN_H): Require it.
32720         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
32721         Reported by Simon Josefsson.
32722
32723 2010-03-18  Bruno Haible  <bruno@clisp.org>
32724
32725         Fix typo introduced on 2009-12-31.
32726         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
32727         posix_spawn_file_actions_adddup2.
32728
32729 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
32730         and Eric Blake  <eblake@redhat.com>
32731
32732         test-vc-list-files-git: make more robust
32733         * tests/test-vc-list-files-git.sh: Unset problematic environment
32734         variables.  Chain commands together.
32735
32736 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
32737
32738         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
32739         `AC_CHECK_DECL' invocation.
32740
32741 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
32742
32743         * lib/inttostr.c (inttostr): Make sure the invocation of verify
32744         appears before executable statements. Suggested by Petr Sumbera
32745         <Petr.Sumbera@Sun.COM>.
32746
32747 2010-03-14  Bruno Haible  <bruno@clisp.org>
32748
32749         * tests/test-flock.c (test_exclusive): Comment out a test that causes
32750         portability problems. Instead use a simpler test.
32751         (main): Check that invalid arguments are rejected only on Linux.
32752
32753 2010-03-14  Bruno Haible  <bruno@clisp.org>
32754
32755         Fix bug introduced on 2009-12-31.
32756         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
32757         gl_PREREQ_SYS_H_WINSOCK2 always.
32758         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
32759         SYS_SOCKET_H variable.
32760         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
32761         Update comments.
32762         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
32763         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
32764         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
32765         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
32766         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32767
32768 2010-03-14  Bruno Haible  <bruno@clisp.org>
32769
32770         Fix values returned by sinl, cosl.
32771         * lib/trigl.h: Add specification comments.
32772         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
32773         that combines the values from the precomputed table with the values of
32774         the Chebyshev polynomials.
32775
32776 2010-03-14  Bruno Haible  <bruno@clisp.org>
32777
32778         Fix compilation error when modules 'posix_spawn[p]' are not used.
32779         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
32780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
32781
32782 2010-03-14  Bruno Haible  <bruno@clisp.org>
32783
32784         Fix compilation error on mingw when module 'time_r' is not used.
32785         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
32786         is 1.
32787         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
32788         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
32789         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
32790         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
32791
32792 2010-03-14  Bruno Haible  <bruno@clisp.org>
32793
32794         Fix compilation error with Sun C.
32795         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
32796         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
32797         instead of GCC specific ULONG_LONG_MAX.
32798         * lib/xstrtoll.c: Likewise.
32799         * lib/xstrtoull.c: Likewise.
32800
32801 2010-03-13  Bruno Haible  <bruno@clisp.org>
32802
32803         Allow the user to disable C++ code and tests.
32804         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
32805         (gl_PROG_ANSI_CXX): Require it.
32806
32807 2010-03-13  Bruno Haible  <bruno@clisp.org>
32808
32809         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
32810         cases.
32811
32812 2010-03-13  Bruno Haible  <bruno@clisp.org>
32813
32814         Test that gnulib does not break the standard C++ headers.
32815         * tests/test-locale-c++2.cc: New file.
32816         * modules/locale-tests (Files): Add it.
32817         (Makefile.am): Compile it for test-locale-c++.
32818         * tests/test-math-c++2.cc: New file.
32819         * modules/math-tests (Files): Add it.
32820         (Makefile.am): Compile it for test-math-c++.
32821         * tests/test-signal-c++2.cc: New file.
32822         * modules/signal-tests (Files): Add it.
32823         (Makefile.am): Compile it for test-signal-c++.
32824         * tests/test-stdio-c++2.cc: New file.
32825         * modules/stdio-tests (Files): Add it.
32826         (Makefile.am): Compile it for test-stdio-c++.
32827         * tests/test-stdlib-c++2.cc: New file.
32828         * modules/stdlib-tests (Files): Add it.
32829         (Makefile.am): Compile it for test-stdlib-c++.
32830         * tests/test-string-c++2.cc: New file.
32831         * modules/string-tests (Files): Add it.
32832         (Makefile.am): Compile it for test-string-c++.
32833         * tests/test-time-c++2.cc: New file.
32834         * modules/time-tests (Files): Add it.
32835         (Makefile.am): Compile it for test-time-c++.
32836         Reported by John W. Eaton <jwe@gnu.org>.
32837
32838 2010-03-13  Bruno Haible  <bruno@clisp.org>
32839
32840         * gnulib-tool (func_usage): Clarify which options are available for
32841         --create-testdir and --create-megatestdir.
32842
32843 2010-03-13  Bruno Haible  <bruno@clisp.org>
32844
32845         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
32846         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
32847         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
32848         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
32849         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
32850         when appropriate.
32851         Reported by Jim Meyering.
32852
32853 2010-03-12  Simon Josefsson  <simon@josefsson.org>
32854
32855         * gnulib-tool (func_import): Explain origin of code.
32856
32857 2010-03-12  Bruno Haible  <bruno@clisp.org>
32858
32859         Fix problem with automake's definition of CXXLINK.
32860         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
32861         Reported by Simon Josefsson and Ludovic Courtès.
32862
32863 2010-03-12  Bruno Haible  <bruno@clisp.org>
32864
32865         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
32866         stable releases.
32867
32868 2010-03-11  Bruno Haible  <bruno@clisp.org>
32869
32870         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
32871         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
32872         whether the system provides one variant or multiple variants of the
32873         function.
32874         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
32875         C++ compilers.
32876         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
32877         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
32878         Reported by Jim Meyering.
32879
32880 2010-03-09  Simon Josefsson  <simon@josefsson.org>
32881
32882         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
32883
32884 2010-03-08  Bruno Haible  <bruno@clisp.org>
32885
32886         gnulib-tool: Add support for --libtool in --create-testdir.
32887         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
32888         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
32889
32890 2010-03-08  Eric Blake  <eblake@redhat.com>
32891
32892         gnulib-tool.texi: mention possibility of git submodule
32893         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
32894         submodules.
32895         * doc/.gitignore: Ignore another generated file.
32896
32897 2010-03-08  Karl Berry  <karl@gnu.org>
32898
32899         * doc/gnulib-tool.texi (VCS Issues): Mention third option
32900         of committing gnulib files while skipping others.
32901
32902 2010-03-07  Bruno Haible  <bruno@clisp.org>
32903
32904         Tests of module 'wctype' in C++ mode.
32905         * tests/test-wctype-c++.cc: New file.
32906         * modules/wctype-tests (Files): Add it and tests/signature.h.
32907         (Depends-on): Add ansi-c++-opt.
32908         (Makefile.am): Arrange to compile and run test-wctype-c++.
32909
32910         Tests of module 'wchar' in C++ mode.
32911         * tests/test-wchar-c++.cc: New file.
32912         * modules/wchar-tests (Files): Add it and tests/signature.h.
32913         (Depends-on): Add ansi-c++-opt.
32914         (Makefile.am): Arrange to compile and run test-wchar-c++.
32915         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
32916         gl_MODULE_INDICATOR.
32917
32918         Tests of module 'unistd' in C++ mode.
32919         * tests/test-unistd-c++.cc: New file.
32920         * modules/unistd-tests (Files): Add it and tests/signature.h.
32921         (Depends-on): Add ansi-c++-opt.
32922         (Makefile.am): Arrange to compile and run test-unistd-c++.
32923         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
32924         gl_MODULE_INDICATOR.
32925
32926         Tests of module 'time' in C++ mode.
32927         * tests/test-time-c++.cc: New file.
32928         * modules/time-tests (Files): Add it and tests/signature.h.
32929         (Depends-on): Add ansi-c++-opt.
32930         (Makefile.am): Arrange to compile and run test-time-c++.
32931         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
32932
32933         Tests of module 'sys_time' in C++ mode.
32934         * tests/test-sys_time-c++.cc: New file.
32935         * modules/sys_time-tests (Files): Add it and tests/signature.h.
32936         (Depends-on): Add ansi-c++-opt.
32937         (Makefile.am): Arrange to compile and run test-sys_time-c++.
32938         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
32939         gl_MODULE_INDICATOR.
32940
32941         Tests of module 'sys_stat' in C++ mode.
32942         * tests/test-sys_stat-c++.cc: New file.
32943         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
32944         (Depends-on): Add ansi-c++-opt.
32945         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
32946         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
32947         gl_MODULE_INDICATOR.
32948
32949         Tests of module 'sys_socket' in C++ mode.
32950         * tests/test-sys_socket-c++.cc: New file.
32951         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
32952         (Depends-on): Add ansi-c++-opt.
32953         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
32954         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
32955         gl_MODULE_INDICATOR.
32956
32957         Tests of module 'sys_select' in C++ mode.
32958         * tests/test-sys_select-c++.cc: New file.
32959         * modules/sys_select-tests (Files): Add it and tests/signature.h.
32960         (Depends-on): Add ansi-c++-opt.
32961         (Makefile.am): Arrange to compile and run test-sys_select-c++.
32962         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
32963         gl_MODULE_INDICATOR.
32964
32965         Tests of module 'sys_ioctl' in C++ mode.
32966         * tests/test-sys_ioctl-c++.cc: New file.
32967         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
32968         (Depends-on): Add ansi-c++-opt.
32969         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
32970         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
32971         gl_MODULE_INDICATOR.
32972
32973         Tests of module 'string' in C++ mode.
32974         * tests/test-string-c++.cc: New file.
32975         * modules/string-tests (Files): Add it and tests/signature.h.
32976         (Depends-on): Add ansi-c++-opt.
32977         (Makefile.am): Arrange to compile and run test-string-c++.
32978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
32979         gl_MODULE_INDICATOR.
32980
32981         Tests of module 'stdlib' in C++ mode.
32982         * tests/test-stdlib-c++.cc: New file.
32983         * modules/stdlib-tests (Files): Add it and tests/signature.h.
32984         (Depends-on): Add ansi-c++-opt.
32985         (Makefile.am): Arrange to compile and run test-stdlib-c++.
32986         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
32987         gl_MODULE_INDICATOR.
32988
32989         Tests of module 'stdio' in C++ mode.
32990         * tests/test-stdio-c++.cc: New file.
32991         * modules/stdio-tests (Files): Add it and tests/signature.h.
32992         (Depends-on): Add ansi-c++-opt.
32993         (Makefile.am): Arrange to compile and run test-stdio-c++.
32994         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
32995         gl_MODULE_INDICATOR.
32996
32997         Tests of module 'spawn' in C++ mode.
32998         * tests/test-spawn-c++.cc: New file.
32999         * modules/spawn-tests (Files): Add it and tests/signature.h.
33000         (Depends-on): Add ansi-c++-opt.
33001         (Makefile.am): Arrange to compile and run test-spawn-c++.
33002         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33003         gl_MODULE_INDICATOR.
33004
33005         Tests of module 'signal' in C++ mode.
33006         * tests/test-signal-c++.cc: New file.
33007         * modules/signal-tests (Files): Add it and tests/signature.h.
33008         (Depends-on): Add ansi-c++-opt.
33009         (Makefile.am): Arrange to compile and run test-signal-c++.
33010         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33011         gl_MODULE_INDICATOR.
33012
33013         Tests of module 'search' in C++ mode.
33014         * tests/test-search-c++.cc: New file.
33015         * modules/search-tests (Files): Add it and tests/signature.h.
33016         (Depends-on): Add ansi-c++-opt.
33017         (Makefile.am): Arrange to compile and run test-search-c++.
33018         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33019         gl_MODULE_INDICATOR.
33020
33021         Tests of module 'math' in C++ mode.
33022         * tests/test-math-c++.cc: New file.
33023         * modules/math-tests (Files): Add it and tests/signature.h.
33024         (Depends-on): Add ansi-c++-opt.
33025         (Makefile.am): Arrange to compile and run test-math-c++.
33026         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33027
33028         Tests of module 'locale' in C++ mode.
33029         * tests/test-locale-c++.cc: New file.
33030         * modules/locale-tests (Files): Add it and tests/signature.h.
33031         (Depends-on): Add ansi-c++-opt.
33032         (Makefile.am): Arrange to compile and run test-locale-c++.
33033         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33034         gl_MODULE_INDICATOR.
33035
33036         Tests of module 'langinfo' in C++ mode.
33037         * tests/test-langinfo-c++.cc: New file.
33038         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33039         (Depends-on): Add ansi-c++-opt.
33040         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33041         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33042         gl_MODULE_INDICATOR.
33043
33044         Tests of module 'iconv-h' in C++ mode.
33045         * tests/test-iconv-h-c++.cc: New file.
33046         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33047         (Depends-on): Add ansi-c++-opt.
33048         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33049
33050         Tests of module 'glob' in C++ mode.
33051         * tests/test-glob-c++.cc: New file.
33052         * modules/glob-tests (Files): Add it.
33053         (Depends-on): Add ansi-c++-opt.
33054         (Makefile.am): Arrange to compile and run test-glob-c++.
33055
33056         Tests of module 'fcntl-h' in C++ mode.
33057         * tests/test-fcntl-h-c++.cc: New file.
33058         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33059         (Depends-on): Add ansi-c++-opt.
33060         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33061         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33062         gl_MODULE_INDICATOR.
33063
33064         Tests of module 'dirent' in C++ mode.
33065         * tests/test-dirent-c++.cc: New file.
33066         * modules/dirent-tests (Files): Add it and tests/signature.h.
33067         (Depends-on): Add ansi-c++-opt.
33068         (Makefile.am): Arrange to compile and run test-dirent-c++.
33069         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33070         gl_MODULE_INDICATOR.
33071
33072         New module 'ansi-c++-opt'.
33073         * modules/ansi-c++-opt: New file.
33074         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33075
33076         Document C++ namespace mode.
33077         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33078
33079         wctype: Avoid #define replacements in C++ mode.
33080         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33081         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33082         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33083         In C++, define a namespaced alias symbol.
33084         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33085         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33086         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33087         rule.
33088
33089         wchar: Avoid #define replacements in C++ mode.
33090         * lib/wchar.in.h: Include c++defs.h.
33091         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33092         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33093         symbol.
33094         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33095         * modules/wchar (Depends-on): Add c++defs.
33096         (Makefile.am): Update wchar.h rule.
33097
33098         unistd: Avoid #define replacements in C++ mode.
33099         * lib/unistd.in.h: Include c++defs.h.
33100         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33101         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33102         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33103         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33104         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33105         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33106         symbol.
33107         (environ): Update.
33108         * modules/unistd (Depends-on): Add c++defs.
33109         (Makefile.am): Update unistd.h rule.
33110
33111         time: Avoid #define replacements in C++ mode.
33112         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33113         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33114         define a namespaced alias symbol.
33115         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33116         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33117         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33118         * modules/time (Depends-on): Add c++defs, warn-on-use.
33119         (Makefile.am): Update time.h rule.
33120         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33121         * modules/nanosleep (configure.ac): Likewise.
33122         * modules/strptime (configure.ac): Likewise.
33123         * modules/timegm (configure.ac): Likewise.
33124
33125         sys_time: Avoid #define replacements in C++ mode.
33126         * lib/sys_time.in.h: Include c++defs.h.
33127         (gettimeofday): In C++, define a namespaced alias symbol.
33128         * modules/sys_time (Depends-on): Add c++defs.
33129         (Makefile.am): Update sys/time.h rule.
33130
33131         sys_stat: Avoid #define replacements in C++ mode.
33132         * lib/sys_stat.in.h: Include c++defs.h.
33133         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33134         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33135         namespaced alias symbol.
33136         In C++, define a namespaced alias symbol.
33137         * modules/sys_stat (Depends-on): Add c++defs.
33138         (Makefile.am): Update sys/stat.h rule.
33139
33140         sys_socket: Avoid #define replacements in C++ mode.
33141         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33142         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33143         definitions also when the system has a <sys/socket.h>.
33144         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33145         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33146         In C++, define a namespaced alias symbol.
33147         * modules/sys_socket (Depends-on): Add c++defs.
33148         (Makefile.am): Update sys/socket.h rule.
33149
33150         sys_select: Avoid #define replacements in C++ mode.
33151         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33152         definitions also when the system has a <sys/select.h>.
33153         (select): In C++, define a namespaced alias symbol.
33154         * modules/sys_select (Depends-on): Add c++defs.
33155         (Makefile.am): Update sys/select.h rule.
33156
33157         sys_ioctl: Avoid #define replacements in C++ mode.
33158         * lib/sys_ioctl.in.h: Include c++defs.h.
33159         (ioctl): In C++, define a namespaced alias symbol.
33160         * modules/sys_ioctl (Depends-on): Add c++defs.
33161         (Makefile.am): Update sys/ioctl.h rule.
33162
33163         string: Avoid #define replacements in C++ mode.
33164         * lib/string.in.h: Include c++defs.h.
33165         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33166         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33167         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33168         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33169         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33170         * modules/string (Depends-on): Add c++defs.
33171         (Makefile.am): Update string.h rule.
33172
33173         stdlib: Avoid #define replacements in C++ mode.
33174         * lib/stdlib.in.h: Include c++defs.h.
33175         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
33176         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
33177         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
33178         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
33179         symbol.
33180         * modules/stdlib (Depends-on): Add c++defs.
33181         (Makefile.am): Update stdlib.h rule.
33182
33183         stdio: Avoid #define replacements in C++ mode.
33184         * lib/stdio.in.h: Include c++defs.h.
33185         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
33186         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
33187         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
33188         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
33189         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
33190         namespaced alias symbol.
33191         * modules/stdio (Depends-on): Add c++defs.
33192         (Makefile.am): Update stdio.h rule.
33193
33194         spawn: Avoid #define replacements in C++ mode.
33195         * lib/spawn.in.h: Include c++defs.h.
33196         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33197         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33198         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33199         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33200         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33201         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33202         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33203         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33204         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33205         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33206         In C++, define a namespaced alias symbol.
33207         * modules/spawn (Depends-on): Add c++defs.
33208         (Makefile.am): Update spawn.h rule.
33209
33210         signal: Avoid #define replacements in C++ mode.
33211         * lib/signal.in.h: Include c++defs.h.
33212         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33213         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
33214         namespaced alias symbol.
33215         * modules/signal (Depends-on): Add c++defs.
33216         (Makefile.am): Update signal.h rule.
33217
33218         search: Avoid #define replacements in C++ mode.
33219         * lib/search.in.h: Include c++defs.h.
33220         (_gl_search_compar_fn, _gl_search_action_fn): New types.
33221         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
33222         symbol.
33223         * modules/search (Depends-on): Add c++defs.
33224         (Makefile.am): Update search.h rule.
33225
33226         math: Avoid #define replacements in C++ mode.
33227         * lib/math.in.h: Include c++defs.h.
33228         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
33229         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
33230         trunc, truncl): In C++, define a namespaced alias symbol.
33231         * modules/math (Depends-on): Add c++defs.
33232         (Makefile.am): Update math.h rule.
33233
33234         locale: Avoid #define replacements in C++ mode.
33235         * lib/locale.in.h: Include c++defs.h.
33236         (duplocale): In C++, define a namespaced alias symbol.
33237         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
33238         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
33239         * modules/locale (Depends-on): Add c++defs.
33240         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
33241
33242         langinfo: Avoid #define replacements in C++ mode.
33243         * lib/langinfo.in.h: Include c++defs.h.
33244         (nl_langinfo): In C++, define a namespaced alias symbol.
33245         * modules/langinfo (Depends-on): Add c++defs.
33246         (Makefile.am): Update langinfo.h rule.
33247
33248         iconv-h: Avoid #define replacements in C++ mode.
33249         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
33250         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
33251         symbol.
33252         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
33253         whenever iconv is present.
33254         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
33255         (Makefile.am): Update iconv.h rule.
33256
33257         glob: Avoid #define replacements in C++ mode.
33258         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
33259         (_gl_glob_errfunc_fn): New type.
33260         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
33261         symbol.
33262         * modules/glob (Depends-on): Add c++defs, warn-on-use.
33263         (Makefile.am): Update glob.h rule.
33264
33265         fcntl-h: Avoid #define replacements in C++ mode.
33266         * lib/fcntl.in.h: Include c++defs.h.
33267         (fcntl, open, openat): In C++, define a namespaced alias symbol.
33268         * modules/fcntl-h (Depends-on): Add c++defs.
33269         (Makefile.am): Update fcntl.h rule.
33270
33271         dirent: Avoid #define replacements in C++ mode.
33272         * lib/dirent.in.h: Include c++defs.h.
33273         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
33274         namespaced alias symbol.
33275         (dirfd): Update declaration.
33276         * modules/dirent (Depends-on): Add c++defs.
33277         (Makefile.am): Update dirent.h rule.
33278
33279         ctype: Make it usable in C++ code.
33280         * lib/ctype.in.h: Include c++defs.h.
33281         (isblank): Declare as extern "C".
33282         * modules/ctype (Depends-on): Add c++defs.
33283         (Makefile.am): Update ctype.h rule.
33284
33285         New module 'c++defs'.
33286         * modules/c++defs: New file.
33287         * build-aux/c++defs.h: New file.
33288         Reported by John W. Eaton <jwe@gnu.org>.
33289
33290 2010-03-07  Bruno Haible  <bruno@clisp.org>
33291
33292         logb: Provide missing declaration for Cygwin.
33293         * lib/math.in.h (logb): New declaration.
33294         * m4/logb.m4: New file.
33295         * modules/logb (Files): Add m4/logb.m4.
33296         (Depends-on): Add math.
33297         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
33298         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
33299         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
33300         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
33301         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
33302
33303 2010-03-07  Bruno Haible  <bruno@clisp.org>
33304
33305         Fix test-cond link error.
33306         * tests/test-cond.c: Include <stdio.h>.
33307
33308 2010-03-07  Bruno Haible  <bruno@clisp.org>
33309
33310         Fix test-dirent-safer link error.
33311         * modules/dirent-safer-tests (Makefile.am): Define
33312         test_dirent_safer_LDADD.
33313
33314 2010-03-07  Bruno Haible  <bruno@clisp.org>
33315
33316         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
33317         among default module list.
33318
33319 2010-03-07  Bruno Haible  <bruno@clisp.org>
33320
33321         Fix link error on platforms with GNU libiconv.
33322         * modules/unistr/u8-strcoll-tests (Makefile): Define
33323         test_u8_strcoll_LDADD.
33324         * modules/unistr/u16-strcoll-tests (Makefile): Define
33325         test_u16_strcoll_LDADD.
33326         * modules/unistr/u32-strcoll-tests (Makefile): Define
33327         test_u32_strcoll_LDADD.
33328
33329 2010-03-07  Bruno Haible  <bruno@clisp.org>
33330
33331         Use POSIX declarations for socket functions.
33332         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
33333         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
33334         rpl_sendto): Change declaration to match POSIX.
33335         * lib/connect.c (rpl_connect): Likewise.
33336         * lib/accept.c (rpl_accept): Likewise.
33337         * lib/bind.c (rpl_bind): Likewise.
33338         * lib/getpeername.c (rpl_getpeername): Likewise.
33339         * lib/getsockname.c (rpl_getsockname): Likewise.
33340         * lib/recv.c (rpl_recv): Likewise.
33341         * lib/send.c (rpl_send): Likewise.
33342         * lib/recvfrom.c (rpl_recvfrom): Likewise.
33343         * lib/sendto.c (rpl_sendto): Likewise.
33344
33345 2010-03-06  Bruno Haible  <bruno@clisp.org>
33346
33347         Clarify access, euidaccess, faccessat.
33348         * doc/posix-functions/faccessat.texi: Mention security problem under
33349         "Other problems", not "Portability problems".
33350         * doc/posix-functions/access.texi: Likewise. Mention a related security
33351         problem.
33352         * doc/glibc-functions/euidaccess.texi: Mention security problems.
33353         * lib/euidaccess.c: Add comments about platforms.
33354         * lib/unistd.in.h (access, euidaccess): Add warnings.
33355
33356 2010-03-07  Bruno Haible  <bruno@clisp.org>
33357
33358         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
33359         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
33360         (POSIX_SPAWN_SETSCHEDULER): Likewise.
33361         (POSIX_SPAWN_USEVFORK): Define in a way that works when
33362         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33363         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
33364         declare when POSIX_SPAWN_SETSCHEDULER is zero.
33365         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
33366         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
33367         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
33368         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
33369         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
33370         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
33371         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
33372         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
33373         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
33374         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
33375         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
33376         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
33377         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
33378         Likewise.
33379         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
33380         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
33381         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
33382         Likewise.
33383         * tests/test-spawn.c (main): Make it work when
33384         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
33385
33386 2010-03-07  Bruno Haible  <bruno@clisp.org>
33387
33388         Fix incorrect Makefile.am generation in German locale.
33389         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33390         Execute sed command with character range in C locale.
33391
33392 2010-03-06  Bruno Haible  <bruno@clisp.org>
33393
33394         Tests for module 'iconv-h'.
33395         * modules/iconv-h-tests: New file.
33396         * tests/test-iconv-h.c: New file.
33397
33398         New module 'iconv-h'.
33399         * modules/iconv-h: New file.
33400         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
33401         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
33402         (configure.ac): Remove gl_ICONV_H.
33403         (Makefile.am): Remove rule for iconv.h.
33404
33405 2010-03-06  Bruno Haible  <bruno@clisp.org>
33406
33407         More consistent naming of *.m4 files.
33408         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
33409         * modules/wctype (Files): Update.
33410
33411         More consistent naming of *.m4 files.
33412         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
33413         * modules/wchar (Files): Update.
33414
33415 2010-03-06  Jim Meyering  <meyering@redhat.com>
33416
33417         euidaccess: relax license to LGPLv2+
33418         * modules/euidaccess (License): Relax to LGPLv2+.
33419
33420 2010-03-06  Bruno Haible  <bruno@clisp.org>
33421
33422         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
33423         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
33424         (Makefile.am): Augment lib_SOURCES instead.
33425
33426 2010-03-04  Jim Meyering  <meyering@redhat.com>
33427
33428         utime: remove obsolete module
33429         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
33430         unnecessary for years, and has been marked as obsolete for 10 months.
33431         * modules/utime: Remove file.
33432         * lib/utime.c: Remove file.
33433         * m4/utime.m4: Remove file.
33434         * m4/utimes-null.m4: Remove file.
33435         * doc/posix-functions/utime.texi (utime): Remove reference to
33436         the module.  Move the sole "fixed by gnulib" item into the
33437         "problems not fixed by Gnulib" list.
33438         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
33439
33440 2010-03-05  Simon Josefsson  <simon@josefsson.org>
33441
33442         * modules/exit (License): Relax license to LGPLv2+.
33443         (Status): Mark as obsolete.
33444         * NEWS: Mention deprecated 'exit' module.
33445         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
33446         of now obsolete 'exit'.
33447
33448 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33449
33450         fts-lgpl: remove unused module
33451         * modules/fts-lgpl: Remove.
33452         * MODULES.html.sh (func_all_modules): Adjust.
33453         * check-module (find_included_lib_files): Adjust.
33454         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
33455
33456 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
33457
33458         copy-acl: enhance Solaris ACL error handling
33459         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
33460         * lib/set-mode-acl.c (qset_acl): Likewise.
33461
33462 2010-03-02  Bruno Haible  <bruno@clisp.org>
33463
33464         spawn: Don't override the system defined values on FreeBSD 8.
33465         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
33466         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
33467         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
33468         if HAVE_POSIX_SPAWN is 1.
33469         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
33470
33471 2010-03-01  Bruno Haible  <bruno@clisp.org>
33472
33473         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
33474         regarding Automake.
33475
33476 2010-02-25  Bruno Haible  <bruno@clisp.org>
33477
33478         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
33479         * gnulib-tool: Define 'echo' as a function only before the ksh alias
33480         setting, not afterwards.
33481         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
33482
33483 2010-02-24  Eric Blake  <eblake@redhat.com>
33484
33485         bootstrap, git-version-gen: use timestamp
33486         * build-aux/git-version-gen (scriptversion): Force UTC.
33487         * build-aux/bootstrap (scriptversion): New variable.
33488
33489         bootstrap: allow older git
33490         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
33491         older than 1.6.4.  Requested by the libvirt project.
33492
33493 2010-02-23  Eric Blake  <eblake@redhat.com>
33494
33495         warn-on-use: work with old autoconf
33496         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
33497         AS_VAR semantics of autoconf 2.60.
33498         Reported by Bruno Haible.
33499
33500         bootstrap: improve some comments
33501         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
33502         clarification comments.
33503
33504         gettimeofday: provide correct function
33505         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
33506         when replacement is declared, otherwise provide gettimeofday.
33507         Reported by Michael Goffioul.
33508
33509 2010-02-23  Jim Meyering  <meyering@redhat.com>
33510
33511         lib-ignore: relax license to "unlimited", not LGPLv2+
33512         * modules/lib-ignore (License): Relax to "unlimited".
33513
33514 2010-02-23  Jim Meyering  <meyering@redhat.com>
33515
33516         lib-ignore: relax license to LGPLv2+
33517         * modules/lib-ignore (License): Relax to LGPLv2+.
33518
33519 2010-02-22  Eric Blake  <eblake@redhat.com>
33520
33521         lseek: avoid bash 3.2 broken pipe bug
33522         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
33523         warning from bash 3.2.
33524         Reported by Ben Pfaff, with analysis from Bruno Haible.
33525
33526         bootstrap: support non-FSF copyright holder
33527         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
33528         bootstrap.conf override of COPYRIGHT_HOLDER.
33529         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
33530
33531         bootstrap: interoperate with gettext 0.14.1
33532         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
33533
33534         bootstrap: allow for alternate submodule location
33535         * build-aux/bootstrap (gnulib_path): New variable; use instead of
33536         hardcoding submodule location.
33537         (gnulib_mk): Allow direct use of Makefile.am.
33538
33539         bootstrap: use GNULIB_SRCDIR to reduce disk usage
33540         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
33541         rather than reconfiguring where the submodule points.
33542
33543         gettimeofday: restore support for platforms that lack function
33544         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
33545         replacement if function is missing.
33546         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
33547         * modules/sys_time (Makefile.am): Substitute it.
33548         * lib/sys_time.in.h (gettimeofday): Check it.
33549         Reported by Michael Goffioul.
33550
33551 2010-02-21  Bruno Haible  <bruno@clisp.org>
33552
33553         * lib/stdio.in.h (obstack_printf): Fix typo.
33554
33555 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
33556
33557         vc-list-files: use bzr ls's -R option
33558         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
33559         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
33560
33561 2010-02-21  Jim Meyering  <meyering@redhat.com>
33562
33563         init.sh: fix EXEEXT shims to work also for names like test-prog
33564         * tests/init.sh: Re-exec a better shell, when needed.
33565         If the current shell lacks support for posix $(...), an init.sh-using
33566         test will now try to find a shell that supports that.  If EXEEXT is
33567         nonempty, we also require support for hyphen-in-alias-name and shell
33568         substitutions like ${var#glob}.  Failure to find such a shell results
33569         in a skipped test.
33570
33571 2010-02-21  Bruno Haible  <bruno@clisp.org>
33572
33573         Really work around around "broken pipe" error message from bash 3.2.
33574         * gnulib-tool (func_reset_sigpipe): Remove function.
33575         (echo): In bash 3.2, define to a function that uses printf.
33576         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
33577
33578 2010-02-20  Bruno Haible  <bruno@clisp.org>
33579
33580         Restore support for automake 1.9.6 with autoconf 2.61.
33581         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
33582         Reported by James Youngman <jay@gnu.org>.
33583
33584 2010-02-20  Bruno Haible  <bruno@clisp.org>
33585
33586         Improve *printf warning condition.
33587         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
33588         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
33589         and the function is overridden due to SIGPIPE emulation.
33590
33591 2010-02-20  Bruno Haible  <bruno@clisp.org>
33592
33593         * lib/stdio.in.h: Tweak comments.
33594
33595 2010-02-19  Bruno Haible  <bruno@clisp.org>
33596
33597         Make it easier to find modules. New gnulib-tool option '--find'.
33598         * gnulib-tool: New option --find.
33599         (func_usage): Document it.
33600         (func_sanitize_modulelist): New function, extracted from
33601         func_all_modules.
33602         (func_all_modules): Invoke it.
33603         * doc/gnulib-tool.texi (Which modules?): New node.
33604
33605 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
33606
33607         * lib/sys_select.in.h: Provide select replacement even if
33608         sys/select.h exists on a system, for Interix.
33609
33610 2010-02-18  Jim Meyering  <meyering@redhat.com>
33611
33612         init.sh: don't use $(...) just yet
33613         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
33614         to accommodate e.g., Solaris' /bin/sh.
33615
33616 2010-02-17  Bruno Haible  <bruno@clisp.org>
33617
33618         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
33619         Reported by Ludovic Courtès <ludo@gnu.org>.
33620
33621 2010-02-16  Simon Josefsson  <simon@josefsson.org>
33622
33623         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
33624         linking with -lintl.
33625
33626 2010-02-17  Simon Josefsson  <simon@josefsson.org>
33627
33628         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
33629         if not provided by the system's netdb.h.  Reported by
33630         ludo@gnu.org (Ludovic Courtès).
33631
33632 2010-02-15  Jim Meyering  <meyering@redhat.com>
33633
33634         init.sh: improve portability and efficiency
33635         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
33636         "dummy" in a for loop.
33637         Use '!', not '^' to select the complement of a character set used
33638         in a "case" statement.
33639         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
33640         Suggestions from Eric Blake.
33641
33642         init.sh: automatically accommodate programs with the .exe suffix
33643         Automatically arrange for an invocation of "prog" to execute the
33644         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
33645         may use the simpler "prog", yet still work when built on a system
33646         that requires specifying the added suffix.
33647         Do this by constructing a function named "prog" that invokes
33648         "prog.exe" for each .exe file in selected directories.
33649         * tests/init.sh (find_exe_basenames_): New function.
33650         (create_exe_shim_functions_): New function.
33651         (path_prepend_): Use it.
33652
33653         maint.mk: mark syntax-check sc_*.m rules as .PHONY
33654         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
33655         "make -t syntax-check" doesn't create a ton of sc_*.m files.
33656
33657 2010-02-14  Jim Meyering  <meyering@redhat.com>
33658
33659         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
33660         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
33661         (sc_prohibit_hash_pjw_without_use): New rule.
33662
33663         maint.mk: allow the default upload destination dir to be overridden
33664         * top/maint.mk (upload_dest_dir_): Define with a default that
33665         preserves the status quo.
33666         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
33667         Reported by Peter Simons.
33668
33669         maint.mk: prohibit inclusion of "hash.h" without_use
33670         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
33671
33672 2010-02-10  Jim Meyering  <meyering@redhat.com>
33673
33674         maint.mk: prohibit inclusion of "ignore-value.h" without_use
33675         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
33676
33677 2010-02-09  Eric Blake  <ebb9@byu.net>
33678         and Bruno Haible  <bruno@clisp.org>
33679
33680         obstack-printf-posix: ensure declaration
33681         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
33682         extracted from gl_FUNC_OBSTACK_PRINTF.
33683         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
33684         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
33685         Likewise.
33686         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
33687         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
33688         0.
33689
33690 2010-02-08  Bruno Haible  <bruno@clisp.org>
33691
33692         gnulib-tool: Fix typo in 2010-02-07 commit.
33693         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
33694         Reported by Eric Blake.
33695
33696 2010-02-07  Bruno Haible  <bruno@clisp.org>
33697
33698         gnulib-tool: Fix up caching patches.
33699         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
33700         option --no-cache. Use associative arrays when supported by the shell.
33701         (sed_comments): New variable.
33702         (modcache): Renamed from do_cache.
33703         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
33704         abbreviate unnecessarily.
33705         (have_associative): New variable.
33706         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
33707         way also for ksh and zsh.
33708         (func_init_sed_convert_to_cache_statements): New function, extracted
33709         from func_cache_lookup_module. Add support for associative arrays.
33710         Don't set the c_MODULE_cached variable here. Ignore all lines before
33711         the first field header. Remove only the final newline, not all trailing
33712         newlines. Support empty fields correctly. Limit the use of 'eval' to
33713         assignments.
33714         (func_get_description, func_get_status, func_get_notice,
33715         func_get_applicability, func_get_filelist, func_get_dependencies,
33716         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
33717         func_get_automake_snippet, func_get_include_directive,
33718         func_get_link_directive, func_get_license, func_get_maintainer):
33719         Update documentation. List the unoptimized code first. Add support for
33720         associative arrays. Limit the use of 'eval' to assignments.
33721         (func_get_applicability): Undo stylistic pessimisations.
33722         (func_get_automake_snippet, func_get_include_directive): Reduce code
33723         duplication.
33724         (func_modules_transitive_closure, func_modules_add_dummy,
33725         func_modules_notice, func_modules_to_filelist, func_add_file,
33726         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
33727         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
33728         func_create_testdir, func_create_megatestdir): Update documentation.
33729
33730 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33731
33732         * gnulib-tool (func_cache_lookup_module): Store the module name
33733         belonging to the cache variable; error out if two different
33734         module names map to the same cache variable name.
33735
33736 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33737
33738         gnulib-tool: Make caching optional.
33739         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
33740         Update matching short versions of --no-changelog.
33741         (func_usage): Update.
33742         (sed_extract_cache_prog): Renamed from ...
33743         (sed_extract_prog): ... this; revert to old extraction script.
33744         (func_get_description, func_get_status)
33745         (func_get_notice, func_get_applicability, func_get_filelist)
33746         (func_get_dependencies, func_get_autoconf_early_snippet)
33747         (func_get_autoconf_snippet, func_get_automake_snippet)
33748         (func_get_include_directive, func_get_link_directive)
33749         (func_get_license, func_get_maintainer): If $do_cache is false,
33750         use old, non-caching extraction scripts.
33751         Suggestion by Bruno Haible.
33752
33753 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33754
33755         gnulib-tool: cache module metainformation.
33756         * gnulib-tool (sed_extract_prog): Match newline before each
33757         header, and rewrite header to a shell variable suffix.
33758         (func_cache_var, func_cache_lookup_module): New functions,
33759         to turn a module name into a cache variable prefix, and to
33760         look up and cache module metainformation.
33761         (func_get_description, func_get_status)
33762         (func_get_notice, func_get_applicability, func_get_filelist)
33763         (func_get_dependencies, func_get_autoconf_early_snippet)
33764         (func_get_autoconf_snippet, func_get_automake_snippet)
33765         (func_get_include_directive, func_get_link_directive)
33766         (func_get_license, func_get_maintainer): Use
33767         func_cache_lookup_module.
33768
33769 2010-02-07  Bruno Haible  <bruno@clisp.org>
33770
33771         fnctl: Fix missing dependency.
33772         * modules/fcntl (Depends-on): Add getdtablesize.
33773         Reported by John W. Eaton <jwe@gnu.org>.
33774
33775 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33776
33777         Argp: fix recognition of short alias options.
33778
33779         * lib/argp-parse.c (convert_options): Fix improper use of
33780         `|' between character values.
33781         * tests/test-argp.c (group1_option): New alias option
33782         --read (-r).
33783         (group1_parser): Special handling for 'r'.
33784         (test15): New test case.
33785         (test_fun): Add test15.
33786         * tests/test-argp-2.sh: Update expected --help and --usage
33787         outputs.
33788
33789 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
33790
33791         * tests/test-argp.c: Fix indentation.
33792
33793 2010-02-04  Eric Blake  <ebb9@byu.net>
33794
33795         gettimeofday: expose type of second argument
33796         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
33797         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
33798         * tests/test-gettimeofday.c: Use it to silence warning.
33799         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
33800         the issue.
33801
33802 2010-02-03  Jim Meyering  <meyering@redhat.com>
33803
33804         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
33805         * lib/regcomp.c (TYPE_SIGNED): Define.
33806         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
33807
33808         regcomp.c: avoid a new -Wshadow warning
33809         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
33810
33811 2010-02-01  Jim Meyering  <meyering@redhat.com>
33812
33813         removing useless parentheses in cpp #define directives
33814         For motivation, see commit c0221df4, "define STREQ(a,b)
33815         consistently, removing useless parentheses"
33816         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
33817         * lib/mountlist.c (MNT_IGNORE): Likewise.
33818         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
33819
33820 2010-02-01  Eric Blake  <ebb9@byu.net>
33821
33822         sys_time: use link-warning
33823         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
33824         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
33825         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
33826         * modules/sys_time (Depends-on): Add warn-on-use.
33827         (Makefile.am): Always build replacement.
33828         (configure.ac): Update substitutions.
33829         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
33830         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
33831         bother with SYS_TIME_H.
33832         * modules/gettimeofday (configure.ac): Declare indicator.
33833         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
33834         in use.
33835
33836         closein-tests: silence compiler warning
33837         * tests/test-closein.c (main): Ignore fread result.
33838         * modules/closein-tests (Depends-on): Add ignore-value.
33839
33840         tests: silence warning about system return
33841         * tests/test-areadlink-with-size.c (main): Ignore system result.
33842         * tests/test-areadlink.c (main): Likewise.
33843         * tests/test-areadlinkat-with-size.c (main): Likewise.
33844         * tests/test-areadlinkat.c (main): Likewise.
33845         * tests/test-canonicalize-lgpl.c (main): Likewise.
33846         * tests/test-canonicalize.c (main): Likewise.
33847         * tests/test-chown.c (main): Likewise.
33848         * tests/test-fchownat.c (main): Likewise.
33849         * tests/test-fdutimensat.c (main): Likewise.
33850         * tests/test-fstatat.c (main): Likewise.
33851         * tests/test-futimens.c (main): Likewise.
33852         * tests/test-lchown.c (main): Likewise.
33853         * tests/test-link.c (main): Likewise.
33854         * tests/test-linkat.c (main): Likewise.
33855         * tests/test-lstat.c (main): Likewise.
33856         * tests/test-mkdir.c (main): Likewise.
33857         * tests/test-mkdirat.c (main): Likewise.
33858         * tests/test-mkfifo.c (main): Likewise.
33859         * tests/test-mkfifoat.c (main): Likewise.
33860         * tests/test-mknod.c (main): Likewise.
33861         * tests/test-readlink.c (main): Likewise.
33862         * tests/test-remove.c (main): Likewise.
33863         * tests/test-rename.c (main): Likewise.
33864         * tests/test-renameat.c (main): Likewise.
33865         * tests/test-rmdir.c (main): Likewise.
33866         * tests/test-symlink.c (main): Likewise.
33867         * tests/test-symlinkat.c (main): Likewise.
33868         * tests/test-unlink.c (main): Likewise.
33869         * tests/test-unlinkat.c (main): Likewise.
33870         * tests/test-utimens.c (main): Likewise.
33871         * tests/test-utimensat.c (main): Likewise.
33872         * modules/areadlink-tests (Depends-on): Add ignore-value.
33873         * modules/areadlink-with-size-tests (Depends-on): Likewise.
33874         * modules/areadlinkat-tests (Depends-on): Likewise.
33875         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
33876         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
33877         * modules/canonicalize-tests (Depends-on): Likewise.
33878         * modules/chown-tests (Depends-on): Likewise.
33879         * modules/fdutimensat-tests (Depends-on): Likewise.
33880         * modules/futimens-tests (Depends-on): Likewise.
33881         * modules/lchown-tests (Depends-on): Likewise.
33882         * modules/link-tests (Depends-on): Likewise.
33883         * modules/linkat-tests (Depends-on): Likewise.
33884         * modules/lstat-tests (Depends-on): Likewise.
33885         * modules/mkdir-tests (Depends-on): Likewise.
33886         * modules/mkfifo-tests (Depends-on): Likewise.
33887         * modules/mkfifoat-tests (Depends-on): Likewise.
33888         * modules/mknod-tests (Depends-on): Likewise.
33889         * modules/openat-tests (Depends-on): Likewise.
33890         * modules/readlink-tests (Depends-on): Likewise.
33891         * modules/remove-tests (Depends-on): Likewise.
33892         * modules/rename-tests (Depends-on): Likewise.
33893         * modules/renameat-tests (Depends-on): Likewise.
33894         * modules/rmdir-tests (Depends-on): Likewise.
33895         * modules/symlink-tests (Depends-on): Likewise.
33896         * modules/symlinkat-tests (Depends-on): Likewise.
33897         * modules/unlink-tests (Depends-on): Likewise.
33898         * modules/utimens-tests (Depends-on): Likewise.
33899         * modules/utimensat-tests (Depends-on): Likewise.
33900
33901 2010-01-31  Bruno Haible  <bruno@clisp.org>
33902
33903         Perform the same test for many <math.h> functions.
33904         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
33905         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
33906         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
33907         of gl_MATHFUNC.
33908         * modules/acos (configure.ac): Likewise.
33909         * modules/asin (configure.ac): Likewise.
33910         * modules/atan (configure.ac): Likewise.
33911         * modules/atan2 (configure.ac): Likewise.
33912         * modules/cbrt (configure.ac): Likewise.
33913         * modules/copysign (configure.ac): Likewise.
33914         * modules/cos (configure.ac): Likewise.
33915         * modules/cosh (configure.ac): Likewise.
33916         * modules/erf (configure.ac): Likewise.
33917         * modules/erfc (configure.ac): Likewise.
33918         * modules/exp (configure.ac): Likewise.
33919         * modules/fmod (configure.ac): Likewise.
33920         * modules/hypot (configure.ac): Likewise.
33921         * modules/j0 (configure.ac): Likewise.
33922         * modules/j1 (configure.ac): Likewise.
33923         * modules/jn (configure.ac): Likewise.
33924         * modules/lgamma (configure.ac): Likewise.
33925         * modules/log (configure.ac): Likewise.
33926         * modules/log10 (configure.ac): Likewise.
33927         * modules/log1p (configure.ac): Likewise.
33928         * modules/pow (configure.ac): Likewise.
33929         * modules/remainder (configure.ac): Likewise.
33930         * modules/sin (configure.ac): Likewise.
33931         * modules/sinh (configure.ac): Likewise.
33932         * modules/tan (configure.ac): Likewise.
33933         * modules/tanh (configure.ac): Likewise.
33934         * modules/y0 (configure.ac): Likewise.
33935         * modules/y1 (configure.ac): Likewise.
33936         * modules/yn (configure.ac): Likewise.
33937         Suggested by Paolo Bonzini.
33938
33939 2010-01-31  Bruno Haible  <bruno@clisp.org>
33940
33941         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
33942
33943 2010-01-31  Bruno Haible  <bruno@clisp.org>
33944
33945         Work around getdelim() bug on FreeBSD 8.0.
33946         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
33947         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
33948         not work.
33949         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
33950         is 1.
33951         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
33952         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
33953         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
33954         a non-zero size.
33955         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
33956
33957 2010-01-31  Bruno Haible  <bruno@clisp.org>
33958
33959         Work around getline() bug on FreeBSD 8.0.
33960         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
33961         and a non-zero size.
33962         * tests/test-getline.c (main): Likewise.
33963         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
33964         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
33965
33966 2010-01-28  Eric Blake  <ebb9@byu.net>
33967
33968         regex: fix build failure
33969         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
33970         platforms.
33971
33972 2010-01-28  Jim Meyering  <meyering@redhat.com>
33973
33974         regex: do not ignore memory allocation failure
33975         * lib/regex_internal.c (create_cd_newstate): Detect
33976         re_node_set_init_copy failure.   Extracted from glibc commit
33977         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33978
33979         regex: sync more white-space changes from libc
33980         * lib/regex_internal.c: White-space only changes.
33981         * lib/regexec.c: Likewise.
33982
33983         regex: add many uses of __attribute_warn_unused_result__
33984         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
33985         * lib/regexec.c: Likewise.
33986         Extracted from a messy glibc commit.
33987
33988         regcomp.c: spelling and merge-artifact from glibc
33989         * lib/regcomp.c: Merge remainder of glibc's
33990         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33991
33992         regcomp.c: sync white-space changes from glibc
33993         * lib/regcomp.c: Merge to accommodate white space
33994         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
33995
33996         regcomp.c: do not ignore internal return values
33997         * lib/regcomp.c: Do not ignore internal return values.
33998         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
33999         but without its white-space changes and spelling fixes.
34000
34001         regex_internal.h: define __attribute_warn_unused_result__
34002         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34003
34004         maint: add a syntax-check rule to check for vulnerable Makefile.in
34005         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34006
34007 2010-01-27  Jim Meyering  <meyering@redhat.com>
34008
34009         ncftpput-ftp: clean up spaces
34010         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34011         Remove trailing blanks.
34012
34013 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34014
34015         * build-aux/git-version-gen: Fix copyright statement.
34016         * build-aux/gnupload: Likewise.
34017         * tests/test-arcfour.c: Likewise.
34018         * tests/test-arctwo.c: Likewise.
34019         * tests/test-count-one-bits.c: Likewise.
34020         * tests/test-crc.c: Likewise.
34021         * tests/test-des.c: Likewise.
34022         * tests/test-gc-arcfour.c: Likewise.
34023         * tests/test-gc-arctwo.c: Likewise.
34024         * tests/test-gc-des.c: Likewise.
34025         * tests/test-gc-hmac-md5.c: Likewise.
34026         * tests/test-gc-hmac-sha1.c: Likewise.
34027         * tests/test-gc-md2.c: Likewise.
34028         * tests/test-gc-md4.c: Likewise.
34029         * tests/test-gc-md5.c: Likewise.
34030         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34031         * tests/test-gc-rijndael.c: Likewise.
34032         * tests/test-gc-sha1.c: Likewise.
34033         * tests/test-gc.c: Likewise.
34034         * tests/test-gethostname.c: Likewise.
34035         * tests/test-gettimeofday.c: Likewise.
34036         * tests/test-hash.c: Likewise.
34037         * tests/test-hmac-md5.c: Likewise.
34038         * tests/test-hmac-sha1.c: Likewise.
34039         * tests/test-md2.c: Likewise.
34040         * tests/test-md4.c: Likewise.
34041         * tests/test-md5.c: Likewise.
34042         * tests/test-memchr.c: Likewise.
34043         * tests/test-memchr2.c: Likewise.
34044         * tests/test-memcmp.c: Likewise.
34045         * tests/test-memmem.c: Likewise.
34046         * tests/test-memrchr.c: Likewise.
34047         * tests/test-rawmemchr.c: Likewise.
34048         * tests/test-read-file.c: Likewise.
34049         * tests/test-rijndael.c: Likewise.
34050         * tests/test-sockets.c: Likewise.
34051         * tests/test-strchrnul.c: Likewise.
34052         * tests/test-strstr.c: Likewise.
34053         * tests/test-strtod.c: Likewise.
34054         * build-aux/ncftpput-ftp: Likewise.
34055
34056 2010-01-26  Eric Blake  <ebb9@byu.net>
34057
34058         ignore-value: update recommended header name
34059         * modules/ignore-value (Include): Only use <> for headers that
34060         exist in glibc.
34061
34062 2010-01-26  Jim Meyering  <meyering@redhat.com>
34063
34064         test-userspec.c: avoid compiler warnings
34065         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34066         and "initialization discards qualifiers..." warnings.
34067         Put the first "uid" in its own scope, and make char* members "const".
34068
34069 2010-01-25  Bruno Haible  <bruno@clisp.org>
34070
34071         gnulib-tool: Make warning diagnostics consistent.
34072         * gnulib-tool (func_warning): New function.
34073         Use it everywhere where gnulib-tool produces output to stderr and it is
34074         not a fatal error.
34075
34076 2010-01-25  Bruno Haible  <bruno@clisp.org>
34077
34078         Fix test dependencies.
34079         * modules/xstrtol-tests (Depends-on): Add inttypes.
34080         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34081
34082 2010-01-25 Pádraig Brady <P@draigBrady.com>
34083
34084         syntax-check: detect incorrect boolean macro values in config.h
34085         * modules/maintainer-makefile (configure.ac): Parameterize the location
34086         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34087         The logic is from Eric Blake and the location indicated by Jim Meyering.
34088         Note the more natural CONFIG_HEADER name is prohibited by automake
34089         for backwards compatibility reasons.
34090         * top/maint.mk (sc_Wundef_boolean): New rule.
34091
34092 2010-01-25  Jim Meyering  <meyering@redhat.com>
34093
34094         bootstrap: detect MacOS 10.6's shasum, too
34095         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34096         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34097
34098 2010-01-23  Jim Meyering  <meyering@redhat.com>
34099
34100         xstrtoll: new module
34101         * modules/xstrtoll: New file.
34102         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34103         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34104         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34105         ./configure fails if you use this module and lack "long long".
34106         * modules/xstrtoll-tests: New module.
34107         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34108         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34109         new init.sh-based test framework.
34110
34111 2010-01-24  Bruno Haible  <bruno@clisp.org>
34112
34113         Tests for module 'yn'.
34114         * modules/yn-tests: New file.
34115         * tests/test-yn.c: New file.
34116
34117         Tests for module 'y1'.
34118         * modules/y1-tests: New file.
34119         * tests/test-y1.c: New file.
34120
34121         Tests for module 'y0'.
34122         * modules/y0-tests: New file.
34123         * tests/test-y0.c: New file.
34124
34125         Tests for module 'tanh'.
34126         * modules/tanh-tests: New file.
34127         * tests/test-tanh.c: New file.
34128
34129         Tests for module 'tan'.
34130         * modules/tan-tests: New file.
34131         * tests/test-tan.c: New file.
34132
34133         Tests for module 'sqrt'.
34134         * modules/sqrt-tests: New file.
34135         * tests/test-sqrt.c: New file.
34136
34137         Tests for module 'sinh'.
34138         * modules/sinh-tests: New file.
34139         * tests/test-sinh.c: New file.
34140
34141         Tests for module 'sin'.
34142         * modules/sin-tests: New file.
34143         * tests/test-sin.c: New file.
34144
34145         Tests for module 'rint'.
34146         * modules/rint-tests: New file.
34147         * tests/test-rint.c: New file.
34148
34149         Tests for module 'remainder'.
34150         * modules/remainder-tests: New file.
34151         * tests/test-remainder.c: New file.
34152
34153         Tests for module 'pow'.
34154         * modules/pow-tests: New file.
34155         * tests/test-pow.c: New file.
34156
34157         Tests for module 'nextafter'.
34158         * modules/nextafter-tests: New file.
34159         * tests/test-nextafter.c: New file.
34160
34161         Tests for module 'modf'.
34162         * modules/modf-tests: New file.
34163         * tests/test-modf.c: New file.
34164
34165         Tests for module 'logb'.
34166         * modules/logb-tests: New file.
34167         * tests/test-logb.c: New file.
34168
34169         Tests for module 'log1p'.
34170         * modules/log1p-tests: New file.
34171         * tests/test-log1p.c: New file.
34172
34173         Tests for module 'log10'.
34174         * modules/log10-tests: New file.
34175         * tests/test-log10.c: New file.
34176
34177         Tests for module 'log'.
34178         * modules/log-tests: New file.
34179         * tests/test-log.c: New file.
34180
34181         Tests for module 'lgamma'.
34182         * modules/lgamma-tests: New file.
34183         * tests/test-lgamma.c: New file.
34184
34185         Tests for module 'ldexp'.
34186         * modules/ldexp-tests: New file.
34187         * tests/test-ldexp.c: New file.
34188
34189         Tests for module 'jn'.
34190         * modules/jn-tests: New file.
34191         * tests/test-jn.c: New file.
34192
34193         Tests for module 'j1'.
34194         * modules/j1-tests: New file.
34195         * tests/test-j1.c: New file.
34196
34197         Tests for module 'j0'.
34198         * modules/j0-tests: New file.
34199         * tests/test-j0.c: New file.
34200
34201         Tests for module 'hypot'.
34202         * modules/hypot-tests: New file.
34203         * tests/test-hypot.c: New file.
34204
34205         Tests for module 'fmod'.
34206         * modules/fmod-tests: New file.
34207         * tests/test-fmod.c: New file.
34208
34209         Tests for module 'fabs'.
34210         * modules/fabs-tests: New file.
34211         * tests/test-fabs.c: New file.
34212
34213         Tests for module 'exp'.
34214         * modules/exp-tests: New file.
34215         * tests/test-exp.c: New file.
34216
34217         Tests for module 'erfc'.
34218         * modules/erfc-tests: New file.
34219         * tests/test-erfc.c: New file.
34220
34221         Tests for module 'erf'.
34222         * modules/erf-tests: New file.
34223         * tests/test-erf.c: New file.
34224
34225         Tests for module 'cosh'.
34226         * modules/cosh-tests: New file.
34227         * tests/test-cosh.c: New file.
34228
34229         Tests for module 'cos'.
34230         * modules/cos-tests: New file.
34231         * tests/test-cos.c: New file.
34232
34233         Tests for module 'copysign'.
34234         * modules/copysign-tests: New file.
34235         * tests/test-copysign.c: New file.
34236
34237         Tests for module 'cbrt'.
34238         * modules/cbrt-tests: New file.
34239         * tests/test-cbrt.c: New file.
34240
34241         Tests for module 'atan2'.
34242         * modules/atan2-tests: New file.
34243         * tests/test-atan2.c: New file.
34244
34245         Tests for module 'atan'.
34246         * modules/atan-tests: New file.
34247         * tests/test-atan.c: New file.
34248
34249         Tests for module 'asin'.
34250         * modules/asin-tests: New file.
34251         * tests/test-asin.c: New file.
34252
34253         Tests for module 'acos'.
34254         * modules/acos-tests: New file.
34255         * tests/test-acos.c: New file.
34256
34257 2010-01-24  Bruno Haible  <bruno@clisp.org>
34258
34259         Fix tests for common <math.h> functions.
34260         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
34261         code snippet that references the function pointer, rather than merely
34262         calling the function. Substitute the FUNC_LIBM variable.
34263         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
34264         * modules/acos (configure.ac): Likewise.
34265         * modules/asin (configure.ac): Likewise.
34266         * modules/atan (configure.ac): Likewise.
34267         * modules/atan2 (configure.ac): Likewise.
34268         * modules/cbrt (configure.ac): Likewise.
34269         * modules/copysign (configure.ac): Likewise.
34270         * modules/cos (configure.ac): Likewise.
34271         * modules/cosh (configure.ac): Likewise.
34272         * modules/erf (configure.ac): Likewise.
34273         * modules/erfc (configure.ac): Likewise.
34274         * modules/exp (configure.ac): Likewise.
34275         * modules/fabs (configure.ac): Likewise.
34276         * modules/fmod (configure.ac): Likewise.
34277         * modules/hypot (configure.ac): Likewise.
34278         * modules/j0 (configure.ac): Likewise.
34279         * modules/j1 (configure.ac): Likewise.
34280         * modules/jn (configure.ac): Likewise.
34281         * modules/ldexp (configure.ac): Likewise.
34282         * modules/lgamma (configure.ac): Likewise.
34283         * modules/log (configure.ac): Likewise.
34284         * modules/log10 (configure.ac): Likewise.
34285         * modules/log1p (configure.ac): Likewise.
34286         * modules/logb (configure.ac): Likewise.
34287         * modules/modf (configure.ac): Likewise.
34288         * modules/nextafter (configure.ac): Likewise.
34289         * modules/pow (configure.ac): Likewise.
34290         * modules/remainder (configure.ac): Likewise.
34291         * modules/rint (configure.ac): Likewise.
34292         * modules/sin (configure.ac): Likewise.
34293         * modules/sinh (configure.ac): Likewise.
34294         * modules/tan (configure.ac): Likewise.
34295         * modules/tanh (configure.ac): Likewise.
34296         * modules/y0 (configure.ac): Likewise.
34297         * modules/y1 (configure.ac): Likewise.
34298         * modules/yn (configure.ac): Likewise.
34299
34300 2010-01-24  Bruno Haible  <bruno@clisp.org>
34301
34302         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
34303         * tests/test-acosl.c (x): New variable.
34304         (main): Store argument in x and fetch it from x.
34305         * tests/test-asinl.c (x): New variable.
34306         (main): Store argument in x and fetch it from x.
34307         * tests/test-atanl.c (x): New variable.
34308         (main): Store argument in x and fetch it from x.
34309         * tests/test-cosl.c (x): New variable.
34310         (main): Store argument in x and fetch it from x.
34311         * tests/test-expl.c (x): New variable.
34312         (main): Store argument in x and fetch it from x.
34313         * tests/test-logl.c (x): New variable.
34314         (main): Store argument in x and fetch it from x.
34315         * tests/test-sinl.c (x): New variable.
34316         (main): Store argument in x and fetch it from x.
34317         * tests/test-sqrtl.c (x): New variable.
34318         (main): Store argument in x and fetch it from x.
34319         * tests/test-tanl.c (x): New variable.
34320         (main): Store argument in x and fetch it from x.
34321
34322 2010-01-24  Bruno Haible  <bruno@clisp.org>
34323
34324         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
34325         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
34326         assignments to the initial TESTS_ENVIRONMENT.
34327         * doc/gnulib.texi (Unit test modules): Document it.
34328         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
34329         TESTS_ENVIRONMENT.
34330         * modules/btowc-tests (Makefile.am): Likewise.
34331         * modules/c-stack-tests (Makefile.am): Likewise.
34332         * modules/c-strcase-tests (Makefile.am): Likewise.
34333         * modules/copy-file-tests (Makefile.am): Likewise.
34334         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
34335         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
34336         * modules/mbrtowc-tests (Makefile.am): Likewise.
34337         * modules/mbscasecmp-tests (Makefile.am): Likewise.
34338         * modules/mbscasestr-tests (Makefile.am): Likewise.
34339         * modules/mbschr-tests (Makefile.am): Likewise.
34340         * modules/mbscspn-tests (Makefile.am): Likewise.
34341         * modules/mbsinit-tests (Makefile.am): Likewise.
34342         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
34343         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
34344         * modules/mbspbrk-tests (Makefile.am): Likewise.
34345         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
34346         * modules/mbsrchr-tests (Makefile.am): Likewise.
34347         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
34348         * modules/mbsspn-tests (Makefile.am): Likewise.
34349         * modules/mbsstr-tests (Makefile.am): Likewise.
34350         * modules/nl_langinfo-tests (Makefile.am): Likewise.
34351         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
34352         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
34353         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
34354         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
34355         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
34356         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
34357         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
34358         * modules/wcrtomb-tests (Makefile.am): Likewise.
34359         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
34360         * modules/wcsrtombs-tests (Makefile.am): Likewise.
34361         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
34362         assignments from TESTS_ENVIRONMENT.
34363         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
34364         augmentation.
34365         * modules/argp-version-etc-tests (Makefile.am): Likewise.
34366         * modules/atexit-tests (Makefile.am): Likewise.
34367         * modules/binary-io-tests (Makefile.am): Likewise.
34368         * modules/closein-tests (Makefile.am): Likewise.
34369         * modules/dprintf-posix-tests (Makefile.am): Likewise.
34370         * modules/exclude-tests (Makefile.am): Likewise.
34371         * modules/fflush-tests (Makefile.am): Likewise.
34372         * modules/fpending-tests (Makefile.am): Likewise.
34373         * modules/fprintf-posix-tests (Makefile.am): Likewise.
34374         * modules/freadahead-tests (Makefile.am): Likewise.
34375         * modules/freadptr-tests (Makefile.am): Likewise.
34376         * modules/freadseek-tests (Makefile.am): Likewise.
34377         * modules/fseek-tests (Makefile.am): Likewise.
34378         * modules/fseeko-tests (Makefile.am): Likewise.
34379         * modules/ftell-tests (Makefile.am): Likewise.
34380         * modules/ftello-tests (Makefile.am): Likewise.
34381         * modules/idpriv-drop-tests (Makefile.am): Likewise.
34382         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
34383         * modules/lseek-tests (Makefile.am): Likewise.
34384         * modules/parse-duration-tests (Makefile.am): Likewise.
34385         * modules/perror-tests (Makefile.am): Likewise.
34386         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
34387         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
34388         * modules/pipe-tests (Makefile.am): Likewise.
34389         * modules/pread-tests (Makefile.am): Likewise.
34390         * modules/printf-posix-tests (Makefile.am): Likewise.
34391         * modules/select-tests (Makefile.am): Likewise.
34392         * modules/sigpipe-tests (Makefile.am): Likewise.
34393         * modules/tsearch-tests (Makefile.am): Likewise.
34394         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
34395         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
34396         * modules/uniname/uniname-tests (Makefile.am): Likewise.
34397         * modules/uniwidth/width-tests (Makefile.am): Likewise.
34398         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
34399         * modules/version-etc-tests (Makefile.am): Likewise.
34400         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
34401         * modules/vprintf-posix-tests (Makefile.am): Likewise.
34402         * modules/xalloc-die-tests (Makefile.am): Likewise.
34403         * modules/xprintf-posix-tests (Makefile.am): Likewise.
34404         * modules/xstrtoimax-tests (Makefile.am): Likewise.
34405         * modules/xstrtol-tests (Makefile.am): Likewise.
34406         * modules/xstrtoumax-tests (Makefile.am): Likewise.
34407         * modules/yesno-tests (Makefile.am): Likewise.
34408         Suggested by Jim Meyering.
34409
34410 2010-01-24  Bruno Haible  <bruno@clisp.org>
34411
34412         More documentation.
34413         * doc/gnulib.texi (Writing modules): New chapter.
34414         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
34415         the new chapter.
34416
34417 2010-01-24  Jim Meyering  <meyering@redhat.com>
34418
34419         maint.mk: do not prepend "./" after filtering
34420         * top/maint.mk (_prepend_srcdir_prefix): New variable
34421         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
34422         "./" when $(srcdir) is ".".
34423
34424         define STREQ(a,b) consistently, removing useless parentheses
34425         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
34426         since the only risk is that "a" or "b" contains an unparenthesized
34427         comma, but if either did that, STREQ would have 3 or more arguments.
34428         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
34429         * lib/fts.c (STREQ): Remove unnecessary parentheses.
34430         * lib/hash-triple.c (STREQ): Likewise.
34431         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
34432         * lib/getugroups.c (STREQ): Likewise.
34433
34434 2010-01-23  Jim Meyering  <meyering@redhat.com>
34435
34436         maint.mk: fix syntax-check in a non-srcdir build directory
34437         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
34438         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
34439
34440 2010-01-22  Jim Meyering  <meyering@redhat.com>
34441
34442         userspec: add unit tests
34443         * tests/test-userspec.c: New file.
34444         * modules/userspec-tests: Likewise.
34445
34446 2010-01-21  Jim Meyering  <meyering@redhat.com>
34447
34448         maint.mk: handle source file names containing "." robustly
34449         * top/maint.mk (_dot_escaped_srcdir): Define.
34450         (VC_LIST): Use it in LHS of sed substitution.
34451
34452 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
34453
34454         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
34455         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
34456         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
34457         from a non-srcdir build.
34458
34459 2010-01-20  Eric Blake  <ebb9@byu.net>
34460
34461         warn-on-use: use instead of link-warning
34462         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
34463         * modules/unistd (Depends-on, Makefile.am): Likewise.
34464         * modules/arpa_inet (Depends-on): Replace link-warning with
34465         warn-on-use.
34466         (Makefile.am): Update rules accordingly.
34467         * modules/ctype (Depends-on, Makefile.am): Likewise.
34468         * modules/dirent (Depends-on, Makefile.am): Likewise.
34469         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
34470         * modules/inttypes (Depends-on, Makefile.am): Likewise.
34471         * modules/langinfo (Depends-on, Makefile.am): Likewise.
34472         * modules/locale (Depends-on, Makefile.am): Likewise.
34473         * modules/math (Depends-on, Makefile.am): Likewise.
34474         * modules/search (Depends-on, Makefile.am): Likewise.
34475         * modules/signal (Depends-on, Makefile.am): Likewise.
34476         * modules/spawn (Depends-on, Makefile.am): Likewise.
34477         * modules/stdlib (Depends-on, Makefile.am): Likewise.
34478         * modules/string (Depends-on, Makefile.am): Likewise.
34479         * modules/strings (Depends-on, Makefile.am): Likewise.
34480         * modules/sys_file (Depends-on, Makefile.am): Likewise.
34481         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
34482         * modules/sys_select (Depends-on, Makefile.am): Likewise.
34483         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
34484         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
34485         * modules/sys_times (Depends-on, Makefile.am): Likewise.
34486         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
34487         * modules/wchar (Depends-on, Makefile.am): Likewise.
34488         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
34489         should be poisoned.
34490         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
34491         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
34492         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
34493         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34494         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34495         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
34496         * m4/math_h.m4 (gl_MATH_H): Likewise.
34497         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
34498         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
34499         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
34500         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
34501         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
34502         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
34503         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34504         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
34505         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
34506         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34507         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34508         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
34509         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34510         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34511         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
34512         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
34513         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
34514         GL_LINK_WARNING.
34515         * lib/ctype.in.h: Likewise.
34516         * lib/dirent.in.h: Likewise.
34517         * lib/fcntl.in.h: Likewise.
34518         * lib/inttypes.in.h: Likewise.
34519         * lib/langinfo.in.h: Likewise.
34520         * lib/locale.in.h: Likewise.
34521         * lib/math.in.h: Likewise.
34522         * lib/search.in.h: Likewise.
34523         * lib/signal.in.h: Likewise.
34524         * lib/spawn.in.h: Likewise.
34525         * lib/stdio.in.h: Likewise.
34526         * lib/stdlib.in.h: Likewise.
34527         * lib/string.in.h: Likewise.
34528         * lib/strings.in.h: Likewise.
34529         * lib/sys_file.in.h: Likewise.
34530         * lib/sys_ioctl.in.h: Likewise.
34531         * lib/sys_select.in.h: Likewise.
34532         * lib/sys_socket.in.h: Likewise.
34533         * lib/sys_stat.in.h: Likewise.
34534         * lib/sys_times.in.h: Likewise.
34535         * lib/sys_utsname.in.h: Likewise.
34536         * lib/unistd.in.h: Likewise.
34537         * lib/wchar.in.h: Likewise.
34538
34539 2010-01-20  Bruno Haible  <bruno@clisp.org>
34540
34541         Avoid duplicate -lm.
34542         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
34543         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
34544         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
34545         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
34546         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
34547         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
34548         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
34549         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
34550         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
34551         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
34552         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
34553         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
34554         Reported by Paolo Bonzini.
34555
34556 2010-01-19  Bruno Haible  <bruno@clisp.org>
34557
34558         langinfo, nl_langinfo: Relicense under LGPLv2+.
34559         * modules/langinfo (License): Change to LGPLv2+.
34560         * modules/nl_langinfo (License): Likewise.
34561         Patch by David Lutterkort <lutter@redhat.com>.
34562
34563 2010-01-19  Bruno Haible  <bruno@clisp.org>
34564
34565         Avoid compilation error with cc on OSF/1 5.1.
34566         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
34567         statement, not before.
34568         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34569
34570 2010-01-18  Bruno Haible  <bruno@clisp.org>
34571
34572         Avoid a link error due to the __printf__ symbol.
34573         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
34574         and 2.6.x.
34575         (__format__, __printf__): Remove definitions.
34576         * lib/argp-fmtstream.h: Likewise.
34577         * lib/argp.h: Likewise.
34578         * lib/error.h: Likewise.
34579         * lib/vasnprintf.h: Likewise.
34580         * lib/xprintf.h: Likewise.
34581         * lib/xvasprintf.h: Likewise.
34582         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34583
34584 2010-01-18  Bruno Haible  <bruno@clisp.org>
34585
34586         Tests for module 'tanl'.
34587         * modules/tanl-tests: New file.
34588         * tests/test-tanl.c: New file.
34589
34590         Tests for module 'sqrtl'.
34591         * modules/sqrtl-tests: New file.
34592         * tests/test-sqrtl.c: New file.
34593
34594         Tests for module 'sinl'.
34595         * modules/sinl-tests: New file.
34596         * tests/test-sinl.c: New file.
34597
34598         Tests for module 'logl'.
34599         * modules/logl-tests: New file.
34600         * tests/test-logl.c: New file.
34601
34602         Tests for module 'expl'.
34603         * modules/expl-tests: New file.
34604         * tests/test-expl.c: New file.
34605
34606         Tests for module 'cosl'.
34607         * modules/cosl-tests: New file.
34608         * tests/test-cosl.c: New file.
34609
34610         Tests for module 'atanl'.
34611         * modules/atanl-tests: New file.
34612         * tests/test-atanl.c: New file.
34613
34614         Tests for module 'asinl'.
34615         * modules/asinl-tests: New file.
34616         * tests/test-asinl.c: New file.
34617
34618         Tests for module 'acosl'.
34619         * modules/acosl-tests: New file.
34620         * tests/test-acosl.c: New file.
34621
34622         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34623         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
34624         tanl): Use the standard gnulib idiom.
34625         * lib/cosl.c: Don't include trigl.c and sincosl.c.
34626         * lib/sinl.c: Likewise.
34627         * lib/tanl.c: Don't include trigl.c.
34628         (kernel_tanl): Make static.
34629         * lib/sincosl.c: Include trigl.h first.
34630         * lib/trigl.c: Likewise.
34631         * m4/acosl.m4: New file.
34632         * m4/asinl.m4: New file.
34633         * m4/atanl.m4: New file.
34634         * m4/cosl.m4: New file.
34635         * m4/expl.m4: New file.
34636         * m4/logl.m4: New file.
34637         * m4/sinl.m4: New file.
34638         * m4/sqrtl.m4: New file.
34639         * m4/tanl.m4: New file.
34640         * m4/mathl.m4: Remove file.
34641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
34642         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
34643         Don't initialize GNULIB_MATHL.
34644         * modules/acosl: New file.
34645         * modules/asinl: New file.
34646         * modules/atanl: New file.
34647         * modules/cosl: New file.
34648         * modules/expl: New file.
34649         * modules/logl: New file.
34650         * modules/sinl: New file.
34651         * modules/sqrtl: New file.
34652         * modules/tanl: New file.
34653         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
34654         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
34655         substitute GNULIB_MATHL.
34656         * modules/mathl: Rewritten.
34657         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
34658         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
34659         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
34660         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
34661         * doc/posix-functions/expl.texi: Mention the 'expl' module.
34662         * doc/posix-functions/logl.texi: Mention the 'logl' module.
34663         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
34664         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
34665         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
34666
34667 2010-01-18  Bruno Haible  <bruno@clisp.org>
34668
34669         sqrt: Make gl_FUNC_SQRT requirable.
34670         * m4/sqrt.m4: New file.
34671         * modules/sqrt (Files): Add it.
34672         (configure.ac): Invoke gl_FUNC_SQRT.
34673
34674 2010-01-18  Bruno Haible  <bruno@clisp.org>
34675
34676         New modules for common <math.h> functions.
34677         * m4/mathfunc.m4: New file.
34678         * modules/acos: New file.
34679         * modules/asin: New file.
34680         * modules/atan: New file.
34681         * modules/atan2: New file.
34682         * modules/cbrt: New file.
34683         * modules/copysign: New file.
34684         * modules/cos: New file.
34685         * modules/cosh: New file.
34686         * modules/erf: New file.
34687         * modules/erfc: New file.
34688         * modules/exp: New file.
34689         * modules/fabs: New file.
34690         * modules/fmod: New file.
34691         * modules/hypot: New file.
34692         * modules/j0: New file.
34693         * modules/j1: New file.
34694         * modules/jn: New file.
34695         * modules/ldexp: New file.
34696         * modules/lgamma: New file.
34697         * modules/log: New file.
34698         * modules/log10: New file.
34699         * modules/log1p: New file.
34700         * modules/logb: New file.
34701         * modules/modf: New file.
34702         * modules/nextafter: New file.
34703         * modules/pow: New file.
34704         * modules/remainder: New file.
34705         * modules/rint: New file.
34706         * modules/sin: New file.
34707         * modules/sinh: New file.
34708         * modules/sqrt: New file.
34709         * modules/tan: New file.
34710         * modules/tanh: New file.
34711         * modules/y0: New file.
34712         * modules/y1: New file.
34713         * modules/yn: New file.
34714         * doc/posix-functions/acos.texi: Mention the 'acos' module.
34715         * doc/posix-functions/asin.texi: Mention the 'asin' module.
34716         * doc/posix-functions/atan.texi: Mention the 'atan' module.
34717         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
34718         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
34719         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
34720         * doc/posix-functions/cos.texi: Mention the 'cos' module.
34721         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
34722         * doc/posix-functions/erf.texi: Mention the 'erf' module.
34723         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
34724         * doc/posix-functions/exp.texi: Mention the 'exp' module.
34725         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
34726         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
34727         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
34728         * doc/posix-functions/j0.texi: Mention the 'j0' module.
34729         * doc/posix-functions/j1.texi: Mention the 'j1' module.
34730         * doc/posix-functions/jn.texi: Mention the 'jn' module.
34731         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
34732         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
34733         * doc/posix-functions/log.texi: Mention the 'log' module.
34734         * doc/posix-functions/log10.texi: Mention the 'log10' module.
34735         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
34736         * doc/posix-functions/logb.texi: Mention the 'logb' module.
34737         * doc/posix-functions/modf.texi: Mention the 'modf' module.
34738         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
34739         * doc/posix-functions/pow.texi: Mention the 'pow' module.
34740         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
34741         * doc/posix-functions/rint.texi: Mention the 'rint' module.
34742         * doc/posix-functions/sin.texi: Mention the 'sin' module.
34743         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
34744         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
34745         * doc/posix-functions/tan.texi: Mention the 'tan' module.
34746         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
34747         * doc/posix-functions/y0.texi: Mention the 'y0' module.
34748         * doc/posix-functions/y1.texi: Mention the 'y1' module.
34749         * doc/posix-functions/yn.texi: Mention the 'yn' module.
34750
34751 2010-01-18  Jim Meyering  <meyering@redhat.com>
34752
34753         ignore-value: relax license to LGPLv2+
34754         * modules/ignore-value (License): Relax to LGPLv2+.
34755
34756         getdate: don't leak when TZ contains two or more '"'s
34757         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
34758         double quote in TZ after the first one.
34759
34760         readtokens: do not leak internal token_lengths buffer
34761         * lib/readtokens.c (readtokens): Free the local, lengths,
34762         when the supplied "token_lengths" parameter is NULL.
34763
34764 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34765
34766         Fix a couple of missing LIBTHREAD link failures on AIX.
34767         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
34768         $(LIBTHREAD).
34769         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
34770
34771         Link test-poll against INET_PTON_LIB.
34772         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
34773         for inet_pton on Solaris 10.
34774
34775 2010-01-17  Bruno Haible  <bruno@clisp.org>
34776
34777         unistdio/*-sprintf: Fix typo in module description.
34778         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
34779         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
34780         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
34781         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
34782         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
34783         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
34784         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
34785         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34786
34787 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34788
34789         gnulib-tool: fix filelist for AIX, HP-UX ksh.
34790         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
34791         variables in shell case patterns, for AIX and HP-UX ksh.
34792
34793         Split large sed scripts, for HP-UX sed.
34794         * modules/stdio: Split sed scripts around 50 sed commands,
34795         to avoid HP-UX limit of 99 commands, in the near future.
34796         * modules/string: Likewise.
34797         * modules/unistd: Likewise.
34798
34799         gnulib-tool: avoid writing in the current directory.
34800         * gnulib-tool (func_emit_lib_Makefile_am)
34801         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
34802         not in the current directory, so concurrent gnulib-tool
34803         instances do not interfere.
34804
34805 2010-01-16  Jim Meyering  <meyering@redhat.com>
34806
34807         doc: update users.txt
34808         * users.txt: Add grep.
34809         (diffutils, gzip): Update URLs.
34810
34811 2010-01-12  Bruno Haible  <bruno@clisp.org>
34812
34813         posix_spawn: Avoid test failure on Cygwin.
34814         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
34815         characters.
34816         Reported by Simon Josefsson.
34817
34818 2010-01-12  Bruno Haible  <bruno@clisp.org>
34819
34820         * tests/test-cond.c (main): When skipping the test, show the reason.
34821
34822 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34823
34824         * lib/striconv.c (str_cd_iconv): Avoid if before free.
34825
34826 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34827
34828         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
34829         VC_LIST_ALWAYS_EXCLUDE_REGEX.
34830
34831 2010-01-12  Eric Blake  <ebb9@byu.net>
34832
34833         build: guarantee AS_VAR_IF
34834         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
34835         (gl_AS_VAR_IF): Move...
34836         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
34837         Reported by Simon Josefsson.
34838
34839 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34840
34841         * lib/stdio.in.h: Fix typo.
34842
34843 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34844
34845         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
34846         libgpg-error.
34847
34848 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34849
34850         * tests/test-xalloc-die.sh: Use $EXEEXT.
34851
34852 2010-01-12  Simon Josefsson  <simon@josefsson.org>
34853             Bruno Haible  <bruno@clisp.org>
34854
34855         getlogin, getlogin_r: Avoid test failure.
34856         * tests/test-getlogin.c: Include <stdio.h>.
34857         (main): Skip the test when the function fails because stdin is not a
34858         tty.
34859         * tests/test-getlogin_r.c: Include <stdio.h>.
34860         (main): Skip the test when the function fails because stdin is not a
34861         tty.
34862
34863 2010-01-11  Eric Blake  <ebb9@byu.net>
34864
34865         tests: avoid more large file warnings
34866         * tests/test-fflush.c: Avoid warning about ftell use.
34867         * tests/test-fseek.c: Avoid warning about fseek use.
34868
34869 2010-01-10  Bruno Haible  <bruno@clisp.org>
34870
34871         nproc: Work better on Linux when /proc and /sys are not mounted.
34872         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
34873         as lower bound when, on glibc/Linux systems,
34874         sysconf (_SC_NPROCESSORS_CONF) returns 1.
34875         Suggested by Pádraig Brady <P@draigbrady.com>.
34876         Reported by Dmitry V. Levin <ldv@altlinux.org>.
34877
34878         nproc: Refactor.
34879         * lib/nproc.c (num_processors_via_affinity_mask): New function,
34880         extracted from num_processors.
34881         (num_processors): Call it.
34882
34883 2010-01-11  Jim Meyering  <meyering@redhat.com>
34884
34885         utimecmp: avoid new warning from upcoming gcc-4.5.0
34886         * lib/utimecmp.c (BILLION): Define using #define rather than an
34887         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
34888
34889 2010-01-11  Eric Blake  <ebb9@byu.net>
34890
34891         math: add portability warnings for classification macros
34892         * modules/math (Depends-on): Add warn-on-use.
34893         (Makefile.am): Provide new substitutions.
34894         * m4/math_h.m4 (gl_MATH_H): Require inline.
34895         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
34896         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
34897         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
34898         implement warnings.
34899
34900         unistd: warn on use of environ without module
34901         * modules/unistd (Depends-on): Add warn-on-use.
34902         (Makefile.am): Provide new substitutions.
34903         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
34904         * lib/unistd.in.h (environ): Wrap with a warning helper function.
34905
34906         stdio: warn on suspicious uses
34907         * modules/stdio (Depends-on): Add warn-on-use.
34908         (Makefile.am): Provide new substitutions.
34909         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
34910         fseeko.
34911         * lib/stdio.in.h (gets): Always warn on use.
34912         (fseek, ftell): Adjust when warnings are issued, and honor
34913         _GL_NO_LARGE_FILES as a way to silence the warning.
34914         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
34915         any warning about large file offsets.
34916         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
34917         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
34918         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
34919         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
34920         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
34921         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
34922         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
34923         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
34924
34925         warn-on-use: new module
34926         * modules/warn-on-use: New file.
34927         * build-aux/warn-on-use.h: Likewise.
34928         * m4/warn-on-use.m4: Likewise.
34929         * MODULES.html.sh (Support for building): Mention it.
34930
34931 2010-01-10  Bruno Haible  <bruno@clisp.org>
34932
34933         Tests for module 'unistr/u32-strdup'.
34934         * modules/unistr/u32-strdup-tests: New file.
34935         * tests/unistr/test-u32-strdup.c: New file.
34936
34937         Tests for module 'unistr/u16-strdup'.
34938         * modules/unistr/u16-strdup-tests: New file.
34939         * tests/unistr/test-u16-strdup.c: New file.
34940
34941         Tests for module 'unistr/u8-strdup'.
34942         * modules/unistr/u8-strdup-tests: New file.
34943         * tests/unistr/test-u8-strdup.c: New file.
34944         * tests/unistr/test-strdup.h: New file.
34945
34946         Tests for module 'unistr/u32-strncmp'.
34947         * modules/unistr/u32-strncmp-tests: New file.
34948         * tests/unistr/test-u32-strncmp.c: New file.
34949
34950         Tests for module 'unistr/u16-strncmp'.
34951         * modules/unistr/u16-strncmp-tests: New file.
34952         * tests/unistr/test-u16-strncmp.c: New file.
34953
34954         Tests for module 'unistr/u8-strncmp'.
34955         * modules/unistr/u8-strncmp-tests: New file.
34956         * tests/unistr/test-u8-strncmp.c: New file.
34957         * tests/unistr/test-strncmp.h: New file.
34958
34959         Tests for module 'unistr/u32-strcoll'.
34960         * modules/unistr/u32-strcoll-tests: New file.
34961         * tests/unistr/test-u32-strcoll.c: New file.
34962
34963         Tests for module 'unistr/u16-strcoll'.
34964         * modules/unistr/u16-strcoll-tests: New file.
34965         * tests/unistr/test-u16-strcoll.c: New file.
34966
34967         Tests for module 'unistr/u8-strcoll'.
34968         * modules/unistr/u8-strcoll-tests: New file.
34969         * tests/unistr/test-u8-strcoll.c: New file.
34970
34971         Tests for module 'unistr/u32-strcmp'.
34972         * modules/unistr/u32-strcmp-tests: New file.
34973         * tests/unistr/test-u32-strcmp.c: New file.
34974         * tests/unistr/test-u32-strcmp.h: New file.
34975
34976         Tests for module 'unistr/u16-strcmp'.
34977         * modules/unistr/u16-strcmp-tests: New file.
34978         * tests/unistr/test-u16-strcmp.c: New file.
34979         * tests/unistr/test-u16-strcmp.h: New file.
34980
34981         Tests for module 'unistr/u8-strcmp'.
34982         * modules/unistr/u8-strcmp-tests: New file.
34983         * tests/unistr/test-u8-strcmp.c: New file.
34984         * tests/unistr/test-u8-strcmp.h: New file.
34985         * tests/unistr/test-strcmp.h: New file.
34986
34987         Tests for module 'unistr/u32-strncat'.
34988         * modules/unistr/u32-strncat-tests: New file.
34989         * tests/unistr/test-u32-strncat.c: New file.
34990
34991         Tests for module 'unistr/u16-strncat'.
34992         * modules/unistr/u16-strncat-tests: New file.
34993         * tests/unistr/test-u16-strncat.c: New file.
34994
34995         Tests for module 'unistr/u8-strncat'.
34996         * modules/unistr/u8-strncat-tests: New file.
34997         * tests/unistr/test-u8-strncat.c: New file.
34998         * tests/unistr/test-strncat.h: New file.
34999
35000         Tests for module 'unistr/u32-strcat'.
35001         * modules/unistr/u32-strcat-tests: New file.
35002         * tests/unistr/test-u32-strcat.c: New file.
35003
35004         Tests for module 'unistr/u16-strcat'.
35005         * modules/unistr/u16-strcat-tests: New file.
35006         * tests/unistr/test-u16-strcat.c: New file.
35007
35008         Tests for module 'unistr/u8-strcat'.
35009         * modules/unistr/u8-strcat-tests: New file.
35010         * tests/unistr/test-u8-strcat.c: New file.
35011         * tests/unistr/test-strcat.h: New file.
35012
35013         Tests for module 'unistr/u32-stpncpy'.
35014         * modules/unistr/u32-stpncpy-tests: New file.
35015         * tests/unistr/test-u32-stpncpy.c: New file.
35016
35017         Tests for module 'unistr/u16-stpncpy'.
35018         * modules/unistr/u16-stpncpy-tests: New file.
35019         * tests/unistr/test-u16-stpncpy.c: New file.
35020
35021         Tests for module 'unistr/u8-stpncpy'.
35022         * modules/unistr/u8-stpncpy-tests: New file.
35023         * tests/unistr/test-u8-stpncpy.c: New file.
35024         * tests/unistr/test-stpncpy.h: New file.
35025
35026         Tests for module 'unistr/u32-strncpy'.
35027         * modules/unistr/u32-strncpy-tests: New file.
35028         * tests/unistr/test-u32-strncpy.c: New file.
35029
35030         Tests for module 'unistr/u16-strncpy'.
35031         * modules/unistr/u16-strncpy-tests: New file.
35032         * tests/unistr/test-u16-strncpy.c: New file.
35033
35034         Tests for module 'unistr/u8-strncpy'.
35035         * modules/unistr/u8-strncpy-tests: New file.
35036         * tests/unistr/test-u8-strncpy.c: New file.
35037         * tests/unistr/test-strncpy.h: New file.
35038
35039         Tests for module 'unistr/u32-stpcpy'.
35040         * modules/unistr/u32-stpcpy-tests: New file.
35041         * tests/unistr/test-u32-stpcpy.c: New file.
35042
35043         Tests for module 'unistr/u16-stpcpy'.
35044         * modules/unistr/u16-stpcpy-tests: New file.
35045         * tests/unistr/test-u16-stpcpy.c: New file.
35046
35047         Tests for module 'unistr/u8-stpcpy'.
35048         * modules/unistr/u8-stpcpy-tests: New file.
35049         * tests/unistr/test-u8-stpcpy.c: New file.
35050         * tests/unistr/test-stpcpy.h: New file.
35051
35052         Tests for module 'unistr/u32-strcpy'.
35053         * modules/unistr/u32-strcpy-tests: New file.
35054         * tests/unistr/test-u32-strcpy.c: New file.
35055
35056         Tests for module 'unistr/u16-strcpy'.
35057         * modules/unistr/u16-strcpy-tests: New file.
35058         * tests/unistr/test-u16-strcpy.c: New file.
35059
35060         Tests for module 'unistr/u8-strcpy'.
35061         * modules/unistr/u8-strcpy-tests: New file.
35062         * tests/unistr/test-u8-strcpy.c: New file.
35063         * tests/unistr/test-strcpy.h: New file.
35064
35065         Tests for module 'unistr/u32-strnlen'.
35066         * modules/unistr/u32-strnlen-tests: New file.
35067         * tests/unistr/test-u32-strnlen.c: New file.
35068
35069         Tests for module 'unistr/u16-strnlen'.
35070         * modules/unistr/u16-strnlen-tests: New file.
35071         * tests/unistr/test-u16-strnlen.c: New file.
35072
35073         Tests for module 'unistr/u8-strnlen'.
35074         * modules/unistr/u8-strnlen-tests: New file.
35075         * tests/unistr/test-u8-strnlen.c: New file.
35076         * tests/unistr/test-strnlen.h: New file.
35077
35078         Tests for module 'unistr/u32-strlen'.
35079         * modules/unistr/u32-strlen-tests: New file.
35080         * tests/unistr/test-u32-strlen.c: New file.
35081
35082         Tests for module 'unistr/u16-strlen'.
35083         * modules/unistr/u16-strlen-tests: New file.
35084         * tests/unistr/test-u16-strlen.c: New file.
35085
35086         Tests for module 'unistr/u8-strlen'.
35087         * modules/unistr/u8-strlen-tests: New file.
35088         * tests/unistr/test-u8-strlen.c: New file.
35089
35090         Tests for module 'unistr/u32-prev'.
35091         * modules/unistr/u32-prev-tests: New file.
35092         * tests/unistr/test-u32-prev.c: New file.
35093
35094         Tests for module 'unistr/u16-prev'.
35095         * modules/unistr/u16-prev-tests: New file.
35096         * tests/unistr/test-u16-prev.c: New file.
35097
35098         Tests for module 'unistr/u8-prev'.
35099         * modules/unistr/u8-prev-tests: New file.
35100         * tests/unistr/test-u8-prev.c: New file.
35101
35102         Tests for module 'unistr/u32-next'.
35103         * modules/unistr/u32-next-tests: New file.
35104         * tests/unistr/test-u32-next.c: New file.
35105
35106         Tests for module 'unistr/u16-next'.
35107         * modules/unistr/u16-next-tests: New file.
35108         * tests/unistr/test-u16-next.c: New file.
35109
35110         Tests for module 'unistr/u8-next'.
35111         * modules/unistr/u8-next-tests: New file.
35112         * tests/unistr/test-u8-next.c: New file.
35113
35114         Tests for module 'unistr/u32-strmbtouc'.
35115         * modules/unistr/u32-strmbtouc-tests: New file.
35116         * tests/unistr/test-u32-strmbtouc.c: New file.
35117
35118         Tests for module 'unistr/u16-strmbtouc'.
35119         * modules/unistr/u16-strmbtouc-tests: New file.
35120         * tests/unistr/test-u16-strmbtouc.c: New file.
35121
35122         Tests for module 'unistr/u8-strmbtouc'.
35123         * modules/unistr/u8-strmbtouc-tests: New file.
35124         * tests/unistr/test-u8-strmbtouc.c: New file.
35125
35126         Tests for module 'unistr/u32-strmblen'.
35127         * modules/unistr/u32-strmblen-tests: New file.
35128         * tests/unistr/test-u32-strmblen.c: New file.
35129
35130         Tests for module 'unistr/u16-strmblen'.
35131         * modules/unistr/u16-strmblen-tests: New file.
35132         * tests/unistr/test-u16-strmblen.c: New file.
35133
35134         Tests for module 'unistr/u8-strmblen'.
35135         * modules/unistr/u8-strmblen-tests: New file.
35136         * tests/unistr/test-u8-strmblen.c: New file.
35137
35138         Tests for module 'unistr/u32-cpy-alloc'.
35139         * modules/unistr/u32-cpy-alloc-tests: New file.
35140         * tests/unistr/test-u32-cpy-alloc.c: New file.
35141
35142         Tests for module 'unistr/u16-cpy-alloc'.
35143         * modules/unistr/u16-cpy-alloc-tests: New file.
35144         * tests/unistr/test-u16-cpy-alloc.c: New file.
35145
35146         Tests for module 'unistr/u8-cpy-alloc'.
35147         * modules/unistr/u8-cpy-alloc-tests: New file.
35148         * tests/unistr/test-u8-cpy-alloc.c: New file.
35149         * tests/unistr/test-cpy-alloc.h: New file.
35150
35151         Tests for module 'unistr/u32-mbsnlen'.
35152         * modules/unistr/u32-mbsnlen-tests: New file.
35153         * tests/unistr/test-u32-mbsnlen.c: New file.
35154
35155         Tests for module 'unistr/u16-mbsnlen'.
35156         * modules/unistr/u16-mbsnlen-tests: New file.
35157         * tests/unistr/test-u16-mbsnlen.c: New file.
35158
35159         Tests for module 'unistr/u8-mbsnlen'.
35160         * modules/unistr/u8-mbsnlen-tests: New file.
35161         * tests/unistr/test-u8-mbsnlen.c: New file.
35162
35163         Tests for module 'unistr/u32-chr'.
35164         * modules/unistr/u32-chr-tests: New file.
35165         * tests/unistr/test-u32-chr.c: New file.
35166
35167         Tests for module 'unistr/u16-chr'.
35168         * modules/unistr/u16-chr-tests: New file.
35169         * tests/unistr/test-u16-chr.c: New file.
35170
35171         Tests for module 'unistr/u8-chr'.
35172         * modules/unistr/u8-chr-tests: New file.
35173         * tests/unistr/test-u8-chr.c: New file.
35174         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
35175
35176         Tests for module 'unistr/u32-cmp2'.
35177         * modules/unistr/u32-cmp2-tests: New file.
35178         * tests/unistr/test-u32-cmp2.c: New file.
35179
35180         Tests for module 'unistr/u16-cmp2'.
35181         * modules/unistr/u16-cmp2-tests: New file.
35182         * tests/unistr/test-u16-cmp2.c: New file.
35183
35184         Tests for module 'unistr/u8-cmp2'.
35185         * modules/unistr/u8-cmp2-tests: New file.
35186         * tests/unistr/test-u8-cmp2.c: New file.
35187         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
35188
35189         Tests for module 'unistr/u32-cmp'.
35190         * modules/unistr/u32-cmp-tests: New file.
35191         * tests/unistr/test-u32-cmp.c: New file.
35192
35193         Tests for module 'unistr/u16-cmp'.
35194         * modules/unistr/u16-cmp-tests: New file.
35195         * tests/unistr/test-u16-cmp.c: New file.
35196
35197         Tests for module 'unistr/u8-cmp'.
35198         * modules/unistr/u8-cmp-tests: New file.
35199         * tests/unistr/test-u8-cmp.c: New file.
35200         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
35201
35202         Tests for module 'unistr/u32-set'.
35203         * modules/unistr/u32-set-tests: New file.
35204         * tests/unistr/test-u32-set.c: New file.
35205
35206         Tests for module 'unistr/u16-set'.
35207         * modules/unistr/u16-set-tests: New file.
35208         * tests/unistr/test-u16-set.c: New file.
35209
35210         Tests for module 'unistr/u8-set'.
35211         * modules/unistr/u8-set-tests: New file.
35212         * tests/unistr/test-u8-set.c: New file.
35213         * tests/unistr/test-set.h: New file.
35214
35215         Tests for module 'unistr/u32-move'.
35216         * modules/unistr/u32-move-tests: New file.
35217         * tests/unistr/test-u32-move.c: New file.
35218
35219         Tests for module 'unistr/u16-move'.
35220         * modules/unistr/u16-move-tests: New file.
35221         * tests/unistr/test-u16-move.c: New file.
35222
35223         Tests for module 'unistr/u8-move'.
35224         * modules/unistr/u8-move-tests: New file.
35225         * tests/unistr/test-u8-move.c: New file.
35226         * tests/unistr/test-move.h: New file.
35227
35228         Tests for module 'unistr/u32-cpy'.
35229         * modules/unistr/u32-cpy-tests: New file.
35230         * tests/unistr/test-u32-cpy.c: New file.
35231
35232         Tests for module 'unistr/u16-cpy'.
35233         * modules/unistr/u16-cpy-tests: New file.
35234         * tests/unistr/test-u16-cpy.c: New file.
35235
35236         Tests for module 'unistr/u8-cpy'.
35237         * modules/unistr/u8-cpy-tests: New file.
35238         * tests/unistr/test-u8-cpy.c: New file.
35239         * tests/unistr/test-cpy.h: New file.
35240
35241 2010-01-09  Bruno Haible  <bruno@clisp.org>
35242
35243         Tests for module 'unistr/u32-uctomb'.
35244         * modules/unistr/u32-uctomb-tests: New file.
35245         * tests/unistr/test-u32-uctomb.c: New file.
35246
35247         Tests for module 'unistr/u16-uctomb'.
35248         * modules/unistr/u16-uctomb-tests: New file.
35249         * tests/unistr/test-u16-uctomb.c: New file.
35250
35251         Tests for module 'unistr/u8-uctomb'.
35252         * modules/unistr/u8-uctomb-tests: New file.
35253         * tests/unistr/test-u8-uctomb.c: New file.
35254
35255         Tests for module 'unistr/u32-mbtoucr'.
35256         * modules/unistr/u32-mbtoucr-tests: New file.
35257         * tests/unistr/test-u32-mbtoucr.c: New file.
35258
35259         Tests for module 'unistr/u16-mbtoucr'.
35260         * modules/unistr/u16-mbtoucr-tests: New file.
35261         * tests/unistr/test-u16-mbtoucr.c: New file.
35262
35263         Tests for module 'unistr/u8-mbtoucr'.
35264         * modules/unistr/u8-mbtoucr-tests: New file.
35265         * tests/unistr/test-u8-mbtoucr.c: New file.
35266
35267         Tests for module 'unistr/u32-mbtouc'.
35268         * modules/unistr/u32-mbtouc-tests: New file.
35269         * tests/unistr/test-u32-mbtouc.c: New file.
35270
35271         Tests for module 'unistr/u16-mbtouc'.
35272         * modules/unistr/u16-mbtouc-tests: New file.
35273         * tests/unistr/test-u16-mbtouc.c: New file.
35274
35275         Tests for module 'unistr/u8-mbtouc'.
35276         * modules/unistr/u8-mbtouc-tests: New file.
35277         * tests/unistr/test-u8-mbtouc.c: New file.
35278
35279         Tests for module 'unistr/u32-mbtouc-unsafe'.
35280         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
35281         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
35282         * tests/unistr/test-u32-mbtouc.h: New file.
35283
35284         Tests for module 'unistr/u16-mbtouc-unsafe'.
35285         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
35286         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
35287         * tests/unistr/test-u16-mbtouc.h: New file.
35288
35289         Tests for module 'unistr/u8-mbtouc-unsafe'.
35290         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
35291         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
35292         * tests/unistr/test-u8-mbtouc.h: New file.
35293
35294         Tests for module 'unistr/u32-mblen'.
35295         * modules/unistr/u32-mblen-tests: New file.
35296         * tests/unistr/test-u32-mblen.c: New file.
35297
35298         Tests for module 'unistr/u16-mblen'.
35299         * modules/unistr/u16-mblen-tests: New file.
35300         * tests/unistr/test-u16-mblen.c: New file.
35301
35302         Tests for module 'unistr/u8-mblen'.
35303         * modules/unistr/u8-mblen-tests: New file.
35304         * tests/unistr/test-u8-mblen.c: New file.
35305
35306         Tests for module 'unistr/u32-to-u16'.
35307         * modules/unistr/u32-to-u16-tests: New file.
35308         * tests/unistr/test-u32-to-u16.c: New file.
35309
35310         Tests for module 'unistr/u32-to-u8'.
35311         * modules/unistr/u32-to-u8-tests: New file.
35312         * tests/unistr/test-u32-to-u8.c: New file.
35313
35314         Tests for module 'unistr/u16-to-u32'.
35315         * modules/unistr/u16-to-u32-tests: New file.
35316         * tests/unistr/test-u16-to-u32.c: New file.
35317
35318         Tests for module 'unistr/u16-to-u8'.
35319         * modules/unistr/u16-to-u8-tests: New file.
35320         * tests/unistr/test-u16-to-u8.c: New file.
35321
35322         Tests for module 'unistr/u8-to-u32'.
35323         * modules/unistr/u8-to-u32-tests: New file.
35324         * tests/unistr/test-u8-to-u32.c: New file.
35325
35326         Tests for module 'unistr/u8-to-u16'.
35327         * modules/unistr/u8-to-u16-tests: New file.
35328         * tests/unistr/test-u8-to-u16.c: New file.
35329
35330         Tests for module 'unistr/u32-check'.
35331         * modules/unistr/u32-check-tests: New file.
35332         * tests/unistr/test-u32-check.c: New file.
35333
35334         Tests for module 'unistr/u16-check'.
35335         * modules/unistr/u16-check-tests: New file.
35336         * tests/unistr/test-u16-check.c: New file.
35337
35338         Tests for module 'unistr/u8-check'.
35339         * modules/unistr/u8-check-tests: New file.
35340         * tests/unistr/test-u8-check.c: New file.
35341
35342         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
35343         (category_equals): New function.
35344         (main): Add more tests.
35345         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
35346
35347         * tests/unictype/test-bidi_byname.c (main): Add more tests.
35348
35349 2010-01-10  Bruno Haible  <bruno@clisp.org>
35350
35351         unistr/u*-strcoll: Try harder to distinguish different strings.
35352         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
35353         compare s1 and s2 to see if they are different.
35354
35355 2010-01-10  Bruno Haible  <bruno@clisp.org>
35356
35357         unistr/u*-stpncpy: Fix the return value.
35358         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
35359         description of the return value consistent with stpncpy in glibc.
35360         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
35361         written non-NUL unit.
35362
35363 2010-01-10  Bruno Haible  <bruno@clisp.org>
35364
35365         unistr/u*-next: Add missing dependencies.
35366         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
35367         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
35368         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
35369
35370 2010-01-10  Bruno Haible  <bruno@clisp.org>
35371
35372         unistr/u8-mbsnlen: Fix return value for incomplete character.
35373         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
35374         u8_mblen.
35375         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
35376         Remove unistr/u8-mblen.
35377         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
35378         u16_mblen.
35379         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
35380         Remove unistr/u16-mblen.
35381
35382 2010-01-10  Bruno Haible  <bruno@clisp.org>
35383
35384         wchar: Fix compilation error when <wchar.h> is used from coreutils.
35385         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
35386         Reported by Brian Gough <bjg@gnu.org> and
35387         Chris Clayton <chris2553@googlemail.com> via
35388         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
35389
35390 2010-01-09  Bruno Haible  <bruno@clisp.org>
35391
35392         unistr/u16-to-u32: Reject invalid input.
35393         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
35394         u16_mbtouc.
35395         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
35396         Remove unistr/u16-mbtouc.
35397
35398         unistr/u16-to-u8: Reject invalid input.
35399         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
35400         u16_mbtouc.
35401         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
35402         Remove unistr/u16-mbtouc.
35403
35404         unistr/u8-to-u32: Reject invalid input.
35405         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
35406         u8_mbtouc.
35407         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
35408         Remove unistr/u8-mbtouc.
35409
35410         unistr/u8-to-u16: Reject invalid input.
35411         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
35412         u8_mbtouc.
35413         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
35414         Remove unistr/u8-mbtouc.
35415
35416 2010-01-09  Bruno Haible  <bruno@clisp.org>
35417
35418         Tests for module 'getlogin'.
35419         * modules/getlogin-tests: New file.
35420         * tests/test-getlogin.c: New file.
35421
35422         New module 'getlogin'.
35423         * lib/unistd.in.h (getlogin): New declaration.
35424         * lib/getlogin.c: New file.
35425         * m4/getlogin.m4: New file.
35426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
35427         HAVE_GETLOGIN.
35428         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
35429         HAVE_GETLOGIN.
35430         * modules/getlogin: New file.
35431         * doc/posix-functions/getlogin.texi: Mention the new module.
35432         Reported by John W. Eaton <jwe@gnu.org>.
35433
35434 2010-01-09  Bruno Haible  <bruno@clisp.org>
35435
35436         getlogin_r: Support for native Windows.
35437         * lib/getlogin_r.c: Include <windows.h>
35438         (getlogin_r): Implement for native Windows.
35439         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
35440         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
35441         via John W. Eaton <jwe@gnu.org>.
35442
35443 2010-01-09  Bruno Haible  <bruno@clisp.org>
35444
35445         getlogin_r: Small fixes.
35446         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
35447         succeeds.
35448         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
35449         before testing whether getlogin_r is declared. No need to set
35450         HAVE_DECL_GETLOGIN_R to 1.
35451         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
35452
35453 2010-01-09  Bruno Haible  <bruno@clisp.org>
35454
35455         * lib/unistd.in.h (getlogin_r): Add comment.
35456
35457 2010-01-09  Bruno Haible  <bruno@clisp.org>
35458
35459         Tests for module 'getlogin_r'.
35460         * modules/getlogin_r-tests: New file.
35461         * tests/test-getlogin_r.c: New file.
35462
35463 2010-01-09  Jim Meyering  <meyering@redhat.com>
35464
35465         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
35466         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
35467         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
35468
35469 2010-01-08  Simon Josefsson  <simon@josefsson.org>
35470
35471         * lib/dup2.c (rpl_dup2): Improve comment.
35472
35473 2010-01-08  Eric Blake  <ebb9@byu.net>
35474
35475         maint.mk: allow packages to add makefile @@ exceptions
35476         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
35477         (sc_makefile_check): Rename...
35478         (sc_makefile_at_at_check): ...to this, and use hook.
35479
35480         dup2: work around mingw bug
35481         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
35482         Reported by Simon Josefsson.
35483
35484 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
35485
35486         glob: Fix C++ compilation.
35487         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
35488         C++.
35489
35490 2010-01-07  Bruno Haible  <bruno@clisp.org>
35491
35492         Fix indentation of wctype.in.h, broken since 2007-01-06.
35493         * lib/wctype.in.h: Fix indentation of preprocessor directives.
35494
35495 2010-01-07  Bruno Haible  <bruno@clisp.org>
35496
35497         mbslen: Avoid collision with system function.
35498         * lib/string.in.h [MirBSD]: Include <wchar.h>.
35499         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
35500         * m4/mbslen.m4: New file.
35501         * modules/mbslen (Files): Add it.
35502         (configure.ac): Invoke gl_MBSLEN.
35503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
35504         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
35505         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
35506         via Ian Beckwith <ianb@erislabs.net>.
35507
35508 2010-01-07  Bruno Haible  <bruno@clisp.org>
35509
35510         dirent: Document the last fix.
35511         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
35512
35513 2010-01-07  Bruno Haible  <bruno@clisp.org>
35514
35515         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
35516         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
35517         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
35518         va_list are defined.
35519         * doc/posix-headers/stdio.texi: Document the bug of missing types.
35520         Reported by Eric Blake.
35521
35522 2010-01-07  Bruno Haible  <bruno@clisp.org>
35523
35524         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
35525         * modules/xlist (Depends-on): Add 'list',
35526         * modules/xoset (Depends-on): Add 'oset'.
35527         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35528
35529 2010-01-07  Bruno Haible  <bruno@clisp.org>
35530
35531         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
35532         * doc/posix-functions/strncasecmp.texi: Likewise.
35533
35534 2010-01-07  Bruno Haible  <bruno@clisp.org>
35535
35536         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
35537
35538 2010-01-07  John W. Eaton  <jwe@octave.org>
35539
35540         wctype: allow C++ use
35541         * lib/wctype.in.h: Add extern "C" block for C++.
35542
35543 2010-01-06  Eric Blake  <ebb9@byu.net>
35544
35545         maint.mk: detect incorrect GFDL usage
35546         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
35547
35548 2010-01-06  Jim Meyering  <meyering@redhat.com>
35549         and Eric Blake  <ebb9@byu.net>
35550
35551         maint.mk: ignore multi-line copyright in NEWS
35552         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
35553
35554 2010-01-06  Eric Blake  <ebb9@byu.net>
35555
35556         select: add missing dependency
35557         * modules/select-tests (Depends-on): Move sockets dependency...
35558         * modules/select (Depends-on): ...here.
35559         Reported by Ian Beckwith.
35560
35561         doc: regenerate INSTALL
35562         * doc/INSTALL: Reflect recent autoconf update.
35563         * doc/INSTALL.ISO: Likewise.
35564         * doc/INSTALL.UTF-8: Likewise.
35565
35566         pread: fix compilation on glibc
35567         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
35568         Reported by Ralf Wildenhues.
35569
35570         dirent: fix test failure
35571         * lib/dirent.in.h (includes): Guarantee ino_t.
35572         Reported by Ralf Wildenhues.
35573
35574 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
35575
35576         linkat, renameat: avoid bad free
35577         * lib/at-func2.c (at_func2): Fix typo.
35578         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
35579
35580 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35581
35582         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
35583         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
35584         to avoid failure of symlink test later.
35585
35586 2010-01-06  Eric Blake  <ebb9@byu.net>
35587
35588         stdio, unistd: guarantee ssize_t
35589         * lib/unistd.in.h (includes): Ensure that types required by POSIX
35590         2008 are exposed when needed.
35591         * lib/stdio.in.h (includes): Likewise.
35592         Reported by Ralf Wildenhues.
35593
35594 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
35595
35596         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
35597         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
35598         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
35599
35600 2010-01-06  Jim Meyering  <meyering@redhat.com>
35601
35602         readtokens: this module *does* require xalloc.h
35603         It uses only functions that were omitted by the old syntax-check rule.
35604         * lib/readtokens.c: Include "xalloc.h" once again.
35605         * modules/readtokens (Depends-on): Add xalloc.
35606         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
35607
35608 2010-01-05  Eric Blake  <ebb9@byu.net>
35609
35610         maint: support 'make announcement' from a VPATH build
35611         * top/maint.mk (announcement): Look for correct NEWS file.
35612
35613 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
35614
35615         utimens (fdutimens): ignore a negative FD, per contract
35616         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
35617         when we have a valid file descriptor.  Otherwise, using a brand
35618         new glibc (with just-patched futimens that now fails with EBADF)
35619         would cause this function to fail with ENOSYS.
35620         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
35621         See also http://bugzilla.redhat.com/552320.
35622
35623 2010-01-05  Eric Blake  <ebb9@byu.net>
35624
35625         strcase: document what it provides
35626         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
35627         gnulib module.
35628         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
35629         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
35630
35631 2010-01-05  Jim Meyering  <meyering@redhat.com>
35632
35633         maint: remove useless inclusions of "xalloc.h"
35634         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
35635         * lib/readtokens.c: Likewise.
35636         * lib/same.c: Likewise.
35637         * modules/getloadavg (Depends-on): Remove xalloc.
35638         * modules/readtokens: Likewise.
35639         * modules/same: Likewise.
35640
35641         maint.mk: include 4 more function names in alloca.h-checking regexp
35642         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
35643         regexp.  Before, we would give a false-positive (saying alloca.h
35644         is included unnecessarily) when the only uses involved omitted symbols.
35645
35646         xalloc.h: use consistent formatting
35647         * lib/xalloc.h: Move declarations to start in the first column.
35648
35649 2010-01-05  Eric Blake  <ebb9@byu.net>
35650
35651         mkdir: avoid xalloc
35652         * lib/mkdir.c (includes): Drop unused header.
35653         Reported by John W. Eaton.
35654
35655 2010-01-04  Jim Meyering  <meyering@redhat.com>
35656
35657         nl_langinfo: avoid configure-time syntax error
35658         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
35659         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
35660         the empty string.  Don't let that provoke a shell syntax error.
35661
35662         regcomp, regexec, fnmatch: avoid array bounds read error
35663         * lib/regcomp.c (build_equiv_class): From glibc:
35664         Use only the low 24 bits of a findidx return value as an index
35665         into the weights array.  Patch by Ulrich Drepper:
35666         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
35667         * lib/regexec.c (check_node_accept_bytes): Likewise.
35668         * lib/fnmatch_loop.c (FCT): Likewise.
35669
35670         regcomp: skip collseq lookup when there are no rules
35671         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
35672         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
35673
35674         regcomp: recognize ill-formed { } expressions
35675         * lib/regcomp.c (parse_dup_op): From glibc:
35676         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
35677
35678         regcomp: fix typo in comment
35679         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
35680         s/satisfy/satisfies/.
35681
35682         regcomp: sync from glibc: remove dead store
35683         * lib/regcomp.c (duplicate_node_closure): Remove useless
35684         search_duplicated_node call and dead store.
35685
35686         regcomp: sync from glibc; always use nl_langinfo
35687         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
35688         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
35689         * modules/regex (Depends-on): Add nl_langinfo.
35690
35691 2010-01-04  Eric Blake  <ebb9@byu.net>
35692
35693         fdopendir: fix configure test
35694         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
35695
35696 2010-01-01  Bruno Haible  <bruno@clisp.org>
35697
35698         wchar: Remove unused configure check.
35699         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
35700
35701 2010-01-01  Eric Blake  <ebb9@byu.net>
35702
35703         headers: make check of system header explicit
35704         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
35705         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
35706         ourselves.
35707         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35708         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35709         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
35710         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
35711         internals.
35712         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
35713         missing.
35714         Suggested by Bruno Haible.
35715
35716 2010-01-01  Jim Meyering  <meyering@redhat.com>
35717
35718         ChangeLog: tweak to eliminate unnecessary copyright line
35719         * ChangeLog: Remove a copyright line that was mistakenly updated
35720         by today's update-copyright run.  Reported by Eric Blake.
35721
35722         test-update-copyright: don't let envvar setting cause test failure
35723         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
35724
35725 2010-01-01  Bruno Haible  <bruno@clisp.org>
35726
35727         localename: Avoid gcc warning.
35728         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
35729         function if it is not used.
35730
35731 2010-01-01  Jim Meyering  <meyering@redhat.com>
35732
35733         update nearly all FSF copyright year lists to include 2010
35734         Use the same procedure as for 2009, outlined in
35735         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
35736
35737         version-etc: set COPYRIGHT_YEAR to 2010
35738         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
35739
35740 2009-12-31  Eric Blake  <ebb9@byu.net>
35741
35742         doc: correct availability of cygwin 1.5.x getopt
35743         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
35744         variables.
35745         * doc/posix-functions/opterr.texi (opterr): Likewise.
35746         * doc/posix-functions/optind.texi (optind): Likewise.
35747         * doc/posix-functions/optopt.texi (optopt): Likewise.
35748         * doc/posix-functions/tzname.texi (tzname): Likewise.
35749
35750         openat: update maintainer
35751         * modules/openat (Maintainer): Add myself.
35752
35753         utimens: avoid shadowing warning
35754         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
35755         buffers into one, to avoid shadowing, as well as avoiding a
35756         redundant stat.
35757         Reported by Jim Meyering.
35758
35759         test-dup2: avoid compiler warning
35760         * tests/test-dup2.c (is_inheritable): Only define if used.
35761
35762 2010-01-01  Bruno Haible  <bruno@clisp.org>
35763
35764         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
35765         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
35766         defined, use wctomb instead of wcrtomb.
35767
35768 2010-01-01  Bruno Haible  <bruno@clisp.org>
35769
35770         iconv: Reject native Solaris iconv.
35771         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
35772         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
35773
35774 2009-12-31  Bruno Haible  <bruno@clisp.org>
35775
35776         * tests/test-signal.c (main): Remove test of 'SIG'.
35777
35778 2009-12-31  Bruno Haible  <bruno@clisp.org>
35779
35780         spawn: Fix incomplete fix.
35781         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35782         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35783         warnings for GNULIB_POSIXCHECK again.
35784         Reported by Eric Blake.
35785
35786 2009-12-31  Bruno Haible  <bruno@clisp.org>
35787
35788         Avoid namespace pollution on glibc systems.
35789         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
35790         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
35791         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
35792         glibc systems.
35793
35794 2009-12-31  Bruno Haible  <bruno@clisp.org>
35795
35796         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
35797         (gl_REPLACE_WCHAR_H): Turn into a no-op.
35798         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
35799         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
35800         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
35801         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
35802         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
35803
35804 2009-12-31  Bruno Haible  <bruno@clisp.org>
35805
35806         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35807         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
35808         afterwards.
35809
35810 2009-12-31  Bruno Haible  <bruno@clisp.org>
35811
35812         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
35813         SYS_UTSNAME_H.
35814
35815 2009-12-31  Bruno Haible  <bruno@clisp.org>
35816
35817         spawn: Fix misapplied patch.
35818         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
35819         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
35820         warnings for GNULIB_POSIXCHECK.
35821
35822 2009-12-31  Bruno Haible  <bruno@clisp.org>
35823
35824         times: Update after sys_times changed.
35825         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
35826         * modules/times (Files): Add it.
35827         (configure.ac): Invoke gl_FUNC_TIMES.
35828
35829 2009-12-31  Bruno Haible  <bruno@clisp.org>
35830
35831         Use AC_C_INLINE where necessary.
35832         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
35833         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
35834         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
35835         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
35836         * m4/mbfile.m4 (gl_MBFILE): Likewise.
35837         * m4/mbiter.m4 (gl_MBITER): Likewise.
35838         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
35839         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
35840         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
35841         * modules/u64 (configure.ac): Likewise.
35842
35843 2009-12-31  Bruno Haible  <bruno@clisp.org>
35844
35845         Use AC_C_INLINE instead of module 'inline' where possible.
35846         * modules/inline (Description): Clarify purpose.
35847         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
35848         * modules/count-one-bits (Depends-on): Remove inline.
35849         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
35850         * modules/openat (Depends-on): Remove inline.
35851         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
35852         instead of depending on module 'inline'.
35853         * modules/filevercmp (Depends-on, configure.ac): Likewise.
35854         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
35855         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
35856         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
35857         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
35858         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
35859         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
35860         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
35861         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
35862         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
35863         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
35864         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
35865         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
35866         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
35867         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
35868         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
35869         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
35870         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
35871         Likewise.
35872         * modules/unictype/property-ascii-hex-digit (Depends-on,
35873         configure.ac): Likewise.
35874         * modules/unictype/property-bidi-arabic-digit (Depends-on,
35875         configure.ac): Likewise.
35876         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
35877         configure.ac): Likewise.
35878         * modules/unictype/property-bidi-block-separator (Depends-on,
35879         configure.ac): Likewise.
35880         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
35881         configure.ac): Likewise.
35882         * modules/unictype/property-bidi-common-separator (Depends-on,
35883         configure.ac): Likewise.
35884         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
35885         Likewise.
35886         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
35887         configure.ac): Likewise.
35888         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
35889         configure.ac): Likewise.
35890         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
35891         configure.ac): Likewise.
35892         * modules/unictype/property-bidi-european-digit (Depends-on,
35893         configure.ac): Likewise.
35894         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
35895         configure.ac): Likewise.
35896         * modules/unictype/property-bidi-left-to-right (Depends-on,
35897         configure.ac): Likewise.
35898         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
35899         configure.ac): Likewise.
35900         * modules/unictype/property-bidi-other-neutral (Depends-on,
35901         configure.ac): Likewise.
35902         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
35903         Likewise.
35904         * modules/unictype/property-bidi-segment-separator (Depends-on,
35905         configure.ac): Likewise.
35906         * modules/unictype/property-bidi-whitespace (Depends-on,
35907         configure.ac): Likewise.
35908         * modules/unictype/property-combining (Depends-on, configure.ac):
35909         Likewise.
35910         * modules/unictype/property-composite (Depends-on, configure.ac):
35911         Likewise.
35912         * modules/unictype/property-currency-symbol (Depends-on,
35913         configure.ac): Likewise.
35914         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
35915         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
35916         Likewise.
35917         * modules/unictype/property-default-ignorable-code-point (Depends-on,
35918         configure.ac): Likewise.
35919         * modules/unictype/property-deprecated (Depends-on, configure.ac):
35920         Likewise.
35921         * modules/unictype/property-diacritic (Depends-on, configure.ac):
35922         Likewise.
35923         * modules/unictype/property-extender (Depends-on, configure.ac):
35924         Likewise.
35925         * modules/unictype/property-format-control (Depends-on, configure.ac):
35926         Likewise.
35927         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
35928         Likewise.
35929         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
35930         Likewise.
35931         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
35932         Likewise.
35933         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
35934         Likewise.
35935         * modules/unictype/property-hyphen (Depends-on, configure.ac):
35936         Likewise.
35937         * modules/unictype/property-id-continue (Depends-on, configure.ac):
35938         Likewise.
35939         * modules/unictype/property-id-start (Depends-on, configure.ac):
35940         Likewise.
35941         * modules/unictype/property-ideographic (Depends-on, configure.ac):
35942         Likewise.
35943         * modules/unictype/property-ids-binary-operator (Depends-on,
35944         configure.ac): Likewise.
35945         * modules/unictype/property-ids-trinary-operator (Depends-on,
35946         configure.ac): Likewise.
35947         * modules/unictype/property-ignorable-control (Depends-on,
35948         configure.ac): Likewise.
35949         * modules/unictype/property-iso-control (Depends-on, configure.ac):
35950         Likewise.
35951         * modules/unictype/property-join-control (Depends-on, configure.ac):
35952         Likewise.
35953         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
35954         Likewise.
35955         * modules/unictype/property-line-separator (Depends-on, configure.ac):
35956         Likewise.
35957         * modules/unictype/property-logical-order-exception (Depends-on,
35958         configure.ac): Likewise.
35959         * modules/unictype/property-lowercase (Depends-on, configure.ac):
35960         Likewise.
35961         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
35962         * modules/unictype/property-non-break (Depends-on, configure.ac):
35963         Likewise.
35964         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
35965         Likewise.
35966         * modules/unictype/property-numeric (Depends-on, configure.ac):
35967         Likewise.
35968         * modules/unictype/property-other-alphabetic (Depends-on,
35969         configure.ac): Likewise.
35970         * modules/unictype/property-other-default-ignorable-code-point
35971         (Depends-on, configure.ac): Likewise.
35972         * modules/unictype/property-other-grapheme-extend (Depends-on,
35973         configure.ac): Likewise.
35974         * modules/unictype/property-other-id-continue (Depends-on,
35975         configure.ac): Likewise.
35976         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
35977         Likewise.
35978         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
35979         Likewise.
35980         * modules/unictype/property-other-math (Depends-on, configure.ac):
35981         Likewise.
35982         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
35983         Likewise.
35984         * modules/unictype/property-paired-punctuation (Depends-on,
35985         configure.ac): Likewise.
35986         * modules/unictype/property-paragraph-separator (Depends-on,
35987         configure.ac): Likewise.
35988         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
35989         Likewise.
35990         * modules/unictype/property-pattern-white-space (Depends-on,
35991         configure.ac): Likewise.
35992         * modules/unictype/property-private-use (Depends-on, configure.ac):
35993         Likewise.
35994         * modules/unictype/property-punctuation (Depends-on, configure.ac):
35995         Likewise.
35996         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
35997         Likewise.
35998         * modules/unictype/property-radical (Depends-on, configure.ac):
35999         Likewise.
36000         * modules/unictype/property-sentence-terminal (Depends-on,
36001         configure.ac): Likewise.
36002         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36003         Likewise.
36004         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36005         * modules/unictype/property-terminal-punctuation (Depends-on,
36006         configure.ac): Likewise.
36007         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36008         Likewise.
36009         * modules/unictype/property-unassigned-code-value (Depends-on,
36010         configure.ac): Likewise.
36011         * modules/unictype/property-unified-ideograph (Depends-on,
36012         configure.ac): Likewise.
36013         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36014         Likewise.
36015         * modules/unictype/property-variation-selector (Depends-on,
36016         configure.ac): Likewise.
36017         * modules/unictype/property-white-space (Depends-on, configure.ac):
36018         Likewise.
36019         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36020         Likewise.
36021         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36022         Likewise.
36023         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36024         Likewise.
36025         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36026         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36027         Likewise.
36028
36029 2009-12-31  Bruno Haible  <bruno@clisp.org>
36030
36031         Remove unnecessary AC_C_INLINE invocation.
36032         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36033         since 2009-08-21.
36034
36035 2009-12-31  Jim Meyering  <meyering@redhat.com>
36036
36037         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36038         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36039         With this change, we can all remove the gpg_key_ID = ... definition
36040         from our respective cfg.mk files.
36041
36042         maint.mk: create announcement template in ~/, not in /tmp
36043         * top/maint.mk (emit_upload_commands): Adjust.
36044         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36045         Remove temporary file, .ci-msg.
36046
36047 2009-12-31  Eric Blake  <ebb9@byu.net>
36048
36049         link-warning: always build headers with link warnings
36050         * modules/arpa_inet (Makefile.am): Always build replacement
36051         header.
36052         * modules/ctype (Makefile.am): Likewise.
36053         * modules/dirent (Makefile.am): Likewise.
36054         * modules/inttypes (Makefile.am): Likewise.
36055         * modules/langinfo (Makefile.am): Likewise.
36056         * modules/locale (Makefile.am): Likewise.
36057         * modules/spawn (Makefile.am): Likewise.
36058         * modules/sys_file (Makefile.am): Likewise.
36059         * modules/sys_ioctl (Makefile.am): Likewise.
36060         * modules/sys_select (Makefile.am): Likewise.
36061         * modules/sys_socket (Makefile.am): Likewise.
36062         * modules/sys_times (Makefile.am): Likewise.
36063         * modules/sys_utsname (Makefile.am): Likewise.
36064         * modules/sys_wait (Makefile.am): Likewise.
36065         * modules/wchar (Makefile.am): Likewise.
36066         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36067         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36068         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36069         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36070         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36071         Likewise.
36072         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36073         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36074         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36075         Likewise.
36076         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36077         Likewise.
36078         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36079         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36080         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36081         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36082         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36083         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36084         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36085         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36086         (gl_WCHAR_H_DEFAULTS): Likewise.
36087
36088 2009-12-31  Eric Blake  <ebb9@byu.net>
36089
36090         signal, spawn: use link warnings
36091         * lib/signal.in.h (sigset_t): Make unconditional.
36092         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36093         (sigpending, sigprocmask, sigaction): Add link warnings.
36094         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36095         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36096         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36097         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36098         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36099         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36100         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36101         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36102         (posix_spawn_file_actions_destroy)
36103         (posix_spawn_file_actions_addopen)
36104         (posix_spawn_file_actions_addclose)
36105         (posix_spawn_file_actions_adddup2): Likewise.
36106         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36107         * tests/test-signal.c (main): Enhance test.
36108
36109         spawn: improve wrapper support
36110         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36111         (gl_SPAWN_H_DEFAULTS): New defaults.
36112         * modules/spawn (Makefile.am): Substitute them.
36113         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36114         Only declare if missing or broken.
36115
36116         sys_times, sys_utsname: use include_next
36117         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36118         header.
36119         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36120         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36121         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36122         * modules/sys_times (Depends-on): Add include_next.
36123         (Makefile.am): Substitute additional values.
36124         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36125         * lib/sys_times.in.h (includes): Include native header, if
36126         available.
36127         * lib/sys_utsname.in.h (includes): Likewise.
36128         * tests/test-sys_times.c (main): Enhance test.
36129
36130         fdutimensat: revert prior patch
36131         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36132         utimens.h.
36133         Reported by Bruno Haible.
36134
36135 2009-12-30  Eric Blake  <ebb9@byu.net>
36136
36137         sys_wait: drop link-warning dependency
36138         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36139         link-warning efforts.
36140         * lib/sys_wait.in.h: Likewise.
36141
36142         fdutimensat: remove bogus dependency
36143         * modules/fdutimensat (Depends-on): Drop inline.
36144
36145         unistd: fix typo
36146         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36147
36148 2009-12-30  Bruno Haible  <bruno@clisp.org>
36149
36150         Fix compilation error with Solaris cc.
36151         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36152         * lib/unicase/u16-is-invariant.c: Likewise.
36153         * lib/unicase/u32-is-invariant.c: Likewise.
36154         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36155
36156 2009-12-30  Bruno Haible  <bruno@clisp.org>
36157
36158         Fix test crash.
36159         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36160         locales.
36161         Reported by Simon Josefsson <simon@josefsson.org>.
36162
36163 2009-12-30  Bruno Haible  <bruno@clisp.org>
36164
36165         Fix compilation error on most platforms.
36166         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36167         Reported by Simon Josefsson <simon@josefsson.org>
36168         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36169
36170 2009-12-30  Eric Blake  <ebb9@byu.net>
36171
36172         futimens, utimensat: work around ntfs-3g bug
36173         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
36174         a ctime bug is present, and expand workaround to cover ntfs-3g.
36175         * lib/utimens.c (fdutimens, lutimens): Likewise.
36176         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
36177         (validate_timespec): Adjust return value.
36178         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
36179         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
36180         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
36181
36182 2009-12-29  Eric Blake  <ebb9@byu.net>
36183
36184         link-warning: make usage consistent
36185         * modules/ctype (Depends-on): Add link-warning.
36186         (Makefile.am): Update rules accordingly.
36187         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36188         * modules/locale (Depends-on, Makefile.am): Likewise.
36189         * modules/sys_file (Makefile.am): Likewise.
36190         * modules/getopt-posix (Makefile.am): Delete unused link warning
36191         efforts.
36192         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
36193         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
36194         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
36195         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
36196
36197         stdio: remove unused variables
36198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
36199         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
36200         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
36201
36202         tests: test more substitute headers
36203         * modules/ctype-tests: New file.
36204         * modules/dirent-tests: Likewise.
36205         * modules/spawn-tests: Likewise.
36206         * modules/sys_file-tests: Likewise.
36207         * modules/sys_ioctl-tests: Likewise.
36208         * modules/sys_wait-tests: Likewise.
36209         * tests/test-ctype.c: Likewise.
36210         * tests/test-dirent.c: Likewise.
36211         * tests/test-spawn.c: Likewise.
36212         * tests/test-sys_file.c: Likewise.
36213         * tests/test-sys_ioctl.c: Likewise.
36214         * tests/test-sys_wait.c: Likewise.
36215         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
36216         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
36217         whether or not flock is in use.
36218
36219         tests: remove License section from module
36220         * modules/arpa_inet-tests: Remove unneeded section.
36221         * modules/byteswap-tests: Likewise.
36222         * modules/ceilf-tests: Likewise.
36223         * modules/ceill-tests: Likewise.
36224         * modules/crypto/des-tests: Likewise.
36225         * modules/crypto/gc-arcfour-tests: Likewise.
36226         * modules/crypto/gc-arctwo-tests: Likewise.
36227         * modules/crypto/gc-des-tests: Likewise.
36228         * modules/crypto/gc-hmac-md5-tests: Likewise.
36229         * modules/crypto/gc-hmac-sha1-tests: Likewise.
36230         * modules/crypto/gc-md2-tests: Likewise.
36231         * modules/crypto/gc-md4-tests: Likewise.
36232         * modules/crypto/gc-md5-tests: Likewise.
36233         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
36234         * modules/crypto/gc-rijndael-tests: Likewise.
36235         * modules/crypto/gc-sha1-tests: Likewise.
36236         * modules/crypto/gc-tests: Likewise.
36237         * modules/crypto/md2-tests: Likewise.
36238         * modules/crypto/md4-tests: Likewise.
36239         * modules/fcntl-h-tests: Likewise.
36240         * modules/floorf-tests: Likewise.
36241         * modules/floorl-tests: Likewise.
36242         * modules/frexp-nolibm-tests: Likewise.
36243         * modules/frexp-tests: Likewise.
36244         * modules/frexpl-nolibm-tests: Likewise.
36245         * modules/frexpl-tests: Likewise.
36246         * modules/getaddrinfo-tests: Likewise.
36247         * modules/inttypes-tests: Likewise.
36248         * modules/isfinite-tests: Likewise.
36249         * modules/isinf-tests: Likewise.
36250         * modules/ldexpl-tests: Likewise.
36251         * modules/locale-tests: Likewise.
36252         * modules/math-tests: Likewise.
36253         * modules/netdb-tests: Likewise.
36254         * modules/netinet_in-tests: Likewise.
36255         * modules/printf-frexp-tests: Likewise.
36256         * modules/printf-frexpl-tests: Likewise.
36257         * modules/priv-set-tests: Likewise.
36258         * modules/random_r-tests: Likewise.
36259         * modules/round-tests: Likewise.
36260         * modules/roundf-tests: Likewise.
36261         * modules/roundl-tests: Likewise.
36262         * modules/search-tests: Likewise.
36263         * modules/select-tests: Likewise.
36264         * modules/signal-tests: Likewise.
36265         * modules/stdbool-tests: Likewise.
36266         * modules/stddef-tests: Likewise.
36267         * modules/stdint-tests: Likewise.
36268         * modules/stdio-tests: Likewise.
36269         * modules/stdlib-tests: Likewise.
36270         * modules/string-tests: Likewise.
36271         * modules/strings-tests: Likewise.
36272         * modules/sys_select-tests: Likewise.
36273         * modules/sys_socket-tests: Likewise.
36274         * modules/sys_stat-tests: Likewise.
36275         * modules/sys_time-tests: Likewise.
36276         * modules/sys_utsname-tests: Likewise.
36277         * modules/sysexits-tests: Likewise.
36278         * modules/time-tests: Likewise.
36279         * modules/trunc-tests: Likewise.
36280         * modules/truncf-tests: Likewise.
36281         * modules/truncl-tests: Likewise.
36282         * modules/tsearch-tests: Likewise.
36283         * modules/unistd-tests: Likewise.
36284         * modules/wchar-tests: Likewise.
36285         * modules/wctype-tests: Likewise.
36286
36287         tests: fix license on several tests
36288         * tests/test-des.c: Update to GPLv3+.
36289         * tests/test-flock.c: Likewise.
36290         * tests/test-fsync.c: Likewise.
36291         * tests/test-futimens.h: Likewise.
36292         * tests/test-gc-arcfour.c: Likewise.
36293         * tests/test-gc-arctwo.c: Likewise.
36294         * tests/test-gc-des.c: Likewise.
36295         * tests/test-gc-hmac-md5.c: Likewise.
36296         * tests/test-gc-hmac-sha1.c: Likewise.
36297         * tests/test-gc-md2.c: Likewise.
36298         * tests/test-gc-md4.c: Likewise.
36299         * tests/test-gc-md5.c: Likewise.
36300         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36301         * tests/test-gc-rijndael.c: Likewise.
36302         * tests/test-gc-sha1.c: Likewise.
36303         * tests/test-gc.c: Likewise.
36304         * tests/test-getcwd.c: Likewise.
36305         * tests/test-link.c: Likewise.
36306         * tests/test-link.h: Likewise.
36307         * tests/test-lutimens.h: Likewise.
36308         * tests/test-md2.c: Likewise.
36309         * tests/test-md4.c: Likewise.
36310         * tests/test-mkdir.h: Likewise.
36311         * tests/test-rename.c: Likewise.
36312         * tests/test-rename.h: Likewise.
36313         * tests/test-safe-alloc.c: Likewise.
36314         * tests/test-utimens-common.h: Likewise.
36315         * tests/test-utimens.h: Likewise.
36316
36317         maint: sync license texts
36318         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
36319         * doc/gpl-3.0.texi: Revert copyright year update.
36320         * doc/lgpl-3.0.texi: Likewise.
36321
36322 2009-12-29  Jim Meyering  <meyering@redhat.com>
36323
36324         update nearly all FSF copyright year lists to include 2009
36325         The files named by the following are exempted:
36326             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
36327               test -f "$dst" && { echo "$dst"; continue; }
36328               test -d "$dst" || continue
36329               echo "$dst"/$(basename "$src")
36330             done > exempt
36331             git ls-files tests/unictype >> exempt
36332         In the remaining files, convert to all-interval notation if
36333         - there is already at least one year interval like 2000-2003
36334         - the file is maintained by me
36335         - the file is in lib/uni*/, where that style already prevails
36336         Otherwise, use update-copyright's default.
36337
36338 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36339         and Eric Blake  <ebb9@byu.net>
36340
36341         tests: don't require debug system() to pass
36342         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
36343         * tests/test-rmdir.h (test_rmdir_func): Likewise.
36344         * tests/test-unlink.h (test_unlink_func): Likewise.
36345         * tests/test-fstatat.c (main): ...into callers.
36346         * tests/test-lstat.c (main): Likewise.
36347         * tests/test-rmdir.c (main): Likewise.
36348         * tests/test-unlink.c (main): Likewise.
36349         * tests/test-unlinkat.c (main): Likewise.
36350         * tests/test-areadlink-with-size.c (main): Don't require a
36351         debug-only system call to pass, aiding cross-testing to mingw.
36352         * tests/test-areadlink.c (main): Likewise.
36353         * tests/test-areadlinkat-with-size.c (main): Likewise.
36354         * tests/test-areadlinkat.c (main): Likewise.
36355         * tests/test-canonicalize-lgpl.c (main): Likewise.
36356         * tests/test-canonicalize.c (main): Likewise.
36357         * tests/test-chown.c (main): Likewise.
36358         * tests/test-fchownat.c (main): Likewise.
36359         * tests/test-lchown.c (main): Likewise.
36360         * tests/test-fdutimensat.c (main): Likewise.
36361         * tests/test-futimens.c (main): Likewise.
36362         * tests/test-link.c (main): Likewise.
36363         * tests/test-linkat.c (main): Likewise.
36364         * tests/test-mkdir.c (main): Likewise.
36365         * tests/test-mkdirat.c (main): Likewise.
36366         * tests/test-mkfifo.c (main): Likewise.
36367         * tests/test-mkfifoat.c (main): Likewise.
36368         * tests/test-mknod.c (main): Likewise.
36369         * tests/test-readlink.c (main): Likewise.
36370         * tests/test-remove.c (main): Likewise.
36371         * tests/test-rename.c (main): Likewise.
36372         * tests/test-renameat.c (main): Likewise.
36373         * tests/test-symlink.c (main): Likewise.
36374         * tests/test-symlinkat.c (main): Likewise.
36375         * tests/test-utimens.c (main): Likewise.
36376         * tests/test-utimensat.c (main): Likewise.
36377
36378 2009-12-29  Simon Josefsson  <simon@josefsson.org>
36379
36380         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
36381         on $(UNUSED_PARAMETER_H) to avoid build failure.
36382
36383 2009-12-28  Jim Meyering  <meyering@redhat.com>
36384
36385         update-copyright: you may specify a max. line length other than 72
36386         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36387
36388         maint: use consistent FSF copyright line syntax
36389         * lib/posixtm.c: Add missing comma in FSF copyright line.
36390         * lib/posixtm.h: Likewise.
36391         * lib/getugroups.c: Add missing ", Inc.".
36392
36393         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
36394         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
36395         FSF copyright line.  Remove trailing blanks.
36396
36397 2009-12-28  Eric Blake  <ebb9@byu.net>
36398
36399         test-dup2: reduce dependencies
36400         * modules/cloexec (Configure.ac): Set witness.
36401         * modules/dup2-tests (Depends-on): Drop cloexec.
36402         * tests/test-dup2.c (main): Skip portion of test if cloexec module
36403         not present.
36404         Suggested by Bruno Haible.
36405
36406 2009-12-26  Bruno Haible  <bruno@clisp.org>
36407
36408         Remove an unneeded dependency.
36409         * modules/fseterr (Depends-on): Remove dup2.
36410
36411 2009-12-26  Eric Blake  <ebb9@byu.net>
36412
36413         tests: use macros.h in more places
36414         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
36415         (ASSERT_STREAM): Provide default of stderr.
36416         * tests/test-dirent-safer.c: Include macros.h, using alternate
36417         stream for assertions.
36418         * tests/test-dup-safer.c: Likewise.
36419         * tests/test-freopen-safer.c: Likewise.
36420         * tests/test-getopt.c: Likewise.
36421         * tests/test-openat-safer.c: Likewise.
36422         * tests/test-pipe.c: Likewise.
36423         * tests/test-popen-safer.c: Likewise.
36424         * modules/dirent-safer-tests (Files): Include macros.h.
36425         * modules/unistd-safer-tests (Files): Likewise.
36426         * modules/freopen-safer-tests (Files): Likewise.
36427         * modules/getopt-posix-tests (Files): Likewise.
36428         * modules/openat-safer-tests (Files): Likewise.
36429         * modules/pipe-tests (Files): Likewise.
36430
36431 2009-12-26  Bruno Haible  <bruno@clisp.org>
36432
36433         javacomp: Portability fix.
36434         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
36435         that it also works on Solaris.
36436
36437 2009-12-26  Bruno Haible  <bruno@clisp.org>
36438
36439         localename: Fix storage allocation of gl_locale_name_thread's result.
36440         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
36441         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
36442         all platforms that have 'uselocale'.
36443         (gl_locale_name_thread_unsafe): New function, extracted from
36444         gl_locale_name_thread.
36445         (gl_locale_name_thread): Call struniq on all platforms that have
36446         'uselocale'.
36447         * tests/test-localename.c (test_locale_name_thread): Check that the
36448         resulting strings are permanently allocated.
36449         * modules/localename-tests (Depends-on): Add strdup.
36450
36451 2009-12-26  Bruno Haible  <bruno@clisp.org>
36452
36453         * tests/test-localename.c (categories): Fill in the strings.
36454
36455 2009-12-26  Jim Meyering  <meyering@redhat.com>
36456
36457         isdir: complete the removal of m4/isdir.m4
36458         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
36459
36460         isdir: clean up, since at least grep still uses it
36461         * lib/isdir.c: Include "isdir.h".
36462         (S_ISDIR): Remove now-unneeded definition.
36463         * modules/isdir (Files): Add lib/isdir.h.
36464         * lib/isdir.h: New file, with declaration.
36465         * m4/isdir.m4: Remove file -- unneeded.
36466
36467 2009-12-25  Bruno Haible  <bruno@clisp.org>
36468
36469         selinux-h: Make generated .h files standalone.
36470         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
36471         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
36472         * lib/se-selinux.in.h: Likewise.
36473         * modules/selinux-h (Depends-on): Add unused-parameter.
36474         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
36475         selinux/selinux.h and selinux/context.h.
36476         Suggested by Eric Blake.
36477
36478 2009-12-25  Bruno Haible  <bruno@clisp.org>
36479
36480         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
36481         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
36482         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
36483         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
36484         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
36485
36486 2009-12-24  Bruno Haible  <bruno@clisp.org>
36487
36488         openat: Fix warning.
36489         * lib/openat-proc.c: Include <unistd.h>.
36490
36491 2009-12-24  Bruno Haible  <bruno@clisp.org>
36492
36493         New module 'unused-parameter'.
36494         * build-aux/unused-parameter.h: New file, extracted from earlier
36495         gnulib-common.m4.
36496         * modules/unused-parameter: New file.
36497         * lib/unistr.h: Include unused-parameter.h.
36498         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
36499         _GL_UNUSED.
36500         * modules/unistr/base (Depends-on): Add unused-parameter.
36501
36502 2009-12-24  Bruno Haible  <bruno@clisp.org>
36503
36504         Add missing dependencies to 'extensions' module.
36505         * m4/extensions.m4: Add comment.
36506         * modules/accept4 (Depends-on): Add extensions.
36507         * modules/dup3 (Depends-on): Likewise.
36508         * modules/fcntl (Depends-on): Likewise.
36509         * modules/futimens (Depends-on): Likewise.
36510         * modules/mknod (Depends-on): Likewise.
36511         * modules/pipe2 (Depends-on): Likewise.
36512         * modules/stat-time (Depends-on): Likewise.
36513         * modules/strcasestr-simple (Depends-on): Likewise.
36514         * modules/strsignal (Depends-on): Likewise.
36515         * modules/utimensat (Depends-on): Likewise.
36516         * modules/localcharset (Depends-on): Likewise. Needed because of
36517         gl_FCNTL_O_FLAGS.
36518         * modules/wcrtomb (Depends-on): Likewise. Needed because of
36519         AC_TYPE_MBSTATE_T.
36520         * modules/wcsnrtombs (Depends-on): Likewise.
36521         * modules/wcsrtombs (Depends-on): Likewise.
36522
36523 2009-12-24  Bruno Haible  <bruno@clisp.org>
36524
36525         binary-io: Avoid gcc warning due to SET_BINARY.
36526         * lib/binary-io.h (SET_BINARY): Cast the result to void.
36527         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
36528
36529 2009-12-24  Bruno Haible  <bruno@clisp.org>
36530
36531         Avoid future namespace pollution on glibc systems.
36532         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
36533         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
36534         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
36535         glibc systems.
36536
36537 2009-12-24  Bruno Haible  <bruno@clisp.org>
36538
36539         Refactor common macros used in tests.
36540         * tests/macros.h: New file.
36541         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
36542         and/or <stdlib.h>, if appropriate.
36543         (ASSERT, SIZEOF): Remove macros.
36544         * tests/test-areadlink-with-size.c: Likewise.
36545         * tests/test-areadlinkat.c: Likewise.
36546         * tests/test-areadlinkat-with-size.c: Likewise.
36547         * tests/test-argmatch.c: Likewise.
36548         * tests/test-argv-iter.c: Likewise.
36549         * tests/test-array-mergesort.c: Likewise.
36550         * tests/test-array_list.c: Likewise.
36551         * tests/test-array_oset.c: Likewise.
36552         * tests/test-avltree_list.c: Likewise.
36553         * tests/test-avltree_oset.c: Likewise.
36554         * tests/test-avltreehash_list.c: Likewise.
36555         * tests/test-base64.c: Likewise.
36556         * tests/test-binary-io.c: Likewise.
36557         * tests/test-bitrotate.c: Likewise.
36558         * tests/test-btowc.c: Likewise.
36559         * tests/test-byteswap.c: Likewise.
36560         * tests/test-c-ctype.c: Likewise.
36561         * tests/test-c-stack.c: Likewise.
36562         * tests/test-c-strcasecmp.c: Likewise.
36563         * tests/test-c-strcasestr.c: Likewise.
36564         * tests/test-c-strncasecmp.c: Likewise.
36565         * tests/test-c-strstr.c: Likewise.
36566         * tests/test-canonicalize-lgpl.c: Likewise.
36567         * tests/test-canonicalize.c: Likewise.
36568         * tests/test-carray_list.c: Likewise.
36569         * tests/test-ceilf1.c: Likewise.
36570         * tests/test-ceilf2.c: Likewise.
36571         * tests/test-ceill.c: Likewise.
36572         * tests/test-chown.c: Likewise.
36573         * tests/test-cloexec.c: Likewise.
36574         * tests/test-copy-acl.c: Likewise.
36575         * tests/test-copy-file.c: Likewise.
36576         * tests/test-count-one-bits.c: Likewise.
36577         * tests/test-dprintf-posix.c: Likewise.
36578         * tests/test-dup2.c: Likewise.
36579         * tests/test-dup3.c: Likewise.
36580         * tests/test-duplocale.c: Likewise.
36581         * tests/test-fbufmode.c: Likewise.
36582         * tests/test-fchdir.c: Likewise.
36583         * tests/test-fchownat.c: Likewise.
36584         * tests/test-fcntl-safer.c: Likewise.
36585         * tests/test-fcntl.c: Likewise.
36586         * tests/test-fdopendir.c: Likewise.
36587         * tests/test-fdutimensat.c: Likewise.
36588         * tests/test-fflush2.c: Likewise.
36589         * tests/test-file-has-acl.c: Likewise.
36590         * tests/test-filevercmp.c: Likewise.
36591         * tests/test-flock.c: Likewise.
36592         * tests/test-floorf1.c: Likewise.
36593         * tests/test-floorf2.c: Likewise.
36594         * tests/test-floorl.c: Likewise.
36595         * tests/test-fnmatch.c: Likewise.
36596         * tests/test-fopen.h: Likewise.
36597         * tests/test-fpending.c: Likewise.
36598         * tests/test-fprintf-posix.c: Likewise.
36599         * tests/test-fpurge.c: Likewise.
36600         * tests/test-freadable.c: Likewise.
36601         * tests/test-freadahead.c: Likewise.
36602         * tests/test-freading.c: Likewise.
36603         * tests/test-freadptr.c: Likewise.
36604         * tests/test-freadptr2.c: Likewise.
36605         * tests/test-freadseek.c: Likewise.
36606         * tests/test-freopen.c: Likewise.
36607         * tests/test-frexp.c: Likewise.
36608         * tests/test-frexpl.c: Likewise.
36609         * tests/test-fseek.c: Likewise.
36610         * tests/test-fseeko.c: Likewise.
36611         * tests/test-fstatat.c: Likewise.
36612         * tests/test-fstrcmp.c: Likewise.
36613         * tests/test-fsync.c: Likewise.
36614         * tests/test-ftell.c: Likewise.
36615         * tests/test-ftello.c: Likewise.
36616         * tests/test-func.c: Likewise.
36617         * tests/test-futimens.c: Likewise.
36618         * tests/test-fwritable.c: Likewise.
36619         * tests/test-fwriting.c: Likewise.
36620         * tests/test-getcwd.c: Likewise.
36621         * tests/test-getdate.c: Likewise.
36622         * tests/test-getdelim.c: Likewise.
36623         * tests/test-getdtablesize.c: Likewise.
36624         * tests/test-getgroups.c: Likewise.
36625         * tests/test-getline.c: Likewise.
36626         * tests/test-getndelim2.c: Likewise.
36627         * tests/test-glob.c: Likewise.
36628         * tests/test-hash.c: Likewise.
36629         * tests/test-i-ring.c: Likewise.
36630         * tests/test-iconv-utf.c: Likewise.
36631         * tests/test-iconv.c: Likewise.
36632         * tests/test-idpriv-drop.c: Likewise.
36633         * tests/test-idpriv-droptemp.c: Likewise.
36634         * tests/test-inet_ntop.c: Likewise.
36635         * tests/test-inet_pton.c: Likewise.
36636         * tests/test-isblank.c: Likewise.
36637         * tests/test-isfinite.c: Likewise.
36638         * tests/test-isinf.c: Likewise.
36639         * tests/test-isnan.c: Likewise.
36640         * tests/test-isnand.h: Likewise.
36641         * tests/test-isnanf.h: Likewise.
36642         * tests/test-isnanl.h: Likewise.
36643         * tests/test-lchown.c: Likewise.
36644         * tests/test-ldexpl.c: Likewise.
36645         * tests/test-link.c: Likewise.
36646         * tests/test-linkat.c: Likewise.
36647         * tests/test-linked_list.c: Likewise.
36648         * tests/test-linkedhash_list.c: Likewise.
36649         * tests/test-localename.c: Likewise.
36650         * tests/test-lseek.c: Likewise.
36651         * tests/test-lstat.c: Likewise.
36652         * tests/test-mbmemcasecmp.c: Likewise.
36653         * tests/test-mbmemcasecoll.c: Likewise.
36654         * tests/test-mbrtowc.c: Likewise.
36655         * tests/test-mbscasecmp.c: Likewise.
36656         * tests/test-mbscasestr1.c: Likewise.
36657         * tests/test-mbscasestr2.c: Likewise.
36658         * tests/test-mbscasestr3.c: Likewise.
36659         * tests/test-mbscasestr4.c: Likewise.
36660         * tests/test-mbschr.c: Likewise.
36661         * tests/test-mbscspn.c: Likewise.
36662         * tests/test-mbsinit.c: Likewise.
36663         * tests/test-mbsncasecmp.c: Likewise.
36664         * tests/test-mbsnrtowcs.c: Likewise.
36665         * tests/test-mbspbrk.c: Likewise.
36666         * tests/test-mbspcasecmp.c: Likewise.
36667         * tests/test-mbsrchr.c: Likewise.
36668         * tests/test-mbsrtowcs.c: Likewise.
36669         * tests/test-mbsspn.c: Likewise.
36670         * tests/test-mbsstr1.c: Likewise.
36671         * tests/test-mbsstr2.c: Likewise.
36672         * tests/test-mbsstr3.c: Likewise.
36673         * tests/test-memchr.c: Likewise.
36674         * tests/test-memchr2.c: Likewise.
36675         * tests/test-memcmp.c: Likewise.
36676         * tests/test-memmem.c: Likewise.
36677         * tests/test-memrchr.c: Likewise.
36678         * tests/test-mkdir.c: Likewise.
36679         * tests/test-mkdirat.c: Likewise.
36680         * tests/test-mkfifo.c: Likewise.
36681         * tests/test-mkfifoat.c: Likewise.
36682         * tests/test-mknod.c: Likewise.
36683         * tests/test-nanosleep.c: Likewise.
36684         * tests/test-nl_langinfo.c: Likewise.
36685         * tests/test-obstack-printf.c: Likewise.
36686         * tests/test-open.c: Likewise.
36687         * tests/test-openat.c: Likewise.
36688         * tests/test-pipe-filter-gi1.c: Likewise.
36689         * tests/test-pipe-filter-gi2-main.c: Likewise.
36690         * tests/test-pipe-filter-ii1.c: Likewise.
36691         * tests/test-pipe-filter-ii2-main.c: Likewise.
36692         * tests/test-pipe2.c: Likewise.
36693         * tests/test-popen.h: Likewise.
36694         * tests/test-posixtm.c: Likewise.
36695         * tests/test-pread.c: Likewise.
36696         * tests/test-printf-frexp.c: Likewise.
36697         * tests/test-printf-frexpl.c: Likewise.
36698         * tests/test-printf-posix.c: Likewise.
36699         * tests/test-priv-set.c: Likewise.
36700         * tests/test-quotearg.c: Likewise.
36701         * tests/test-random_r.c: Likewise.
36702         * tests/test-rawmemchr.c: Likewise.
36703         * tests/test-rbtree_list.c: Likewise.
36704         * tests/test-rbtree_oset.c: Likewise.
36705         * tests/test-rbtreehash_list.c: Likewise.
36706         * tests/test-readlink.c: Likewise.
36707         * tests/test-remove.c: Likewise.
36708         * tests/test-rename.c: Likewise.
36709         * tests/test-renameat.c: Likewise.
36710         * tests/test-rmdir.c: Likewise.
36711         * tests/test-round1.c: Likewise.
36712         * tests/test-roundf1.c: Likewise.
36713         * tests/test-roundl.c: Likewise.
36714         * tests/test-safe-alloc.c: Likewise.
36715         * tests/test-sameacls.c: Likewise.
36716         * tests/test-set-mode-acl.c: Likewise.
36717         * tests/test-setenv.c: Likewise.
36718         * tests/test-sigaction.c: Likewise.
36719         * tests/test-signbit.c: Likewise.
36720         * tests/test-sleep.c: Likewise.
36721         * tests/test-snprintf-posix.c: Likewise.
36722         * tests/test-snprintf.c: Likewise.
36723         * tests/test-sprintf-posix.c: Likewise.
36724         * tests/test-stat-time.c: Likewise.
36725         * tests/test-stat.c: Likewise.
36726         * tests/test-strcasestr.c: Likewise.
36727         * tests/test-strchrnul.c: Likewise.
36728         * tests/test-strerror.c: Likewise.
36729         * tests/test-striconv.c: Likewise.
36730         * tests/test-striconveh.c: Likewise.
36731         * tests/test-striconveha.c: Likewise.
36732         * tests/test-strsignal.c: Likewise.
36733         * tests/test-strstr.c: Likewise.
36734         * tests/test-strtod.c: Likewise.
36735         * tests/test-strverscmp.c: Likewise.
36736         * tests/test-symlink.c: Likewise.
36737         * tests/test-symlinkat.c: Likewise.
36738         * tests/test-trunc1.c: Likewise.
36739         * tests/test-trunc2.c: Likewise.
36740         * tests/test-truncf1.c: Likewise.
36741         * tests/test-truncf2.c: Likewise.
36742         * tests/test-truncl.c: Likewise.
36743         * tests/test-uname.c: Likewise.
36744         * tests/test-unlink.c: Likewise.
36745         * tests/test-unlinkat.c: Likewise.
36746         * tests/test-unsetenv.c: Likewise.
36747         * tests/test-usleep.c: Likewise.
36748         * tests/test-utimens.c: Likewise.
36749         * tests/test-utimensat.c: Likewise.
36750         * tests/test-vasnprintf-posix.c: Likewise.
36751         * tests/test-vasnprintf-posix2.c: Likewise.
36752         * tests/test-vasnprintf.c: Likewise.
36753         * tests/test-vasprintf-posix.c: Likewise.
36754         * tests/test-vasprintf.c: Likewise.
36755         * tests/test-vdprintf-posix.c: Likewise.
36756         * tests/test-vfprintf-posix.c: Likewise.
36757         * tests/test-vprintf-posix.c: Likewise.
36758         * tests/test-vsnprintf-posix.c: Likewise.
36759         * tests/test-vsnprintf.c: Likewise.
36760         * tests/test-vsprintf-posix.c: Likewise.
36761         * tests/test-wcrtomb.c: Likewise.
36762         * tests/test-wcsnrtombs.c: Likewise.
36763         * tests/test-wcsrtombs.c: Likewise.
36764         * tests/test-wctype.c: Likewise.
36765         * tests/test-wcwidth.c: Likewise.
36766         * tests/test-xfprintf-posix.c: Likewise.
36767         * tests/test-xmemdup0.c: Likewise.
36768         * tests/test-xprintf-posix.c: Likewise.
36769         * tests/test-xvasprintf.c: Likewise.
36770         * tests/unicase/test-locale-language.c: Likewise.
36771         * tests/unicase/test-mapping-part1.h: Likewise.
36772         * tests/unicase/test-predicate-part1.h: Likewise.
36773         * tests/unicase/test-u8-casecmp.c: Likewise.
36774         * tests/unicase/test-u8-casecoll.c: Likewise.
36775         * tests/unicase/test-u8-casefold.c: Likewise.
36776         * tests/unicase/test-u8-is-cased.c: Likewise.
36777         * tests/unicase/test-u8-is-casefolded.c: Likewise.
36778         * tests/unicase/test-u8-is-lowercase.c: Likewise.
36779         * tests/unicase/test-u8-is-titlecase.c: Likewise.
36780         * tests/unicase/test-u8-is-uppercase.c: Likewise.
36781         * tests/unicase/test-u8-tolower.c: Likewise.
36782         * tests/unicase/test-u8-totitle.c: Likewise.
36783         * tests/unicase/test-u8-toupper.c: Likewise.
36784         * tests/unicase/test-u16-casecmp.c: Likewise.
36785         * tests/unicase/test-u16-casecoll.c: Likewise.
36786         * tests/unicase/test-u16-casefold.c: Likewise.
36787         * tests/unicase/test-u16-is-cased.c: Likewise.
36788         * tests/unicase/test-u16-is-casefolded.c: Likewise.
36789         * tests/unicase/test-u16-is-lowercase.c: Likewise.
36790         * tests/unicase/test-u16-is-titlecase.c: Likewise.
36791         * tests/unicase/test-u16-is-uppercase.c: Likewise.
36792         * tests/unicase/test-u16-tolower.c: Likewise.
36793         * tests/unicase/test-u16-totitle.c: Likewise.
36794         * tests/unicase/test-u16-toupper.c: Likewise.
36795         * tests/unicase/test-u32-casecmp.c: Likewise.
36796         * tests/unicase/test-u32-casecoll.c: Likewise.
36797         * tests/unicase/test-u32-casefold.c: Likewise.
36798         * tests/unicase/test-u32-is-cased.c: Likewise.
36799         * tests/unicase/test-u32-is-casefolded.c: Likewise.
36800         * tests/unicase/test-u32-is-lowercase.c: Likewise.
36801         * tests/unicase/test-u32-is-titlecase.c: Likewise.
36802         * tests/unicase/test-u32-is-uppercase.c: Likewise.
36803         * tests/unicase/test-u32-tolower.c: Likewise.
36804         * tests/unicase/test-u32-totitle.c: Likewise.
36805         * tests/unicase/test-u32-toupper.c: Likewise.
36806         * tests/unicase/test-ulc-casecmp.c: Likewise.
36807         * tests/unicase/test-ulc-casecoll.c: Likewise.
36808         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
36809         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
36810         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
36811         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
36812         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
36813         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
36814         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
36815         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
36816         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
36817         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
36818         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
36819         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
36820         * tests/unictype/test-bidi_byname.c: Likewise.
36821         * tests/unictype/test-bidi_name.c: Likewise.
36822         * tests/unictype/test-bidi_of.c: Likewise.
36823         * tests/unictype/test-bidi_test.c: Likewise.
36824         * tests/unictype/test-block_list.c: Likewise.
36825         * tests/unictype/test-block_of.c: Likewise.
36826         * tests/unictype/test-block_test.c: Likewise.
36827         * tests/unictype/test-categ_and.c: Likewise.
36828         * tests/unictype/test-categ_and_not.c: Likewise.
36829         * tests/unictype/test-categ_byname.c: Likewise.
36830         * tests/unictype/test-categ_name.c: Likewise.
36831         * tests/unictype/test-categ_none.c: Likewise.
36832         * tests/unictype/test-categ_of.c: Likewise.
36833         * tests/unictype/test-categ_or.c: Likewise.
36834         * tests/unictype/test-categ_test_withtable.c: Likewise.
36835         * tests/unictype/test-combining.c: Likewise.
36836         * tests/unictype/test-decdigit.c: Likewise.
36837         * tests/unictype/test-digit.c: Likewise.
36838         * tests/unictype/test-mirror.c: Likewise.
36839         * tests/unictype/test-numeric.c: Likewise.
36840         * tests/unictype/test-pr_byname.c: Likewise.
36841         * tests/unictype/test-pr_test.c: Likewise.
36842         * tests/unictype/test-predicate-part1.h: Likewise.
36843         * tests/unictype/test-scripts.c: Likewise.
36844         * tests/unictype/test-sy_c_ident.c: Likewise.
36845         * tests/unictype/test-sy_java_ident.c: Likewise.
36846         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
36847         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
36848         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
36849         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
36850         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
36851         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
36852         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
36853         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
36854         * tests/uninorm/test-canonical-decomposition.c: Likewise.
36855         * tests/uninorm/test-compat-decomposition.c: Likewise.
36856         * tests/uninorm/test-composition.c: Likewise.
36857         * tests/uninorm/test-decomposing-form.c: Likewise.
36858         * tests/uninorm/test-decomposition.c: Likewise.
36859         * tests/uninorm/test-u8-nfc.c: Likewise.
36860         * tests/uninorm/test-u8-nfd.c: Likewise.
36861         * tests/uninorm/test-u8-nfkc.c: Likewise.
36862         * tests/uninorm/test-u8-nfkd.c: Likewise.
36863         * tests/uninorm/test-u8-normcmp.c: Likewise.
36864         * tests/uninorm/test-u8-normcoll.c: Likewise.
36865         * tests/uninorm/test-u16-nfc.c: Likewise.
36866         * tests/uninorm/test-u16-nfd.c: Likewise.
36867         * tests/uninorm/test-u16-nfkc.c: Likewise.
36868         * tests/uninorm/test-u16-nfkd.c: Likewise.
36869         * tests/uninorm/test-u16-normcmp.c: Likewise.
36870         * tests/uninorm/test-u16-normcoll.c: Likewise.
36871         * tests/uninorm/test-u32-nfc.c: Likewise.
36872         * tests/uninorm/test-u32-nfd.c: Likewise.
36873         * tests/uninorm/test-u32-nfkc.c: Likewise.
36874         * tests/uninorm/test-u32-nfkd.c: Likewise.
36875         * tests/uninorm/test-u32-normalize-big.c: Likewise.
36876         * tests/uninorm/test-u32-normcmp.c: Likewise.
36877         * tests/uninorm/test-u32-normcoll.c: Likewise.
36878         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
36879         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
36880         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
36881         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
36882         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
36883         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
36884         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
36885         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
36886         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
36887         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
36888         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
36889         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
36890         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
36891         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
36892         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
36893         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
36894         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
36895         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
36896         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
36897         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
36898         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
36899         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
36900         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
36901         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
36902         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
36903         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
36904         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
36905         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
36906         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
36907         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
36908         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
36909         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
36910         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
36911         * tests/uniwidth/test-u8-strwidth.c: Likewise.
36912         * tests/uniwidth/test-u8-width.c: Likewise.
36913         * tests/uniwidth/test-u16-strwidth.c: Likewise.
36914         * tests/uniwidth/test-u16-width.c: Likewise.
36915         * tests/uniwidth/test-u32-strwidth.c: Likewise.
36916         * tests/uniwidth/test-u32-width.c: Likewise.
36917         * tests/uniwidth/test-uc_width.c: Likewise.
36918         * tests/uniwidth/test-uc_width2.c: Likewise.
36919         * modules/acl-tests (Files): Add tests/macros.h.
36920         * modules/areadlink-tests (Files): Likewise.
36921         * modules/areadlink-with-size-tests (Files): Likewise.
36922         * modules/areadlinkat-tests (Files): Likewise.
36923         * modules/areadlinkat-with-size-tests (Files): Likewise.
36924         * modules/argmatch-tests (Files): Likewise.
36925         * modules/argv-iter-tests (Files): Likewise.
36926         * modules/array-list-tests (Files): Likewise.
36927         * modules/array-mergesort-tests (Files): Likewise.
36928         * modules/array-oset-tests (Files): Likewise.
36929         * modules/avltree-list-tests (Files): Likewise.
36930         * modules/avltree-oset-tests (Files): Likewise.
36931         * modules/avltreehash-list-tests (Files): Likewise.
36932         * modules/base64-tests (Files): Likewise.
36933         * modules/binary-io-tests (Files): Likewise.
36934         * modules/bitrotate-tests (Files): Likewise.
36935         * modules/btowc-tests (Files): Likewise.
36936         * modules/byteswap-tests (Files): Likewise.
36937         * modules/c-ctype-tests (Files): Likewise.
36938         * modules/c-stack-tests (Files): Likewise.
36939         * modules/c-strcase-tests (Files): Likewise.
36940         * modules/c-strcasestr-tests (Files): Likewise.
36941         * modules/c-strstr-tests (Files): Likewise.
36942         * modules/canonicalize-lgpl-tests (Files): Likewise.
36943         * modules/canonicalize-tests (Files): Likewise.
36944         * modules/carray-list-tests (Files): Likewise.
36945         * modules/ceilf-tests (Files): Likewise.
36946         * modules/ceill-tests (Files): Likewise.
36947         * modules/chown-tests (Files): Likewise.
36948         * modules/cloexec-tests (Files): Likewise.
36949         * modules/copy-file-tests (Files): Likewise.
36950         * modules/count-one-bits-tests (Files): Likewise.
36951         * modules/dprintf-posix-tests (Files): Likewise.
36952         * modules/dup2-tests (Files): Likewise.
36953         * modules/dup3-tests (Files): Likewise.
36954         * modules/duplocale-tests (Files): Likewise.
36955         * modules/fbufmode-tests (Files): Likewise.
36956         * modules/fchdir-tests (Files): Likewise.
36957         * modules/fcntl-safer-tests (Files): Likewise.
36958         * modules/fcntl-tests (Files): Likewise.
36959         * modules/fdopendir-tests (Files): Likewise.
36960         * modules/fdutimensat-tests (Files): Likewise.
36961         * modules/fflush-tests (Files): Likewise.
36962         * modules/filevercmp-tests (Files): Likewise.
36963         * modules/flock-tests (Files): Likewise.
36964         * modules/floorf-tests (Files): Likewise.
36965         * modules/floorl-tests (Files): Likewise.
36966         * modules/fnmatch-tests (Files): Likewise.
36967         * modules/fopen-safer-tests (Files): Likewise.
36968         * modules/fopen-tests (Files): Likewise.
36969         * modules/fpending-tests (Files): Likewise.
36970         * modules/fprintf-posix-tests (Files): Likewise.
36971         * modules/fpurge-tests (Files): Likewise.
36972         * modules/freadable-tests (Files): Likewise.
36973         * modules/freadahead-tests (Files): Likewise.
36974         * modules/freading-tests (Files): Likewise.
36975         * modules/freadptr-tests (Files): Likewise.
36976         * modules/freadseek-tests (Files): Likewise.
36977         * modules/freopen-tests (Files): Likewise.
36978         * modules/frexp-nolibm-tests (Files): Likewise.
36979         * modules/frexp-tests (Files): Likewise.
36980         * modules/frexpl-nolibm-tests (Files): Likewise.
36981         * modules/frexpl-tests (Files): Likewise.
36982         * modules/fseek-tests (Files): Likewise.
36983         * modules/fseeko-tests (Files): Likewise.
36984         * modules/fstrcmp-tests (Files): Likewise.
36985         * modules/fsync-tests (Files): Likewise.
36986         * modules/ftell-tests (Files): Likewise.
36987         * modules/ftello-tests (Files): Likewise.
36988         * modules/func-tests (Files): Likewise.
36989         * modules/futimens-tests (Files): Likewise.
36990         * modules/fwritable-tests (Files): Likewise.
36991         * modules/fwriting-tests (Files): Likewise.
36992         * modules/getcwd-tests (Files): Likewise.
36993         * modules/getdate-tests (Files): Likewise.
36994         * modules/getdelim-tests (Files): Likewise.
36995         * modules/getdtablesize-tests (Files): Likewise.
36996         * modules/getgroups-tests (Files): Likewise.
36997         * modules/getline-tests (Files): Likewise.
36998         * modules/getndelim2-tests (Files): Likewise.
36999         * modules/glob-tests (Files): Likewise.
37000         * modules/hash-tests (Files): Likewise.
37001         * modules/i-ring-tests (Files): Likewise.
37002         * modules/iconv-tests (Files): Likewise.
37003         * modules/iconv_open-utf-tests (Files): Likewise.
37004         * modules/idpriv-drop-tests (Files): Likewise.
37005         * modules/idpriv-droptemp-tests (Files): Likewise.
37006         * modules/inet_ntop-tests (Files): Likewise.
37007         * modules/inet_pton-tests (Files): Likewise.
37008         * modules/isblank-tests (Files): Likewise.
37009         * modules/isfinite-tests (Files): Likewise.
37010         * modules/isinf-tests (Files): Likewise.
37011         * modules/isnan-tests (Files): Likewise.
37012         * modules/isnand-nolibm-tests (Files): Likewise.
37013         * modules/isnand-tests (Files): Likewise.
37014         * modules/isnanf-nolibm-tests (Files): Likewise.
37015         * modules/isnanf-tests (Files): Likewise.
37016         * modules/isnanl-nolibm-tests (Files): Likewise.
37017         * modules/isnanl-tests (Files): Likewise.
37018         * modules/lchown-tests (Files): Likewise.
37019         * modules/ldexpl-tests (Files): Likewise.
37020         * modules/link-tests (Files): Likewise.
37021         * modules/linkat-tests (Files): Likewise.
37022         * modules/linked-list-tests (Files): Likewise.
37023         * modules/linkedhash-list-tests (Files): Likewise.
37024         * modules/localename-tests (Files): Likewise.
37025         * modules/lseek-tests (Files): Likewise.
37026         * modules/lstat-tests (Files): Likewise.
37027         * modules/mbmemcasecmp-tests (Files): Likewise.
37028         * modules/mbmemcasecoll-tests (Files): Likewise.
37029         * modules/mbrtowc-tests (Files): Likewise.
37030         * modules/mbscasecmp-tests (Files): Likewise.
37031         * modules/mbscasestr-tests (Files): Likewise.
37032         * modules/mbschr-tests (Files): Likewise.
37033         * modules/mbscspn-tests (Files): Likewise.
37034         * modules/mbsinit-tests (Files): Likewise.
37035         * modules/mbsncasecmp-tests (Files): Likewise.
37036         * modules/mbsnrtowcs-tests (Files): Likewise.
37037         * modules/mbspbrk-tests (Files): Likewise.
37038         * modules/mbspcasecmp-tests (Files): Likewise.
37039         * modules/mbsrchr-tests (Files): Likewise.
37040         * modules/mbsrtowcs-tests (Files): Likewise.
37041         * modules/mbsspn-tests (Files): Likewise.
37042         * modules/mbsstr-tests (Files): Likewise.
37043         * modules/memchr-tests (Files): Likewise.
37044         * modules/memchr2-tests (Files): Likewise.
37045         * modules/memcmp-tests (Files): Likewise.
37046         * modules/memmem-tests (Files): Likewise.
37047         * modules/memrchr-tests (Files): Likewise.
37048         * modules/mkdir-tests (Files): Likewise.
37049         * modules/mkfifo-tests (Files): Likewise.
37050         * modules/mkfifoat-tests (Files): Likewise.
37051         * modules/mknod-tests (Files): Likewise.
37052         * modules/nanosleep-tests (Files): Likewise.
37053         * modules/nl_langinfo-tests (Files): Likewise.
37054         * modules/obstack-printf-tests (Files): Likewise.
37055         * modules/open-tests (Files): Likewise.
37056         * modules/openat-tests (Files): Likewise.
37057         * modules/pipe-filter-gi-tests (Files): Likewise.
37058         * modules/pipe-filter-ii-tests (Files): Likewise.
37059         * modules/pipe2-tests (Files): Likewise.
37060         * modules/popen-safer-tests (Files): Likewise.
37061         * modules/popen-tests (Files): Likewise.
37062         * modules/posixtm-tests (Files): Likewise.
37063         * modules/pread-tests (Files): Likewise.
37064         * modules/printf-frexp-tests (Files): Likewise.
37065         * modules/printf-frexpl-tests (Files): Likewise.
37066         * modules/printf-posix-tests (Files): Likewise.
37067         * modules/priv-set-tests (Files): Likewise.
37068         * modules/quotearg-tests (Files): Likewise.
37069         * modules/random_r-tests (Files): Likewise.
37070         * modules/rawmemchr-tests (Files): Likewise.
37071         * modules/rbtree-list-tests (Files): Likewise.
37072         * modules/rbtree-oset-tests (Files): Likewise.
37073         * modules/rbtreehash-list-tests (Files): Likewise.
37074         * modules/readlink-tests (Files): Likewise.
37075         * modules/remove-tests (Files): Likewise.
37076         * modules/rename-tests (Files): Likewise.
37077         * modules/renameat-tests (Files): Likewise.
37078         * modules/rmdir-tests (Files): Likewise.
37079         * modules/round-tests (Files): Likewise.
37080         * modules/roundf-tests (Files): Likewise.
37081         * modules/roundl-tests (Files): Likewise.
37082         * modules/safe-alloc-tests (Files): Likewise.
37083         * modules/setenv-tests (Files): Likewise.
37084         * modules/sigaction-tests (Files): Likewise.
37085         * modules/signbit-tests (Files): Likewise.
37086         * modules/sleep-tests (Files): Likewise.
37087         * modules/snprintf-posix-tests (Files): Likewise.
37088         * modules/snprintf-tests (Files): Likewise.
37089         * modules/sprintf-posix-tests (Files): Likewise.
37090         * modules/stat-tests (Files): Likewise.
37091         * modules/stat-time-tests (Files): Likewise.
37092         * modules/strcasestr-tests (Files): Likewise.
37093         * modules/strchrnul-tests (Files): Likewise.
37094         * modules/strerror-tests (Files): Likewise.
37095         * modules/striconv-tests (Files): Likewise.
37096         * modules/striconveh-tests (Files): Likewise.
37097         * modules/striconveha-tests (Files): Likewise.
37098         * modules/strsignal-tests (Files): Likewise.
37099         * modules/strstr-tests (Files): Likewise.
37100         * modules/strtod-tests (Files): Likewise.
37101         * modules/strverscmp-tests (Files): Likewise.
37102         * modules/symlink-tests (Files): Likewise.
37103         * modules/symlinkat-tests (Files): Likewise.
37104         * modules/trunc-tests (Files): Likewise.
37105         * modules/truncf-tests (Files): Likewise.
37106         * modules/truncl-tests (Files): Likewise.
37107         * modules/uname-tests (Files): Likewise.
37108         * modules/unicase/cased-tests (Files): Likewise.
37109         * modules/unicase/ignorable-tests (Files): Likewise.
37110         * modules/unicase/locale-language-tests (Files): Likewise.
37111         * modules/unicase/tolower-tests (Files): Likewise.
37112         * modules/unicase/totitle-tests (Files): Likewise.
37113         * modules/unicase/toupper-tests (Files): Likewise.
37114         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37115         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37116         * modules/unicase/u8-casefold-tests (Files): Likewise.
37117         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37118         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37119         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37120         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37121         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37122         * modules/unicase/u8-tolower-tests (Files): Likewise.
37123         * modules/unicase/u8-totitle-tests (Files): Likewise.
37124         * modules/unicase/u8-toupper-tests (Files): Likewise.
37125         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37126         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37127         * modules/unicase/u16-casefold-tests (Files): Likewise.
37128         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37129         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37130         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37131         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37132         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37133         * modules/unicase/u16-tolower-tests (Files): Likewise.
37134         * modules/unicase/u16-totitle-tests (Files): Likewise.
37135         * modules/unicase/u16-toupper-tests (Files): Likewise.
37136         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37137         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37138         * modules/unicase/u32-casefold-tests (Files): Likewise.
37139         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37140         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37141         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37142         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37143         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37144         * modules/unicase/u32-tolower-tests (Files): Likewise.
37145         * modules/unicase/u32-totitle-tests (Files): Likewise.
37146         * modules/unicase/u32-toupper-tests (Files): Likewise.
37147         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37148         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37149         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37150         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37151         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37152         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37153         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37154         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37155         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37156         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37157         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37158         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37159         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37160         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37161         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37162         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37163         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37164         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37165         * modules/unictype/block-list-tests (Files): Likewise.
37166         * modules/unictype/block-of-tests (Files): Likewise.
37167         * modules/unictype/block-test-tests (Files): Likewise.
37168         * modules/unictype/category-C-tests (Files): Likewise.
37169         * modules/unictype/category-Cc-tests (Files): Likewise.
37170         * modules/unictype/category-Cf-tests (Files): Likewise.
37171         * modules/unictype/category-Cn-tests (Files): Likewise.
37172         * modules/unictype/category-Co-tests (Files): Likewise.
37173         * modules/unictype/category-Cs-tests (Files): Likewise.
37174         * modules/unictype/category-L-tests (Files): Likewise.
37175         * modules/unictype/category-Ll-tests (Files): Likewise.
37176         * modules/unictype/category-Lm-tests (Files): Likewise.
37177         * modules/unictype/category-Lo-tests (Files): Likewise.
37178         * modules/unictype/category-Lt-tests (Files): Likewise.
37179         * modules/unictype/category-Lu-tests (Files): Likewise.
37180         * modules/unictype/category-M-tests (Files): Likewise.
37181         * modules/unictype/category-Mc-tests (Files): Likewise.
37182         * modules/unictype/category-Me-tests (Files): Likewise.
37183         * modules/unictype/category-Mn-tests (Files): Likewise.
37184         * modules/unictype/category-N-tests (Files): Likewise.
37185         * modules/unictype/category-Nd-tests (Files): Likewise.
37186         * modules/unictype/category-Nl-tests (Files): Likewise.
37187         * modules/unictype/category-No-tests (Files): Likewise.
37188         * modules/unictype/category-P-tests (Files): Likewise.
37189         * modules/unictype/category-Pc-tests (Files): Likewise.
37190         * modules/unictype/category-Pd-tests (Files): Likewise.
37191         * modules/unictype/category-Pe-tests (Files): Likewise.
37192         * modules/unictype/category-Pf-tests (Files): Likewise.
37193         * modules/unictype/category-Pi-tests (Files): Likewise.
37194         * modules/unictype/category-Po-tests (Files): Likewise.
37195         * modules/unictype/category-Ps-tests (Files): Likewise.
37196         * modules/unictype/category-S-tests (Files): Likewise.
37197         * modules/unictype/category-Sc-tests (Files): Likewise.
37198         * modules/unictype/category-Sk-tests (Files): Likewise.
37199         * modules/unictype/category-Sm-tests (Files): Likewise.
37200         * modules/unictype/category-So-tests (Files): Likewise.
37201         * modules/unictype/category-Z-tests (Files): Likewise.
37202         * modules/unictype/category-Zl-tests (Files): Likewise.
37203         * modules/unictype/category-Zp-tests (Files): Likewise.
37204         * modules/unictype/category-Zs-tests (Files): Likewise.
37205         * modules/unictype/category-and-not-tests (Files): Likewise.
37206         * modules/unictype/category-and-tests (Files): Likewise.
37207         * modules/unictype/category-byname-tests (Files): Likewise.
37208         * modules/unictype/category-name-tests (Files): Likewise.
37209         * modules/unictype/category-none-tests (Files): Likewise.
37210         * modules/unictype/category-of-tests (Files): Likewise.
37211         * modules/unictype/category-or-tests (Files): Likewise.
37212         * modules/unictype/category-test-withtable-tests (Files): Likewise.
37213         * modules/unictype/combining-class-tests (Files): Likewise.
37214         * modules/unictype/ctype-alnum-tests (Files): Likewise.
37215         * modules/unictype/ctype-alpha-tests (Files): Likewise.
37216         * modules/unictype/ctype-blank-tests (Files): Likewise.
37217         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
37218         * modules/unictype/ctype-digit-tests (Files): Likewise.
37219         * modules/unictype/ctype-graph-tests (Files): Likewise.
37220         * modules/unictype/ctype-lower-tests (Files): Likewise.
37221         * modules/unictype/ctype-print-tests (Files): Likewise.
37222         * modules/unictype/ctype-punct-tests (Files): Likewise.
37223         * modules/unictype/ctype-space-tests (Files): Likewise.
37224         * modules/unictype/ctype-upper-tests (Files): Likewise.
37225         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
37226         * modules/unictype/decimal-digit-tests (Files): Likewise.
37227         * modules/unictype/digit-tests (Files): Likewise.
37228         * modules/unictype/mirror-tests (Files): Likewise.
37229         * modules/unictype/numeric-tests (Files): Likewise.
37230         * modules/unictype/property-alphabetic-tests (Files): Likewise.
37231         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
37232         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
37233         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
37234         Likewise.
37235         * modules/unictype/property-bidi-block-separator-tests (Files):
37236         Likewise.
37237         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
37238         Likewise.
37239         * modules/unictype/property-bidi-common-separator-tests (Files):
37240         Likewise.
37241         * modules/unictype/property-bidi-control-tests (Files): Likewise.
37242         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
37243         Likewise.
37244         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
37245         Likewise.
37246         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
37247         Likewise.
37248         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
37249         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
37250         Likewise.
37251         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
37252         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
37253         Likewise.
37254         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
37255         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
37256         * modules/unictype/property-bidi-segment-separator-tests (Files):
37257         Likewise.
37258         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
37259         * modules/unictype/property-byname-tests (Files): Likewise.
37260         * modules/unictype/property-combining-tests (Files): Likewise.
37261         * modules/unictype/property-composite-tests (Files): Likewise.
37262         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
37263         * modules/unictype/property-dash-tests (Files): Likewise.
37264         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
37265         * modules/unictype/property-default-ignorable-code-point-tests (Files):
37266         Likewise.
37267         * modules/unictype/property-deprecated-tests (Files): Likewise.
37268         * modules/unictype/property-diacritic-tests (Files): Likewise.
37269         * modules/unictype/property-extender-tests (Files): Likewise.
37270         * modules/unictype/property-format-control-tests (Files): Likewise.
37271         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
37272         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
37273         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
37274         * modules/unictype/property-hex-digit-tests (Files): Likewise.
37275         * modules/unictype/property-hyphen-tests (Files): Likewise.
37276         * modules/unictype/property-id-continue-tests (Files): Likewise.
37277         * modules/unictype/property-id-start-tests (Files): Likewise.
37278         * modules/unictype/property-ideographic-tests (Files): Likewise.
37279         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
37280         * modules/unictype/property-ids-trinary-operator-tests (Files):
37281         Likewise.
37282         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
37283         * modules/unictype/property-iso-control-tests (Files): Likewise.
37284         * modules/unictype/property-join-control-tests (Files): Likewise.
37285         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
37286         * modules/unictype/property-line-separator-tests (Files): Likewise.
37287         * modules/unictype/property-logical-order-exception-tests (Files):
37288         Likewise.
37289         * modules/unictype/property-lowercase-tests (Files): Likewise.
37290         * modules/unictype/property-math-tests (Files): Likewise.
37291         * modules/unictype/property-non-break-tests (Files): Likewise.
37292         * modules/unictype/property-not-a-character-tests (Files): Likewise.
37293         * modules/unictype/property-numeric-tests (Files): Likewise.
37294         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
37295         * modules/unictype/property-other-default-ignorable-code-point-tests
37296         (Files): Likewise.
37297         * modules/unictype/property-other-grapheme-extend-tests (Files):
37298         Likewise.
37299         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
37300         * modules/unictype/property-other-id-start-tests (Files): Likewise.
37301         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
37302         * modules/unictype/property-other-math-tests (Files): Likewise.
37303         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
37304         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
37305         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
37306         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
37307         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
37308         * modules/unictype/property-private-use-tests (Files): Likewise.
37309         * modules/unictype/property-punctuation-tests (Files): Likewise.
37310         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
37311         * modules/unictype/property-radical-tests (Files): Likewise.
37312         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
37313         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
37314         * modules/unictype/property-space-tests (Files): Likewise.
37315         * modules/unictype/property-terminal-punctuation-tests (Files):
37316         Likewise.
37317         * modules/unictype/property-test-tests (Files): Likewise.
37318         * modules/unictype/property-titlecase-tests (Files): Likewise.
37319         * modules/unictype/property-unassigned-code-value-tests (Files):
37320         Likewise.
37321         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
37322         * modules/unictype/property-uppercase-tests (Files): Likewise.
37323         * modules/unictype/property-variation-selector-tests (Files): Likewise.
37324         * modules/unictype/property-white-space-tests (Files): Likewise.
37325         * modules/unictype/property-xid-continue-tests (Files): Likewise.
37326         * modules/unictype/property-xid-start-tests (Files): Likewise.
37327         * modules/unictype/property-zero-width-tests (Files): Likewise.
37328         * modules/unictype/scripts-tests (Files): Likewise.
37329         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
37330         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
37331         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
37332         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
37333         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
37334         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
37335         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
37336         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
37337         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
37338         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
37339         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
37340         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
37341         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
37342         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
37343         * modules/uninorm/composition-tests (Files): Likewise.
37344         * modules/uninorm/decomposing-form-tests (Files): Likewise.
37345         * modules/uninorm/decomposition-tests (Files): Likewise.
37346         * modules/uninorm/filter-tests (Files): Likewise.
37347         * modules/uninorm/nfc-tests (Files): Likewise.
37348         * modules/uninorm/nfd-tests (Files): Likewise.
37349         * modules/uninorm/nfkc-tests (Files): Likewise.
37350         * modules/uninorm/nfkd-tests (Files): Likewise.
37351         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
37352         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
37353         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
37354         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
37355         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
37356         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
37357         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
37358         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
37359         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
37360         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
37361         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
37362         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
37363         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
37364         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
37365         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
37366         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
37367         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
37368         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
37369         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
37370         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
37371         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
37372         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
37373         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
37374         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
37375         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
37376         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
37377         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
37378         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
37379         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
37380         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
37381         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
37382         * modules/uniwidth/u8-width-tests (Files): Likewise.
37383         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
37384         * modules/uniwidth/u16-width-tests (Files): Likewise.
37385         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
37386         * modules/uniwidth/u32-width-tests (Files): Likewise.
37387         * modules/uniwidth/width-tests (Files): Likewise.
37388         * modules/unlink-tests (Files): Likewise.
37389         * modules/unsetenv-tests (Files): Likewise.
37390         * modules/usleep-tests (Files): Likewise.
37391         * modules/utimens-tests (Files): Likewise.
37392         * modules/utimensat-tests (Files): Likewise.
37393         * modules/vasnprintf-posix-tests (Files): Likewise.
37394         * modules/vasnprintf-tests (Files): Likewise.
37395         * modules/vasprintf-posix-tests (Files): Likewise.
37396         * modules/vasprintf-tests (Files): Likewise.
37397         * modules/vdprintf-posix-tests (Files): Likewise.
37398         * modules/vfprintf-posix-tests (Files): Likewise.
37399         * modules/vprintf-posix-tests (Files): Likewise.
37400         * modules/vsnprintf-posix-tests (Files): Likewise.
37401         * modules/vsnprintf-tests (Files): Likewise.
37402         * modules/vsprintf-posix-tests (Files): Likewise.
37403         * modules/wcrtomb-tests (Files): Likewise.
37404         * modules/wcsnrtombs-tests (Files): Likewise.
37405         * modules/wcsrtombs-tests (Files): Likewise.
37406         * modules/wctype-tests (Files): Likewise.
37407         * modules/wcwidth-tests (Files): Likewise.
37408         * modules/xmemdup0-tests (Files): Likewise.
37409         * modules/xprintf-posix-tests (Files): Likewise.
37410         * modules/xvasprintf-tests (Files): Likewise.
37411
37412 2009-12-24  Eric Blake  <ebb9@byu.net>
37413
37414         test-nanosleep: fix typo
37415         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
37416         patch.
37417         Reported by Bruno Haible.
37418
37419 2009-12-24  Bruno Haible  <bruno@clisp.org>
37420
37421         Reduce namespace pollution on glibc systems.
37422         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
37423         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
37424         systems.
37425         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
37426         <getopt.h> on glibc systems.
37427         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
37428         systems.
37429         * lib/fcntl.c: Include <unistd.h> here instead.
37430
37431 2009-12-24  Bruno Haible  <bruno@clisp.org>
37432
37433         * lib/stdlib.in.h (includes): Fix typo in today's commit.
37434
37435 2009-12-24  Eric Blake  <ebb9@byu.net>
37436
37437         tests: add signature checks
37438         * tests/signature.h (SIGNATURE_CHECK): New file.
37439         * modules/atexit-tests (Files): Use it.
37440         * modules/btowc-tests (Files): Likewise.
37441         * modules/canonicalize-lgpl-tests (Files): Likewise.
37442         * modules/ceilf-tests (Files): Likewise.
37443         * modules/ceill-tests (Files): Likewise.
37444         * modules/chown-tests (Files): Likewise.
37445         * modules/dprintf-posix-tests (Files): Likewise.
37446         * modules/dup2-tests (Files): Likewise.
37447         * modules/dup3-tests (Files): Likewise.
37448         * modules/duplocale-tests (Files): Likewise.
37449         * modules/fchdir-tests (Files): Likewise.
37450         * modules/fcntl-tests (Files): Likewise.
37451         * modules/fdopendir-tests (Files): Likewise.
37452         * modules/fflush-tests (Files): Likewise.
37453         * modules/flock-tests (Files): Likewise.
37454         * modules/floorf-tests (Files): Likewise.
37455         * modules/floorl-tests (Files): Likewise.
37456         * modules/fnmatch-tests (Files): Likewise.
37457         * modules/fopen-tests (Files): Likewise.
37458         * modules/fprintf-posix-tests (Files): Likewise.
37459         * modules/freopen-tests (Files): Likewise.
37460         * modules/frexp-nolibm-tests (Files): Likewise.
37461         * modules/frexp-tests (Files): Likewise.
37462         * modules/frexpl-nolibm-tests (Files): Likewise.
37463         * modules/frexpl-tests (Files): Likewise.
37464         * modules/fseek-tests (Files): Likewise.
37465         * modules/fseeko-tests (Files): Likewise.
37466         * modules/fsync-tests (Files): Likewise.
37467         * modules/ftell-tests (Files): Likewise.
37468         * modules/ftello-tests (Files): Likewise.
37469         * modules/futimens-tests (Files): Likewise.
37470         * modules/getaddrinfo-tests (Files): Likewise.
37471         * modules/getcwd-tests (Files): Likewise.
37472         * modules/getdelim-tests (Files): Likewise.
37473         * modules/getdtablesize-tests (Files): Likewise.
37474         * modules/getgroups-tests (Files): Likewise.
37475         * modules/gethostname-tests (Files): Likewise.
37476         * modules/getline-tests (Files): Likewise.
37477         * modules/getopt-posix-tests (Files): Likewise.
37478         * modules/gettimeofday-tests (Files): Likewise.
37479         * modules/glob-tests (Files): Likewise.
37480         * modules/iconv-tests (Files): Likewise.
37481         * modules/inet_ntop-tests (Files): Likewise.
37482         * modules/inet_pton-tests (Files): Likewise.
37483         * modules/isblank-tests (Files): Likewise.
37484         * modules/lchown-tests (Files): Likewise.
37485         * modules/ldexpl-tests (Files): Likewise.
37486         * modules/link-tests (Files): Likewise.
37487         * modules/linkat-tests (Files): Likewise.
37488         * modules/lseek-tests (Files): Likewise.
37489         * modules/lstat-tests (Files): Likewise.
37490         * modules/mbrtowc-tests (Files): Likewise.
37491         * modules/mbsinit-tests (Files): Likewise.
37492         * modules/mbsnrtowcs-tests (Files): Likewise.
37493         * modules/mbsrtowcs-tests (Files): Likewise.
37494         * modules/memchr-tests (Files): Likewise.
37495         * modules/memcmp-tests (Files): Likewise.
37496         * modules/memmem-tests (Files): Likewise.
37497         * modules/memrchr-tests (Files): Likewise.
37498         * modules/mkdir-tests (Files): Likewise.
37499         * modules/mkfifo-tests (Files): Likewise.
37500         * modules/mkfifoat-tests (Files): Likewise.
37501         * modules/mknod-tests (Files): Likewise.
37502         * modules/nanosleep-tests (Files): Likewise.
37503         * modules/nl_langinfo-tests (Files): Likewise.
37504         * modules/obstack-printf-tests (Files): Likewise.
37505         * modules/open-tests (Files): Likewise.
37506         * modules/openat-tests (Files): Likewise.
37507         * modules/perror-tests (Files): Likewise.
37508         * modules/pipe2-tests (Files): Likewise.
37509         * modules/poll-tests (Files): Likewise.
37510         * modules/popen-tests (Files): Likewise.
37511         * modules/posix_spawn-tests (Files): Likewise.
37512         * modules/posix_spawnp-tests (Files): Likewise.
37513         * modules/pread-tests (Files): Likewise.
37514         * modules/printf-posix-tests (Files): Likewise.
37515         * modules/pty-tests (Files): Likewise.
37516         * modules/random_r-tests (Files): Likewise.
37517         * modules/rawmemchr-tests (Files): Likewise.
37518         * modules/readlink-tests (Files): Likewise.
37519         * modules/remove-tests (Files): Likewise.
37520         * modules/rename-tests (Files): Likewise.
37521         * modules/renameat-tests (Files): Likewise.
37522         * modules/rmdir-tests (Files): Likewise.
37523         * modules/round-tests (Files): Likewise.
37524         * modules/roundf-tests (Files): Likewise.
37525         * modules/roundl-tests (Files): Likewise.
37526         * modules/select-tests (Files): Likewise.
37527         * modules/setenv-tests (Files): Likewise.
37528         * modules/sigaction-tests (Files): Likewise.
37529         * modules/sleep-tests (Files): Likewise.
37530         * modules/snprintf-posix-tests (Files): Likewise.
37531         * modules/snprintf-tests (Files): Likewise.
37532         * modules/sprintf-posix-tests (Files): Likewise.
37533         * modules/stat-tests (Files): Likewise.
37534         * modules/strcasestr-tests (Files): Likewise.
37535         * modules/strchrnul-tests (Files): Likewise.
37536         * modules/strerror-tests (Files): Likewise.
37537         * modules/strsignal-tests (Files): Likewise.
37538         * modules/strstr-tests (Files): Likewise.
37539         * modules/strtod-tests (Files): Likewise.
37540         * modules/strverscmp-tests (Files): Likewise.
37541         * modules/symlink-tests (Files): Likewise.
37542         * modules/symlinkat-tests (Files): Likewise.
37543         * modules/times-tests (Files): Likewise.
37544         * modules/trunc-tests (Files): Likewise.
37545         * modules/truncf-tests (Files): Likewise.
37546         * modules/truncl-tests (Files): Likewise.
37547         * modules/tsearch-tests (Files): Likewise.
37548         * modules/uname-tests (Files): Likewise.
37549         * modules/unlink-tests (Files): Likewise.
37550         * modules/unsetenv-tests (Files): Likewise.
37551         * modules/usleep-tests (Files): Likewise.
37552         * modules/utimensat-tests (Files): Likewise.
37553         * modules/vasprintf-tests (Files): Likewise.
37554         * modules/vdprintf-posix-tests (Files): Likewise.
37555         * modules/vfprintf-posix-tests (Files): Likewise.
37556         * modules/vprintf-posix-tests (Files): Likewise.
37557         * modules/vsnprintf-posix-tests (Files): Likewise.
37558         * modules/vsnprintf-tests (Files): Likewise.
37559         * modules/vsprintf-posix-tests (Files): Likewise.
37560         * modules/wcrtomb-tests (Files): Likewise.
37561         * modules/wcsnrtombs-tests (Files): Likewise.
37562         * modules/wcsrtombs-tests (Files): Likewise.
37563         * modules/wcwidth-tests (Files): Likewise.
37564         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
37565         * tests/test-isinf.c (isinf): Likewise.
37566         * tests/test-isnan.c (isnan): Likewise.
37567         * tests/test-signbit.c (signbit): Likewise.
37568         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
37569         declaration, either as macro or with correct signature.
37570         (select): Ensure function under test is declared with correct
37571         signature in correct header.
37572         * tests/test-atexit.c (atexit): Likewise.
37573         * tests/test-btowc.c (btowc): Likewise.
37574         * tests/test-canonicalize-lgpl.c (realpath)
37575         (canonicalize_file_name): Likewise.
37576         * tests/test-ceilf1.c (ceilf): Likewise.
37577         * tests/test-ceill.c (ceill): Likewise.
37578         * tests/test-chown.c (chown): Likewise.
37579         * tests/test-dprintf-posix.c (dprintf): Likewise.
37580         * tests/test-dup2.c (dup2): Likewise.
37581         * tests/test-dup3.c (dup3): Likewise.
37582         * tests/test-duplocale.c (duplocale): Likewise.
37583         * tests/test-fchdir.c (fchdir): Likewise.
37584         * tests/test-fchownat.c (fchownat): Likewise.
37585         * tests/test-fcntl.c (fcntl): Likewise.
37586         * tests/test-fdopendir.c (fdopendir): Likewise.
37587         * tests/test-fflush.c (fflush): Likewise.
37588         * tests/test-flock.c (flock): Likewise.
37589         * tests/test-floorf1.c (floorf): Likewise.
37590         * tests/test-floorl.c (floorl): Likewise.
37591         * tests/test-fnmatch.c (fnmatch): Likewise.
37592         * tests/test-fopen.c (fopen): Likewise.
37593         * tests/test-fprintf-posix.c (fprintf): Likewise.
37594         * tests/test-freopen.c (freopen): Likewise.
37595         * tests/test-frexp.c (frexp): Likewise.
37596         * tests/test-frexpl.c (frexpl): Likewise.
37597         * tests/test-fseek.c (fseek): Likewise.
37598         * tests/test-fseeko.c (fseeko): Likewise.
37599         * tests/test-fstatat.c (fstatat): Likewise.
37600         * tests/test-fsync.c (fsync): Likewise.
37601         * tests/test-ftell.c (ftell): Likewise.
37602         * tests/test-ftello.c (ftello): Likewise.
37603         * tests/test-futimens.c (futimens): Likewise.
37604         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
37605         (gai_strerror): Likewise.
37606         * tests/test-getcwd.c (getcwd): Likewise.
37607         * tests/test-getdelim.c (getdelim): Likewise.
37608         * tests/test-getdtablesize.c (getdtablesize): Likewise.
37609         * tests/test-getgroups.c (getgroups): Likewise.
37610         * tests/test-gethostname.c (gethostname): Likewise.
37611         * tests/test-getline.c (getline): Likewise.
37612         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
37613         Likewise.
37614         * tests/test-gettimeofday.c (gettimeofday): Likewise.
37615         * tests/test-glob.c (glob, globfree): Likewise.
37616         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
37617         * tests/test-inet_ntop.c (inet_ntop): Likewise.
37618         * tests/test-inet_pton.c (inet_pton): Likewise.
37619         * tests/test-isblank.c (isblank): Likewise.
37620         * tests/test-lchown.c (lchown): Likewise.
37621         * tests/test-ldexpl.c (ldexpl): Likewise.
37622         * tests/test-link.c (link): Likewise.
37623         * tests/test-linkat.c (linkat): Likewise.
37624         * tests/test-lseek.c (lseek): Likewise.
37625         * tests/test-lstat.c (lstat): Likewise.
37626         * tests/test-mbrtowc.c (mbrtowc): Likewise.
37627         * tests/test-mbsinit.c (mbsinit): Likewise.
37628         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
37629         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
37630         * tests/test-memchr.c (memchr): Likewise.
37631         * tests/test-memcmp.c (memcmp): Likewise.
37632         * tests/test-memmem.c (memmem): Likewise.
37633         * tests/test-memrchr.c (memrchr): Likewise.
37634         * tests/test-mkdir.c (mkdir): Likewise.
37635         * tests/test-mkdirat.c (mkdirat): Likewise.
37636         * tests/test-mkfifo.c (mkfifo): Likewise.
37637         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
37638         * tests/test-mknod.c (mknod): Likewise.
37639         * tests/test-nanosleep.c (nanosleep): Likewise.
37640         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
37641         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
37642         Likewise.
37643         * tests/test-open.c (open): Likewise.
37644         * tests/test-openat.c (openat): Likewise.
37645         * tests/test-perror.c (perror): Likewise.
37646         * tests/test-pipe2.c (pipe2): Likewise.
37647         * tests/test-poll.c (poll): Likewise.
37648         * tests/test-popen.c (popen, pclose): Likewise.
37649         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
37650         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
37651         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
37652         (posix_spawn_file_actions_destroy)
37653         (posix_spawn_file_actions_addclose)
37654         (posix_spawn_file_actions_addopen)
37655         (posix_spawn_file_actions_adddup2): Likewise.
37656         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
37657         * tests/test-pread.c (pread): Likewise.
37658         * tests/test-printf-posix.c (printf): Likewise.
37659         * tests/test-pty.c (openpty, forkpty): Likewise.
37660         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
37661         (random_r): Likewise.
37662         * tests/test-rawmemchr.c (rawmemchr): Likewise.
37663         * tests/test-readlink.c (readlink): Likewise.
37664         * tests/test-remove.c (remove): Likewise.
37665         * tests/test-rename.c (rename): Likewise.
37666         * tests/test-renameat.c (renameat): Likewise.
37667         * tests/test-rmdir.c (rmdir): Likewise.
37668         * tests/test-round1.c (round): Likewise.
37669         * tests/test-roundf1.c (roundf): Likewise.
37670         * tests/test-roundl.c (roundl): Likewise.
37671         * tests/test-setenv.c (setenv): Likewise.
37672         * tests/test-sigaction.c (sigaction): Likewise.
37673         * tests/test-sleep.c (sleep): Likewise.
37674         * tests/test-snprintf.c (snprintf): Likewise.
37675         * tests/test-sprintf-posix.c (sprintf): Likewise.
37676         * tests/test-stat.c (stat): Likewise.
37677         * tests/test-stpncpy.c (stpncpy): Likewise.
37678         * tests/test-strcasestr.c (strcasestr): Likewise.
37679         * tests/test-strchrnul.c (strchrnul): Likewise.
37680         * tests/test-strerror.c (strerror): Likewise.
37681         * tests/test-strsignal.c (strsignal): Likewise.
37682         * tests/test-strstr.c (strstr): Likewise.
37683         * tests/test-strtod.c (strtod): Likewise.
37684         * tests/test-strverscmp.c (strverscmp): Likewise.
37685         * tests/test-symlink.c (symlink): Likewise.
37686         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
37687         * tests/test-times.c (times): Likewise.
37688         * tests/test-trunc1.c (trunc): Likewise.
37689         * tests/test-truncf1.c (truncf): Likewise.
37690         * tests/test-truncl.c (truncl): Likewise.
37691         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
37692         Likewise.
37693         * tests/test-uname.c (uname): Likewise.
37694         * tests/test-unlink.c (unlink): Likewise.
37695         * tests/test-unlinkat.c (unlinkat): Likewise.
37696         * tests/test-unsetenv.c (unsetenv): Likewise.
37697         * tests/test-usleep.c (usleep): Likewise.
37698         * tests/test-utimensat.c (utimensat): Likewise.
37699         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
37700         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
37701         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
37702         * tests/test-vprintf-posix.c (vprintf): Likewise.
37703         * tests/test-vsnprintf.c (vsnprintf): Likewise.
37704         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
37705         * tests/test-wcrtomb.c (wcrtomb): Likewise.
37706         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
37707         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
37708         * tests/test-wcwidth.c (wcwidth): Likewise.
37709
37710         build: pull in conditional headers during GNULIB_POSIXCHECK
37711         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
37712         definitions from any conditionally-included headers.
37713         * lib/stdlib.in.h (includes): Likewise.
37714         * lib/unistd.in.h (includes): Likewise.
37715
37716 2009-12-24  Bruno Haible  <bruno@clisp.org>
37717
37718         * tests/test-argv-iter.c: Include header file being tested immediately
37719         after config.h.
37720         * tests/test-base64.c: Likewise.
37721         * tests/test-flock.c: Likewise.
37722         * tests/test-fsync.c: Likewise.
37723         * tests/test-getdate.c: Likewise.
37724         * tests/test-getndelim2.c: Likewise.
37725         * tests/test-isfinite.c: Likewise.
37726         * tests/test-isinf.c: Likewise.
37727         * tests/test-strerror.c: Likewise.
37728         * tests/test-strsignal.c: Likewise.
37729
37730 2009-12-23  Eric Blake  <ebb9@byu.net>
37731
37732         unistd: work around cygwin bug
37733         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
37734         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
37735         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37736
37737 2009-12-23  Bruno Haible  <bruno@clisp.org>
37738
37739         localename: More tests.
37740         * tests/test-localename.c (SIZEOF): New macro.
37741         (categories): New variable.
37742         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
37743         test_locale_name_default): Add test w.r.t. thread locale.
37744         (test_locale_name_thread): New function.
37745         (main): Invoke it.
37746
37747         localename: Make aware of thread locale.
37748         * lib/localename.h (gl_locale_name_thread): New declaration.
37749         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
37750         behaviour with respect to thread locale.
37751         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
37752         <langinfo.h>, glthread/lock.h.
37753         (SIZE_BITS): New macro.
37754         (string_hash): New function.
37755         (struct hash_node): New type.
37756         (HASH_TABLE_SIZE): New macro.
37757         (struniq_hash_table, struniq_lock): New variables.
37758         (struniq): New function.
37759         (gl_locale_name_thread): New function.
37760         (gl_locale_name): Invoke it.
37761         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
37762         * modules/localename (Depends-on): Add lock.
37763         Reported by Mike Gran <spk121@yahoo.com>.
37764
37765 2009-12-23  Eric Blake  <ebb9@byu.net>
37766
37767         va-args: new module
37768         * modules/va-args: New file.
37769         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
37770         * MODULES.html.sh (Core language properties): Mention it.
37771
37772         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
37773         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
37774         named alias for __attribute__((__unused__)).
37775         * lib/chown.c: Update client.
37776         * lib/fchmodat.c: Likewise.
37777         * lib/fts.c: Likewise.
37778         * lib/getdate.y: Likewise.
37779         * lib/getgroups.c: Likewise.
37780         * lib/getopt.c: Likewise.
37781         * lib/getugroups.c: Likewise.
37782         * lib/mkdir.c: Likewise.
37783         * lib/mkfifo.c: Likewise.
37784         * lib/mkfifoat.c: Likewise.
37785         * lib/mknod.c: Likewise.
37786         * lib/mknodat.c: Likewise.
37787         * lib/readlink.c: Likewise.
37788         * lib/se-context.in.h: Likewise.
37789         * lib/se-selinux.in.h: Likewise.
37790         * lib/sockets.c: Likewise.
37791         * lib/symlink.c: Likewise.
37792         * lib/symlinkat.c: Likewise.
37793         * lib/unicodeio.c: Likewise.
37794         * lib/unistr.h: Likewise.
37795         * tests/test-areadlink.c: Likewise.
37796         * tests/test-areadlinkat.c: Likewise.
37797         * tests/test-filenamecat.c: Likewise.
37798         * tests/test-fseeko.c: Likewise.
37799         * tests/test-ftello.c: Likewise.
37800         * tests/test-getdate.c: Likewise.
37801         * tests/test-getgroups.c: Likewise.
37802         * tests/test-gethostname.c: Likewise.
37803         * tests/test-quotearg.c: Likewise.
37804         * tests/test-version-etc.c: Likewise.
37805         * tests/test-xalloc-die.c: Likewise.
37806         * tests/test-xfprintf-posix.c: Likewise.
37807         * tests/test-xprintf-posix.c: Likewise.
37808         * tests/test-xvasprintf.c: Likewise.
37809
37810         tests: avoid compiler warnings
37811         * tests/test-fcntl.c (main): Delete unused parameters.
37812         * tests/test-freopen-safer.c (main): Likewise.
37813         * tests/test-xalloc-die.c (main): Mark unused parameters.
37814         * tests/test-fseeko.c (main): Likewise.
37815         * tests/test-ftello.c (main): Likewise.
37816         * tests/test-nanosleep.c (main): Avoid declaration warning.
37817         * tests/test-sleep.c (main): Likewise.
37818         * tests/test-unsetenv.c (main): Silence warning about string
37819         literal.
37820         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
37821
37822 2009-12-23  Bruno Haible  <bruno@clisp.org>
37823
37824         * tests/test-localename.c (test_locale_name): New function, extracted
37825         from main. Also test mixed situations.
37826         (test_locale_name_posix, test_locale_name_environ,
37827         test_locale_name_default): New functions.
37828         (main): Invoke them all.
37829         * modules/localename-tests (configure.ac): Test for newlocale.
37830
37831 2009-12-23  Bruno Haible  <bruno@clisp.org>
37832
37833         unistd: Ensure getcwd gets declared before being overridden.
37834         * lib/unistd.in.h: Conditionally include <io.h>.
37835
37836 2009-12-22  Bruno Haible  <bruno@clisp.org>
37837
37838         wchar: Diagnose broken combination of glibc and gcc versions and flags.
37839         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
37840         (gl_WCHAR_H): Invoke it.
37841         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
37842         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
37843         Reported by Karl Berry <karl@freefriends.org>.
37844
37845 2009-12-22  Eric Blake  <ebb9@byu.net>
37846
37847         math, unistd: avoid redundant includes
37848         * lib/math.in.h (isnan): No need to re-include <math.h>.
37849         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
37850
37851         getsubopt: work around cygwin bug
37852         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
37853         avoid conflicting with system getsubopt.
37854         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
37855         bug.
37856
37857         getopt: synchronize from glibc
37858         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
37859         parameter order.  Adjust all callers.
37860         (_getopt_internal_r, main): Adjust quoting in error messages.
37861         Drop considerations for outdated POSIX 1003.2 error message.
37862         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
37863         callers.
37864         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
37865
37866         test-getopt: test stderr behavior
37867         * modules/getopt-posix-tests (Depends-on): Add dup2.
37868         * tests/test-getopt.c (ASSERT): Avoid stderr.
37869         (main): Move stderr to a temporary file.
37870         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
37871         Instead, add parameter to inform caller if output occurred.
37872         (test_getopt): Adjust all existing tests to expect silence, and
37873         add new tests of leading ":".
37874         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37875         glibc shortcomings with leading "-:" or "+:" in optstring.
37876         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37877         Likewise.
37878         * doc/posix-functions/getopt.texi (getopt): Likewise.
37879
37880         test-getopt: enhance test
37881         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
37882         supports optind=0.
37883         * tests/test-getopt.c (OPTIND_MIN): Move...
37884         * tests/test-getopt.h (OPTIND_MIN): ...here.
37885         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
37886         Require that optind=0 works, since modern BSD supports it in
37887         addition to optreset, and since coreutils expects it.
37888         (test_getopt_long_only): New test.
37889         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
37890         glibc shortcomings with 'W;', and enforcement of optind=0.
37891         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
37892         Likewise.
37893
37894 2009-12-21  Bruno Haible  <bruno@clisp.org>
37895
37896         localename: Improvements for MacOS X and Cygwin.
37897         * lib/localename.h (gl_locale_name_environ): New declaration.
37898         * lib/localename.c (gl_locale_name_environ): New function, extracted from
37899         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
37900         (gl_locale_name_posix): Invoke it.
37901         (gl_locale_name_default): Add comments. Use Windows native API also on
37902         Cygwin.
37903
37904 2009-12-21  Bruno Haible  <bruno@clisp.org>
37905
37906         Update list of Win32 locale ids.
37907         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
37908         (LANG_SAMI): Renamed from LANG_SAAMI.
37909         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
37910         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
37911         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
37912         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
37913         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
37914         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
37915         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
37916         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
37917         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
37918         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
37919         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
37920         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
37921         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
37922         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
37923         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
37924         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
37925         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
37926         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
37927         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
37928         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
37929         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
37930         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
37931         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
37932         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
37933         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
37934         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
37935         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
37936         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
37937         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
37938         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
37939         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
37940         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
37941         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
37942         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
37943         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
37944         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
37945         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
37946         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
37947         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
37948         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
37949         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
37950         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
37951         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
37952         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
37953         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
37954         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
37955         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
37956         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
37957         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
37958         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
37959         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
37960         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
37961         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
37962         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
37963         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
37964         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
37965         Add more languages and countries for Sami, Sorbian. Add more countries
37966         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
37967         for Pashto. Change country for Syriac, Tswana.
37968
37969 2009-12-21  Eric Blake  <ebb9@byu.net>
37970
37971         test-utimens: avoid spurious failure
37972         * tests/test-chown.h (nap): Factor...
37973         * tests/nap.h: ...into new file.
37974         * tests/test-lchown.h (nap): Avoid duplication.
37975         * tests/test-utimens-common.h (nap): Use shared implementation,
37976         necessary on file systems with 1-second resolution.
37977         * modules/chown-tests (Files): Include new file.
37978         * modules/fdutimensat-tests (Files): Likewise.
37979         * modules/futimens-tests (Files): Likewise.
37980         * modules/lchown-tests (Files): Likewise.
37981         * modules/openat-tests (Files): Likewise.
37982         * modules/utimens-tests (Files): Likewise.
37983         * modules/utimensat-tests (Files): Likewise.
37984
37985 2009-12-19  Eric Blake  <ebb9@byu.net>
37986
37987         futimens, utimensat: work around Linux bug
37988         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
37989         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37990         * lib/utimensat.c (rpl_utimensat): Work around it.
37991         * lib/futimens.c (rpl_futimens): Adjust comment.
37992
37993         utimens: work around Linux ctime bug
37994         * lib/utimens.c (detect_ctime_bug): New helper function.
37995         (update_timespec): Differentiate between workaround needed for
37996         this bug vs. what is needed for systems that lack utimensat.
37997         (fdutimens, lutimens): Work around bug.
37998
37999         utimens: check for ctime update
38000         * tests/test-utimens-common.h (check_ctime): Define.
38001         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38002         * tests/test-futimens.h (test_futimens): Likewise.
38003         * tests/test-lutimens.h (test_lutimens): Likewise.
38004         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38005         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38006
38007 2009-12-19  Bruno Haible  <bruno@clisp.org>
38008
38009         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38010         * tests/test-dprintf-posix2.sh: New file.
38011         * tests/test-dprintf-posix2.c: New file.
38012         * modules/dprintf-posix-tests (Files): Add them.
38013         (configure.ac): Check for getrlimit and setrlimit.
38014         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38015
38016 2009-12-19  Bruno Haible  <bruno@clisp.org>
38017
38018         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38019         * tests/test-fprintf-posix3.sh: New file.
38020         * tests/test-fprintf-posix3.c: New file.
38021         * modules/fprintf-posix-tests (Files): Add them.
38022         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38023
38024 2009-12-19  Eric Blake  <ebb9@byu.net>
38025
38026         dirfd: fix prototype
38027         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38028         * lib/dirfd.c (dirfd): Likewise.
38029
38030         canonicalize: reduce memory usage
38031         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38032         allocation to size.
38033         Reported by Solar Designer <solar@openwall.com>.
38034
38035 2009-12-19  Bruno Haible  <bruno@clisp.org>
38036
38037         New module attribute 'Applicability'.
38038         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38039         * gnulib-tool: New option --extract-applicability.
38040         (func_usage): Document it.
38041         (sed_extract_prog): Recognize it.
38042         (func_get_applicability): New function.
38043         (func_import): Generalize handling of 'link-warning' module.
38044         * modules/link-warning (Applicability): New section.
38045         * modules/arg-nonnull (Applicability): New section.
38046         Repoted by Simon Josefsson <simon@josefsson.org>.
38047
38048 2009-12-19  Bruno Haible  <bruno@clisp.org>
38049
38050         fflush: tweak
38051         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38052         * lib/fseeko.c (rpl_fseeko): Likewise.
38053
38054 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38055
38056         * lib/gl_list.h: Fix typo in comment.
38057
38058 2009-12-16  Eric Blake  <ebb9@byu.net>
38059
38060         fcntl: use to simplify other modules
38061         * modules/cloexec (Depends-on): Add fcntl.
38062         * modules/fchdir (Depends-on): Likewise.
38063         * modules/fd-safer-flag (Depends-on): Likewise.
38064         * modules/unistd-safer (Depends-on): Likewise.
38065         * modules/dup3 (configure.ac): Set module indicator.
38066         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38067         missing.
38068         * lib/fchdir.c (_gl_register_dup): Fix comment.
38069         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38070         * lib/dup-safer.c (dup_safer): Likewise.
38071         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38072         * lib/dup3.c (dup3): Likewise.
38073         * tests/test-fchdir.c (main): Enhance test.
38074         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
38075
38076         fcntl: port portions of fcntl to mingw
38077         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38078         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38079         replacement for mingw.
38080         * modules/fcntl (Description): Update.
38081         (Depends-on): Add dup2.
38082         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38083         * modules/fcntl-h (Makefile.am): Substitute it.
38084         * lib/fcntl.in.h (fcntl): Update declaration.
38085         (F_DUPFD, F_GETFD): New macros, when needed.
38086         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38087         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38088         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38089         we now guarantee.
38090
38091         fcntl: work around cygwin bug in F_DUPFD
38092         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38093         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38094         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38095         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38096         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38097
38098         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38099         * modules/fcntl (Files): List new files.
38100         (configure.ac): Run a test.
38101         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38102         * lib/fcntl.c (rpl_fcntl): Likewise.
38103         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38104         (gl_FCNTL_H): Always replace fcntl.h.
38105         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38106         * lib/fcntl.in.h (fcntl): Declare replacement.
38107         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38108         needed, plus a witness.
38109         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38110         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38111         * tests/test-fcntl.c: New file.
38112         * modules/fcntl-tests: Likewise.
38113
38114         binary-io: avoid potential compilation warning
38115         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38116         directives.
38117
38118         fflush: avoid compilation error on NetBSD
38119         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38120         between off_t and fpos_t, since the latter is sometimes a struct.
38121         * lib/fseeko.c (rpl_fseeko): Likewise.
38122         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38123
38124 2009-12-15  Eric Blake  <ebb9@byu.net>
38125
38126         fcntl-h, stdio, sys_ioctl: fix declarations
38127         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38128         function must not take arguments.
38129         * lib/sys_ioctl.in.h (ioctl): Likewise.
38130         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38131         (open): Add a link warning.
38132
38133 2009-12-15  Jim Meyering  <meyering@redhat.com>
38134
38135         areadlink, areadlink-with-size: relax license to LGPLv2+
38136         * modules/areadlink (License): Relax to LGPLv2+.
38137         * modules/areadlink-with-size (License): Likewise.
38138
38139 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38140             Bruno Haible  <bruno@clisp.org>
38141
38142         *printf: Fix memory leak.
38143         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38144         * lib/vfprintf.c (vfprintf): Likewise.
38145         * lib/dprintf.c (dprintf): Likewise.
38146         * lib/vdprintf.c (vdprintf): Likewise.
38147
38148 2009-12-14  Eric Blake  <ebb9@byu.net>
38149
38150         accept4: adjust module dependencies
38151         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38152
38153         utimens: one more try at avoiding compiler warning
38154         * lib/utimens.c (lutimens): Lower scope of result.
38155
38156 2009-12-13  Bruno Haible  <bruno@clisp.org>
38157
38158         Move the malloc checking from module 'list' to new module 'xlist'.
38159         * modules/xlist: New file.
38160         * lib/gl_xlist.h: New file.
38161         * lib/gl_xlist.c: New file.
38162         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38163         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38164         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38165         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38166         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38167         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38168         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38169         gl_sortedlist_nx_add): New declarations.
38170         (struct gl_list_implementation): Rename and change methods accordingly.
38171         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
38172         (gl_list_nx_create): Renamed from gl_list_create.
38173         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38174         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38175         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38176         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38177         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38178         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38179         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38180         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38181         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
38182         gl_list_create_empty.
38183         (gl_list_nx_create): Renamed from gl_list_create.
38184         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
38185         (gl_list_nx_set_at): Renamed from gl_list_set_at.
38186         (gl_list_nx_add_first): Renamed from gl_list_add_first.
38187         (gl_list_nx_add_last): Renamed from gl_list_add_last.
38188         (gl_list_nx_add_before): Renamed from gl_list_add_before.
38189         (gl_list_nx_add_after): Renamed from gl_list_add_after.
38190         (gl_list_nx_add_at): Renamed from gl_list_add_at.
38191         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
38192         * lib/gl_array_list.c: Don't include xalloc.h.
38193         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
38194         NULL upon out-of-memory.
38195         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
38196         out-of-memory.
38197         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
38198         Change return type to 'int'.
38199         (gl_array_nx_set_at): Renamed from gl_array_set_at.
38200         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38201         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
38202         upon out-of-memory.
38203         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
38204         upon out-of-memory.
38205         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
38206         upon out-of-memory.
38207         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
38208         upon out-of-memory.
38209         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
38210         out-of-memory.
38211         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
38212         Update.
38213         (gl_array_list_implementation): Update.
38214         * lib/gl_carray_list.c: Don't include xalloc.h.
38215         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
38216         Return NULL upon out-of-memory.
38217         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
38218         out-of-memory.
38219         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
38220         Change return type to 'int'.
38221         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
38222         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
38223         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
38224         upon out-of-memory.
38225         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
38226         upon out-of-memory.
38227         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
38228         out-of-memory.
38229         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
38230         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
38231         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
38232         Update.
38233         (gl_carray_list_implementation): Update.
38234         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
38235         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
38236         gl_linked_create_empty. Return NULL upon out-of-memory.
38237         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
38238         out-of-memory.
38239         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
38240         Change return type to 'int'. Return -1 upon out-of-memory.
38241         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
38242         out-of-memory.
38243         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
38244         upon out-of-memory.
38245         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
38246         upon out-of-memory.
38247         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
38248         NULL upon out-of-memory.
38249         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
38250         upon out-of-memory.
38251         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
38252         out-of-memory.
38253         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
38254         Update.
38255         * lib/gl_linked_list.c: Don't include xalloc.h.
38256         (gl_linked_list_implementation): Update.
38257         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
38258         (add_to_bucket): Change return type to 'int'.
38259         (gl_linkedhash_list_implementation): Update.
38260         * lib/gl_anytree_list1.h (free_subtree): New function.
38261         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
38262         gl_tree_create_empty. Return NULL upon out-of-memory.
38263         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
38264         Change return type to 'int'. Return -1 upon out-of-memory.
38265         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
38266         out-of-memory.
38267         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
38268         (gl_tree_remove_node): New function, moved here from
38269         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
38270         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
38271         Update.
38272         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
38273         malloc, not xmalloc. Return NULL upon out-of-memory.
38274         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38275         out-of-memory.
38276         (gl_tree_remove_node_from_tree): New function, extracted from
38277         gl_tree_remove_node.
38278         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38279         upon out-of-memory.
38280         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38281         out-of-memory.
38282         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38283         upon out-of-memory.
38284         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38285         upon out-of-memory.
38286         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38287         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
38288         not xmalloc. Return NULL upon out-of-memory.
38289         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
38290         out-of-memory.
38291         (gl_tree_remove_node_from_tree): New function, extracted from
38292         gl_tree_remove_node.
38293         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
38294         upon out-of-memory.
38295         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
38296         out-of-memory.
38297         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
38298         upon out-of-memory.
38299         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
38300         upon out-of-memory.
38301         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
38302         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
38303         gl_anytree_list1.h before gl_anyavltree_list2.h.
38304         (gl_avltree_list_implementation): Update.
38305         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
38306         gl_anytree_list1.h before gl_anyavltree_list2.h.
38307         (gl_rbtree_list_implementation): Update.
38308         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
38309         Change return type to 'int'. Return -1 upon out-of-memory. Use
38310         __builtin_expect.
38311         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
38312         (gl_avltreehash_list_implementation): Update.
38313         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
38314         (gl_rbtreehash_list_implementation): Update.
38315         * modules/array-list (Depends-on): Remove xalloc.
38316         * modules/carray-list (Depends-on): Likewise.
38317         * modules/linked-list (Depends-on): Likewise.
38318         * modules/linkedhash-list (Depends-on): Likewise.
38319         * modules/avltree-list (Depends-on): Likewise.
38320         * modules/rbtree-list (Depends-on): Likewise.
38321         * modules/avltreehash-list (Depends-on): Likewise.
38322         * modules/rbtreehash-list (Depends-on): Likewise.
38323
38324         * modules/xsublist: New file.
38325         * lib/gl_xsublist.h: New file.
38326         * lib/gl_xsublist.c: New file.
38327         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
38328         (gl_sublist_nx_create): New declaration.
38329         * lib/gl_sublist.c: Don't include xalloc.h.
38330         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
38331         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
38332         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
38333         Change return type to 'int'. Return -1 upon out-of-memory.
38334         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
38335         upon out-of-memory.
38336         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
38337         NULL upon out-of-memory.
38338         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
38339         upon out-of-memory.
38340         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
38341         NULL upon out-of-memory.
38342         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
38343         NULL upon out-of-memory.
38344         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
38345         upon out-of-memory.
38346         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
38347         (gl_sublist_list_implementation): Update.
38348         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
38349         upon out-of-memory.
38350         * modules/sublist (Depends-on): Remove xalloc.
38351
38352         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
38353         * tests/test-carray_list.c: Likewise.
38354         * tests/test-linked_list.c: Likewise.
38355         * tests/test-linkedhash_list.c: Likewise.
38356         * tests/test-avltree_list.c: Likewise.
38357         * tests/test-rbtree_list.c: Likewise.
38358         * tests/test-avltreehash_list.c: Likewise.
38359         * tests/test-rbtreehash_list.c: Likewise.
38360         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
38361         * modules/carray-list-tests (Makefile.am): Likewise.
38362         * modules/linked-list-tests (Makefile.am): Likewise.
38363         * modules/linkedhash-list-tests (Makefile.am): Likewise.
38364         * modules/avltree-list-tests (Makefile.am): Likewise.
38365         * modules/rbtree-list-tests (Makefile.am): Likewise.
38366         * modules/avltreehash-list-tests (Makefile.am): Likewise.
38367         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
38368
38369         * NEWS: Mention the changes.
38370
38371         * lib/clean-temp.c: Include gl_xlist.h.
38372         * modules/clean-temp (Depends-on): Add xlist.
38373
38374         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
38375         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
38376
38377         * tests/test-array_oset.c: Include gl_xlist.h.
38378         * modules/array-oset-tests (Depends-on): Add xlist.
38379
38380         Reported by José E. Marchesi <jemarch@gnu.org>.
38381
38382 2009-12-13  Bruno Haible  <bruno@clisp.org>
38383
38384         Move the malloc checking from module 'oset' to new module 'xoset'.
38385         * modules/xoset: New file.
38386         * lib/gl_xoset.h: New file.
38387         * lib/gl_xoset.c: New file.
38388         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
38389         declarations.
38390         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
38391         (struct gl_oset_implementation): Rename and change methods accordingly.
38392         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
38393         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38394         'int'. Mark as __warn_unused_result__.
38395         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
38396         gl_oset_create_empty.
38397         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
38398         'int'.
38399         * lib/gl_array_oset.c: Don't include xalloc.h.
38400         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
38401         malloc, not xmalloc.
38402         (grow): Change return type to 'int'. Don't call xalloc_die.
38403         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
38404         to 'int'.
38405         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
38406         'int'.
38407         (gl_array_oset_implementation): Update.
38408         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
38409         gl_tree_create_empty.
38410         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
38411         'int'.
38412         * lib/gl_avltree_oset.c: Don't include xalloc.h.
38413         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38414         xmalloc.
38415         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38416         not xmalloc.
38417         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38418         xmalloc.
38419         (gl_avltree_oset_implementation): Update.
38420         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
38421         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
38422         xmalloc.
38423         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
38424         not xmalloc.
38425         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
38426         xmalloc.
38427         (gl_rbtree_oset_implementation): Update.
38428         * modules/array-oset (Depends-on): Remove xalloc.
38429         * modules/avltree-oset (Depends-on): Likewise.
38430         * modules/rbtree-oset (Depends-on): Likewise.
38431         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
38432         * tests/test-avltree_oset.c: Likewise.
38433         * tests/test-rbtree_oset.c: Likewise.
38434         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
38435         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
38436         * modules/rbtree-oset-tests (Makefile.am): Likewise.
38437         * NEWS: Mention the change.
38438
38439 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
38440
38441         maint.mk: allow a project to override release-prep commands
38442         * top/maint.mk (alpha, beta, stable): Move release-preparatory
38443         commands into a new rule.
38444         (release-prep): New rule.
38445         (release-prep-hook): New overridable variable.
38446
38447 2009-12-13  Bruno Haible  <bruno@clisp.org>
38448
38449         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
38450
38451 2009-12-13  Jim Meyering  <meyering@redhat.com>
38452
38453         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
38454         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
38455
38456 2009-12-12  Bruno Haible  <bruno@clisp.org>
38457
38458         duplocale: Tweak.
38459         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
38460
38461 2009-12-12  Karl Berry  <karl@gnu.org>
38462
38463         * config/srclist.txt (strtoll.c): tab changes, no more sync.
38464
38465 2009-12-12  Bruno Haible  <bruno@clisp.org>
38466
38467         * m4/po.m4: Undo incorrect untabification.
38468
38469 2009-12-12  Bruno Haible  <bruno@clisp.org>
38470
38471         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
38472         * modules/c-strtod (Depends-on): Add locale.
38473         * modules/c-strtold (Depends-on): Likewise.
38474
38475 2009-12-12  Bruno Haible  <bruno@clisp.org>
38476
38477         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
38478
38479 2009-12-11  Eric Blake  <ebb9@byu.net>
38480
38481         setenv: relax requirement in light of POSIX ruling
38482         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
38483         not NULL.
38484         * tests/test-setenv.c (main): Relax test.
38485         * tests/test-unsetenv.c (main): Likewise.
38486         * doc/posix-functions/setenv.texi (setenv): Document this.
38487         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
38488
38489 2009-12-11  Bruno Haible  <bruno@clisp.org>
38490
38491         New module 'fd-safer-flag'.
38492         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
38493         * lib/dup-safer.c (dup_safer_flag): Remove function.
38494         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
38495         * lib/fd-safer.c (fd_safer_flag): Remove function.
38496         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
38497         * modules/cloexec (configure.ac): Drop indicator macro.
38498         * modules/fd-safer-flag: New file.
38499         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
38500         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
38501         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
38502
38503 2009-12-11  Bruno Haible  <bruno@clisp.org>
38504
38505         Tests for module 'nl_langinfo'.
38506         * modules/nl_langinfo-tests: New file.
38507         * tests/test-nl_langinfo.sh: New file.
38508         * tests/test-nl_langinfo.c: New file.
38509
38510         New module 'nl_langinfo'.
38511         * lib/nl_langinfo.c: New file.
38512         * m4/nl_langinfo.m4: New file.
38513         * modules/nl_langinfo: New file.
38514         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
38515
38516 2009-12-11  Bruno Haible  <bruno@clisp.org>
38517
38518         Tests for module 'langinfo'.
38519         * modules/langinfo-tests: New file.
38520         * tests/test-langinfo.c: New file.
38521
38522         New module 'langinfo'.
38523         * lib/langinfo.in.h: New file.
38524         * m4/langinfo_h.m4: New file.
38525         * modules/langinfo: New file.
38526         * doc/posix-headers/langinfo.texi: Mention the new module.
38527
38528 2009-12-11  Bruno Haible  <bruno@clisp.org>
38529
38530         * lib/config.charset: Untabify.
38531
38532 2009-12-11  Bruno Haible  <bruno@clisp.org>
38533
38534         * modules/unistd-safer (configure.ac): Drop indicator macro.
38535
38536 2009-12-11  Bruno Haible  <bruno@clisp.org>
38537
38538         Move pipe2-safer code to its own file.
38539         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
38540         * lib/pipe-safer.c (pipe2_safer): Remove function.
38541         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
38542         (Makefile.am): Add it to lib_SOURCES.
38543
38544 2009-12-10  Bruno Haible  <bruno@clisp.org>
38545
38546         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
38547
38548 2009-12-10  Bruno Haible  <bruno@clisp.org>
38549
38550         Declare which arguments expect non-NULL values, for GCC and clang.
38551         * build-aux/arg-nonnull.h: New file.
38552         * modules/arg-nonnull: New file.
38553         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
38554         (inet_ntop, inet_pton): Use it.
38555         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
38556         (closedir, dirfd, opendir, scandir, alphasort): Use it.
38557         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
38558         (open, openat): Use it.
38559         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
38560         (fnmatch): Use it.
38561         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
38562         (getopt, getopt_long, getopt_long_only): Use it.
38563         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
38564         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
38565         Use it.
38566         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
38567         (iconv_open): Use it.
38568         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
38569         (strtoimax, strtoumax): Use it.
38570         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
38571         (duplocale): Use it.
38572         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
38573         (frexp, frexpl): Use it.
38574         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
38575         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
38576         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
38577         (tsearch, tfind, tdelete, twalk): Use it.
38578         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
38579         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
38580         sigpending): Use it.
38581         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
38582         (posix_spawn, posix_spawnp, posix_spawnattr_init,
38583         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
38584         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
38585         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
38586         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
38587         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
38588         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
38589         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
38590         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
38591         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
38592         Use it.
38593         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
38594         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
38595         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
38596         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
38597         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
38598         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
38599         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
38600         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
38601         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
38602         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
38603         strtoull, unsetenv): Use it.
38604         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
38605         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
38606         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
38607         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
38608         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
38609         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
38610         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
38611         (strcasecmp, strncasecmp): Use it.
38612         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
38613         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
38614         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
38615         rpl_setsockopt): Use it.
38616         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
38617         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
38618         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
38619         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
38620         (gettimeofday): Use it.
38621         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
38622         (times): Use it.
38623         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
38624         (uname): Use it.
38625         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
38626         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
38627         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
38628         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
38629         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
38630         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
38631         unlinkat, write): Use it.
38632         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
38633         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
38634         * lib/argv-iter.h: Include arg-nonnull.h.
38635         (_ATTRIBUTE_NONNULL_): Remove macro.
38636         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
38637         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
38638         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
38639         optimization.
38640         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
38641         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
38642         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
38643         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
38644         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
38645         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
38646         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
38647         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
38648         * modules/arpa_inet (Depends-on): Add arg-nonnull.
38649         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
38650         * modules/dirent (Depends-on): Add arg-nonnull.
38651         (Makefile.am): Insert arg-nonnull.h into dirent.h.
38652         * modules/fcntl-h (Depends-on): Add arg-nonnull.
38653         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
38654         * modules/fnmatch (Depends-on): Add arg-nonnull.
38655         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
38656         * modules/getopt-posix (Depends-on): Add arg-nonnull.
38657         (Makefile.am): Insert arg-nonnull.h into getopt.h.
38658         * modules/glob (Depends-on): Add arg-nonnull.
38659         (Makefile.am): Insert arg-nonnull.h into glob.h.
38660         * modules/iconv_open (Depends-on): Add arg-nonnull.
38661         (Makefile.am): Insert arg-nonnull.h into iconv.h.
38662         * modules/inttypes (Depends-on): Add arg-nonnull.
38663         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
38664         * modules/locale (Depends-on): Add arg-nonnull.
38665         (Makefile.am): Insert arg-nonnull.h into locale.h.
38666         * modules/math (Depends-on): Add arg-nonnull.
38667         (Makefile.am): Insert arg-nonnull.h into math.h.
38668         * modules/netdb (Depends-on): Add arg-nonnull.
38669         (Makefile.am): Insert arg-nonnull.h into netdb.h.
38670         * modules/search (Depends-on): Add arg-nonnull.
38671         (Makefile.am): Insert arg-nonnull.h into search.h.
38672         * modules/signal (Depends-on): Add arg-nonnull.
38673         (Makefile.am): Insert arg-nonnull.h into signal.h.
38674         * modules/spawn (Depends-on): Add arg-nonnull.
38675         (Makefile.am): Insert arg-nonnull.h into spawn.h.
38676         * modules/stdio (Depends-on): Add arg-nonnull.
38677         (Makefile.am): Insert arg-nonnull.h into stdio.h.
38678         * modules/stdlib (Depends-on): Add arg-nonnull.
38679         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
38680         * modules/string (Depends-on): Add arg-nonnull.
38681         (Makefile.am): Insert arg-nonnull.h into string.h.
38682         * modules/strings (Depends-on): Add arg-nonnull.
38683         (Makefile.am): Insert arg-nonnull.h into strings.h.
38684         * modules/sys_socket (Depends-on): Add arg-nonnull.
38685         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
38686         * modules/sys_stat (Depends-on): Add arg-nonnull.
38687         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
38688         * modules/sys_time (Depends-on): Add arg-nonnull.
38689         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
38690         * modules/sys_times (Depends-on): Add arg-nonnull.
38691         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
38692         * modules/sys_utsname (Depends-on): Add arg-nonnull.
38693         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
38694         * modules/time (Depends-on): Add arg-nonnull.
38695         (Makefile.am): Insert arg-nonnull.h into time.h.
38696         * modules/unistd (Depends-on): Add arg-nonnull.
38697         (Makefile.am): Insert arg-nonnull.h into unistd.h.
38698         * modules/wchar (Depends-on): Add arg-nonnull.
38699         (Makefile.am): Insert arg-nonnull.h into wchar.h.
38700         * modules/argv-iter (Depends-on): Add arg-nonnull.
38701         * tests/test-canonicalize.c (null_ptr): New function.
38702         (main): Use it.
38703         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
38704         (main): Use it.
38705         * tests/test-memmem.c (null_ptr): New function.
38706         (main): Use it.
38707         Reported by Jim Meyering.
38708
38709 2009-12-10  Bruno Haible  <bruno@clisp.org>
38710
38711         Use spaces for indentation, not tabs.
38712         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
38713         * m4/*.m4: Untabify.
38714         * build-aux/*.h: Untabify.
38715         * tests/**/*.[hc]: Untabify.
38716         * README: New section "Indent with spaces, not TABs", based on
38717         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
38718         * NEWS: Mention the change.
38719
38720 2009-12-10  Bruno Haible  <bruno@clisp.org>
38721
38722         pty test: Fix link error.
38723         * modules/pty-tests (Makefile.am): Add the default LDADD value to
38724         test_pty_LDADD.
38725
38726 2009-12-07  Simon Josefsson  <simon@josefsson.org>
38727
38728         * modules/pty: New file.
38729         * modules/pty-tests: New file.
38730         * m4/pty.m4: New file.
38731         * tests/test-pty.c: New file.
38732         * doc/glibc-headers/pty.texi: Modified.
38733         * doc/glibc-functions/forkpty.texi: Modified.
38734         * doc/glibc-functions/openpty.texi: Modified.
38735
38736 2009-12-10  Bruno Haible  <bruno@clisp.org>
38737
38738         Avoid syntax error in C++ mode.
38739         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
38740
38741 2009-12-10  Bruno Haible  <bruno@clisp.org>
38742
38743         Use sed with option -e.
38744         * gnulib-tool (func_version, func_emit_copyright_notice,
38745         func_emit_initmacro_end, func_import, func_create_testdir): Pass
38746         option -e to sed.
38747         * modules/link-warning (Makefile.am): Likewise.
38748
38749 2009-12-10  Jim Meyering  <meyering@redhat.com>
38750
38751         mgetgroups: do not write bytes beyond end of malloc'd buffer
38752         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
38753         username, we call getgroups with a one-element-shorter buffer,
38754         but still told it the length was original, max_n_groups.
38755
38756 2009-12-09  Eric Blake  <ebb9@byu.net>
38757
38758         cloexec: relax license
38759         * modules/cloexec (Maintainer): Add myself.
38760         (License): Use LGPL, not GPL.
38761
38762         link-warning: optimize generation
38763         * modules/link-warning (Makefile.am): Reduce process usage.
38764
38765 2009-12-09  Bruno Haible  <bruno@clisp.org>
38766
38767         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
38768         workaround was added on 2009-11-17.
38769
38770 2009-12-09  Jim Meyering  <meyering@redhat.com>
38771             Bruno Haible  <bruno@clisp.org>
38772
38773         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
38774         * modules/link-warning (Makefile.am): Make the comment-removing sed
38775         command more robust in the face of bootstrap-prepended comment lines.
38776
38777 2009-12-09  Bruno Haible  <bruno@clisp.org>
38778
38779         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
38780         most one group.
38781
38782 2009-12-09  Simon Josefsson <simon@josefsson.org>
38783             Bruno Haible  <bruno@clisp.org>
38784
38785         * build-aux/link-warning.h: Add copyright notice.
38786         * modules/link-warning (Makefile.am): Generate link-warning.h from
38787         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
38788         * NEWS: Mention change in link-warning module.
38789         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
38790         * modules/dirent (Makefile.am): Add dependency to dirent.h.
38791         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
38792         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
38793         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
38794         * modules/math (Makefile.am): Add dependency to math.h.
38795         * modules/search (Makefile.am): Add dependency to search.h.
38796         * modules/signal (Makefile.am): Add dependency to signal.h.
38797         * modules/spawn (Makefile.am): Add dependency to spawn.h.
38798         * modules/stdio (Makefile.am): Add dependency to stdio.h.
38799         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
38800         * modules/string (Makefile.am): Add dependency to string.h.
38801         * modules/strings (Makefile.am): Add dependency to strings.h.
38802         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
38803         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
38804         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
38805         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
38806         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
38807         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
38808         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
38809         * modules/unistd (Makefile.am): Add dependency to unistd.h.
38810         * modules/wchar (Makefile.am): Add dependency to wchar.h.
38811
38812 2009-12-09  Bruno Haible  <bruno@clisp.org>
38813
38814         fchdir: Optimize away rpl_fstat when possible.
38815         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
38816         REPLACE_OPEN_DIRECTORY.
38817         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
38818
38819 2009-12-09  Bruno Haible  <bruno@clisp.org>
38820
38821         * lib/fchdir.c: Update comment.
38822
38823 2009-12-09  Bruno Haible  <bruno@clisp.org>
38824
38825         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
38826
38827 2009-12-08  Eric Blake  <ebb9@byu.net>
38828
38829         fchdir: avoid memory leak on re-registration.
38830         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
38831
38832 2009-12-08  Jim Meyering  <meyering@redhat.com>
38833
38834         init.sh: avoid Solaris 10 /bin/sh portability problem
38835         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
38836         sourced script:
38837           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
38838           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
38839           bar
38840         tests/init.sh relied on that, accepting a --set-path=DIR argument,
38841         and two tests used that idiom.
38842         * tests/init.sh: Update suggested usage comments.
38843         (path_prepend_): New function, to be used in place
38844         of the --src-path=DIR option.
38845         (setup_): Move PATH-prepending code into path_prepend_.
38846         * tests/test-pread.sh: Adapt to new usage.
38847         * tests/test-xalloc-die.sh: Likewise.
38848
38849 2009-12-08  Simon Josefsson  <simon@josefsson.org>
38850
38851         * doc/gnulib.texi (Glibc pty.h): Add.
38852         * doc/glibc-functions/forkpty.texi: Add.
38853         * doc/glibc-functions/openpty.texi: Add.
38854         Suggested by Bruno Haible.
38855
38856 2009-12-08  Eric Blake  <ebb9@byu.net>
38857
38858         fchdir: fix logic bugs
38859         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
38860         * tests/test-fchdir.c (main): Enhance test.
38861         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
38862         is in use.
38863
38864         dup2: fix logic bugs
38865         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
38866         REPLACE_DUP2 to decide when rpl_dup2 is needed.
38867         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
38868         exists.
38869         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
38870
38871 2009-12-07  Eric Blake  <ebb9@byu.net>
38872
38873         unlink: fix m4 detection
38874         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
38875
38876         unistd-safer: add unit test
38877         * modules/unistd-safer-tests: New file.
38878         * tests/test-dup-safer.c: Likewise.
38879         * tests/test-cloexec.c (setmode): Avoid compiler warning.
38880         * tests/test-dup2.c (setmode): Likewise.
38881         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
38882
38883         cloexec: preserve text vs. binary across dup_cloexec
38884         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
38885         mode.
38886         * modules/dup2-tests (Depends-on): Add binary-io.
38887         * modules/cloexec-tests (Depends-on): Likewise.
38888         * tests/test-dup2.c (setmode, is_mode): New helpers.
38889         (main): Add tests that translation mode is preserved.
38890         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
38891         Reported by Bruno Haible.
38892
38893         mgetgroups: reduce duplicate listings
38894         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
38895         resulting array.
38896         * tests/test-chown.h (test_chown): Simplify client.
38897         * tests/test-lchown.h (test_lchown): Likewise.
38898
38899 2009-12-06  Bruno Haible  <bruno@clisp.org>
38900
38901         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
38902         value.
38903
38904 2009-12-06  Bruno Haible  <bruno@clisp.org>
38905
38906         * lib/progname.c: Include stdio.h, stdlib.h.
38907         (set_program_name): Reject a NULL argument.
38908
38909 2009-12-05  Eric Blake  <ebb9@byu.net>
38910
38911         pipe2-safer: new module
38912         * modules/pipe2-safer: New file.
38913         * lib/unistd-safer.h (pipe2_safer): New prototype.
38914         * lib/unistd--.h (pipe2): New wrapper.
38915         * lib/pipe-safer.c (pipe2_safer): New function.
38916         * modules/pipe (Depends-on): Add pipe2-safer.
38917         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
38918
38919         stdlib-safer: preserve cloexec flag for mkostemp[s]
38920         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
38921         fd_safer_flag.
38922
38923         unistd-safer: allow preservation of cloexec status via flag
38924         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
38925         prototypes.
38926         * lib/dup-safer.c (dup_safer_flag): New function.
38927         * lib/fd-safer.c (fd_safer_flag): Likewise.
38928         * modules/cloexec (configure.ac): Set witness.
38929
38930         test-dup2: enhance test
38931         * modules/dup2-tests (Depends-on): Add cloexec.
38932         * tests/test-dup2.c (main): Enhance test.
38933
38934         cloexec: add dup_cloexec
38935         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
38936         header and comments.
38937         * lib/cloexec.c (set_cloexec_flag): Add comments.
38938         (dup_cloexec): New function, with mingw implementation borrowed
38939         from...
38940         * lib/w32spawn.h (dup_noinherit): ...here.
38941         * modules/execute (Depends-on): Add cloexec.
38942         * modules/pipe (Depends-on): Likewise.
38943         * modules/cloexec (Depends-on): Add dup2.
38944         * modules/cloexec-tests (Files): New file.
38945         * tests/test-cloexec.c: Likewise.
38946
38947         test-xalloc-die: fix test for mingw
38948         * modules/xalloc-die-tests (Files): Add tests/init.sh.
38949         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
38950         directory and .exe suffix off argv[0] output.
38951
38952         test-fseeko: fix test for mingw
38953         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
38954         than undefining fseek, so test will pass on mingw.
38955
38956 2009-12-05  Bruno Haible  <bruno@clisp.org>
38957
38958         * lib/progname.h (set_program_name): Clarify specification.
38959         * lib/progname.c (set_program_name): Likewise.
38960         Reported by Jim Meyering.
38961
38962 2009-12-05  Jim Meyering  <meyering@redhat.com>
38963
38964         maint.mk: backslash-escape parens in default regexp
38965         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
38966         backslash-escape the literal parentheses.
38967
38968         maint.mk: news-date-check: use grep -E
38969         * top/maint.mk (today): Define a Make variable, not a...
38970         (news-date-check): ...shell variable.
38971         (news-date-regexp): Use the Make variable.
38972         Use grep's -E option.  Change the failing diagnostic to mention
38973         the variable, $(news-date-regexp).
38974
38975 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
38976
38977         maintainer-makefile: allow customization of NEWS entry format
38978         * top/maint.mk (news-date-regexp): New overridable variable.
38979         (news-date-check): Use it.
38980
38981 2009-12-04  Eric Blake  <ebb9@byu.net>
38982
38983         mgetgroups: add xgetgroups, and avoid ENOSYS failures
38984         * lib/mgetgroups.h (xgetgroups): New prototype.
38985         * lib/mgetgroups.c (xgetgroups): New wrapper.
38986         (mgetgroups): Handle ENOSYS.
38987         * modules/mgetgroups (Depends-on): Add realloc.
38988         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
38989
38990         mgetgroups: avoid argument promotion issues with -1
38991         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
38992         for invalid gid_t.
38993         * tests/test-chown.h (getegid, test_chown): Likewise.
38994         * tests/test-lchown.h (getegid, test_lchown): Likewise.
38995
38996 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
38997
38998         exclude: Fix header file problems.
38999         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39000
39001 2009-12-01  Jim Meyering  <meyering@redhat.com>
39002
39003         fts: fts_open: do not let an empty string cause immediate failure
39004         This is required in support of GNU rm, for which the command
39005         "rm A '' B" must process and remove both A and B, in spite of
39006         the empty string argument.
39007         * lib/fts.c (fts_open): Do not let the presence of an empty string
39008         cause fts_open to fail immediately.  Most fts-using tools must be
39009         able to process all arguments, in order, and can be expected to
39010         diagnose such arguments themselves.
39011
39012 2009-11-30  Eric Blake  <ebb9@byu.net>
39013
39014         utimens: fix compilation error
39015         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39016         Declare variable at right scope.
39017
39018 2009-11-29  Jim Meyering  <meyering@redhat.com>
39019
39020         bootstrap: handle perl-5.11's changed --version output
39021         * build-aux/bootstrap (get_version): Handle perl separately,
39022         since perl-5.11's --version output is different.
39023
39024 2009-11-28  Jim Meyering  <meyering@redhat.com>
39025
39026         userspec: depend on the inttostr module, too
39027         * modules/userspec (Depends-on): Add inttostr.
39028
39029         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39030         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39031         number of MAXUID when it evaluates to (uid_t) -1.
39032         Likewise for group ID.  Reported by Matt McCutchen in
39033         <http://savannah.gnu.org/bugs/?28113>
39034
39035         userspec: reformat to use spaces, not TABs
39036         * lib/userspec.c: Expand TABs to spaces.
39037         Add Emacs' "indent-tabs-mode: nil" hint.
39038
39039 2009-11-27  Eric Blake  <ebb9@byu.net>
39040
39041         getopt-gnu: flush out another BSD bug
39042         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39043         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39044         flush out BSD bug.
39045         * tests/test-getopt.h (test_getopt): End lists with NULL.
39046         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39047         (test_getopt_long_posix): Enhance test.
39048         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39049         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39050         getopt-gnu.
39051         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39052         Likewise.
39053
39054 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39055
39056         * modules/idpriv-droptemp-tests (Notice): Fix text.
39057
39058 2009-11-27  Jim Meyering  <meyering@redhat.com>
39059
39060         test-xalloc-die: avoid spurious failure due to libtool argv difference
39061         In a libtool-enabled project, this test would fail due to a difference
39062         in the emitted program name, e.g.,
39063         -test-xalloc-die: memory exhausted
39064         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39065         Use program to avoid that.
39066         * modules/xalloc-die-tests (Depends-on): Add progname.
39067         * tests/test-xalloc-die.c: Include progname.h".
39068         (program_name): Remove decl.
39069         (main): Call set_program_name.
39070         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39071
39072 2009-11-26  Richard Jones  <rjones@redhat.com>
39073
39074         w32sock: leave win32 error in place.
39075         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39076
39077 2009-11-26  Eric Blake  <ebb9@byu.net>
39078
39079         init.sh: suggest to use skip_ and fail_ functions in comments
39080         * tests/init.sh: Add a sentence.
39081
39082 2009-11-25  Bruno Haible  <bruno@clisp.org>
39083
39084         init.sh: add documentation in comments
39085         * tests/init.sh: Add some developer and user documentation.
39086
39087 2009-11-26  Jim Meyering  <meyering@redhat.com>
39088
39089         init.sh: accommodate even those who specify bogus srcdir manually
39090         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39091         configure-time tests to be sanitized, so that there is no need to
39092         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39093         (with no double quotes) suffices.  However, since tests may be
39094         invoked manually, and since you may explicitly set srcdir to the
39095         name of a directory containing spaces, do quote its uses here.
39096         * tests/test-pread.sh: Likewise.
39097         Suggested by Bruno Haible.
39098
39099         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39100         * tests/test-pread.sh: Write no data into the pipe, because
39101         test-pread actually reads none.  This avoids a diagnostic,
39102         "bash: echo: write error: Broken pipe", that arises in the unusual
39103         event something is ignoring SIGPIPE, and might be interpreted
39104         as some sort of failure.  Reported by Bruno Haible.
39105
39106 2009-11-25  Jim Meyering  <meyering@redhat.com>
39107
39108         test-pread: cover failure with ESPIPE and EINVAL
39109         * tests/test-pread.c (main): Test for failure, too.
39110         * tests/test-pread.sh: Invoke with stdin on a pipe.
39111         Suggested by Eric Blake.
39112
39113         pread: improvement and fix
39114         * modules/pread (Depends-on): Depend on lseek, for portability to
39115         e.g., mingw.  Suggested by Eric Blake.
39116         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39117
39118         unistd.in.h: correct declaration of pread
39119         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39120         Reported by Richard W.M. Jones.
39121
39122         test-pread.sh: distribute the test script
39123         * modules/pread-tests (Files): Include test-pread.sh.
39124
39125         test-pread.sh: clean up
39126         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39127         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39128         That is unnecessary, since it's always ".".
39129         Suggestion from Eric Blake.
39130
39131         test-pread.sh: make executable
39132         * tests/test-pread.sh: Set executable bit.
39133         Reported by Eric Blake.
39134
39135         correct typo in test-pread.sh
39136         * tests/test-pread.sh: Add #! line.
39137
39138         test pread
39139         * tests/test-pread.c: New file.
39140         * tests/test-pread.sh: Likewise.
39141         * modules/pread-tests: Likewise.
39142
39143         pread: new module
39144         * modules/pread: New file.
39145         * lib/unistd.in.h (pread): Define/declare.
39146         * lib/pread.c (pread): New file.
39147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39148         * modules/unistd (Makefile.am): Substitute witnesses.
39149         * doc/posix-functions/pread.texi (pread): Update.
39150         * MODULES.html.sh: Add pread.
39151
39152 2009-11-25  Jim Meyering  <meyering@redhat.com>
39153
39154         tests/init.sh: new file to be used via most *.sh tests
39155         * tests/init.sh: New file.
39156
39157 2009-11-25  Eric Blake  <ebb9@byu.net>
39158
39159         utimens: work around older Linux failure with symlinks
39160         * lib/utimens.c (lutimensat_works_really): New variable.
39161         (fdutimens, lutimens): Use it to manage kernels that support
39162         nanosecond times on files, but not on symlinks.
39163         Reported by OndÅ™ej Vašík.
39164
39165         utimes: fix configure grammar
39166         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39167
39168 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39169
39170         regex: Fix fastmap for multibyte character ranges.
39171         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
39172         characters when a multibyte character range is included.
39173
39174 2009-11-22  Andy Wingo  <wingo@pobox.com>
39175
39176         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
39177         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
39178
39179 2009-11-24  Bruno Haible  <bruno@clisp.org>
39180
39181         doc: Most *_l functions exist in MacOS X 10.5.
39182         * doc/posix-functions/duplocale.texi: Update platforms list.
39183         * doc/posix-functions/freelocale.texi: Likewise.
39184         * doc/posix-functions/newlocale.texi: Likewise.
39185         * doc/posix-functions/uselocale.texi: Likewise.
39186         * doc/posix-functions/isalnum_l.texi: Likewise.
39187         * doc/posix-functions/isalpha_l.texi: Likewise.
39188         * doc/posix-functions/isblank_l.texi: Likewise.
39189         * doc/posix-functions/iscntrl_l.texi: Likewise.
39190         * doc/posix-functions/isdigit_l.texi: Likewise.
39191         * doc/posix-functions/isgraph_l.texi: Likewise.
39192         * doc/posix-functions/islower_l.texi: Likewise.
39193         * doc/posix-functions/isprint_l.texi: Likewise.
39194         * doc/posix-functions/ispunct_l.texi: Likewise.
39195         * doc/posix-functions/isspace_l.texi: Likewise.
39196         * doc/posix-functions/isupper_l.texi: Likewise.
39197         * doc/posix-functions/iswalnum_l.texi: Likewise.
39198         * doc/posix-functions/iswalpha_l.texi: Likewise.
39199         * doc/posix-functions/iswblank_l.texi: Likewise.
39200         * doc/posix-functions/iswcntrl_l.texi: Likewise.
39201         * doc/posix-functions/iswctype_l.texi: Likewise.
39202         * doc/posix-functions/iswdigit_l.texi: Likewise.
39203         * doc/posix-functions/iswgraph_l.texi: Likewise.
39204         * doc/posix-functions/iswlower_l.texi: Likewise.
39205         * doc/posix-functions/iswprint_l.texi: Likewise.
39206         * doc/posix-functions/iswpunct_l.texi: Likewise.
39207         * doc/posix-functions/iswspace_l.texi: Likewise.
39208         * doc/posix-functions/iswupper_l.texi: Likewise.
39209         * doc/posix-functions/iswxdigit_l.texi: Likewise.
39210         * doc/posix-functions/isxdigit_l.texi: Likewise.
39211         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
39212         * doc/posix-functions/strcasecmp_l.texi: Likewise.
39213         * doc/posix-functions/strcoll_l.texi: Likewise.
39214         * doc/posix-functions/strfmon_l.texi: Likewise.
39215         * doc/posix-functions/strftime_l.texi: Likewise.
39216         * doc/posix-functions/strncasecmp_l.texi: Likewise.
39217         * doc/posix-functions/strxfrm_l.texi: Likewise.
39218         * doc/posix-functions/tolower_l.texi: Likewise.
39219         * doc/posix-functions/toupper_l.texi: Likewise.
39220         * doc/posix-functions/towctrans_l.texi: Likewise.
39221         * doc/posix-functions/towlower_l.texi: Likewise.
39222         * doc/posix-functions/towupper_l.texi: Likewise.
39223         * doc/posix-functions/wcscoll_l.texi: Likewise.
39224         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
39225         * doc/posix-functions/wctrans_l.texi: Likewise.
39226         * doc/posix-functions/wctype_l.texi: Likewise.
39227         * doc/glibc-functions/strptime_l.texi: Likewise.
39228         * doc/glibc-functions/strtod_l.texi: Likewise.
39229         * doc/glibc-functions/strtof_l.texi: Likewise.
39230         * doc/glibc-functions/strtol_l.texi: Likewise.
39231         * doc/glibc-functions/strtold_l.texi: Likewise.
39232         * doc/glibc-functions/strtoll_l.texi: Likewise.
39233         * doc/glibc-functions/strtoul_l.texi: Likewise.
39234         * doc/glibc-functions/strtoull_l.texi: Likewise.
39235         * doc/glibc-functions/wcsftime_l.texi: Likewise.
39236         * doc/glibc-functions/wcstod_l.texi: Likewise.
39237         * doc/glibc-functions/wcstof_l.texi: Likewise.
39238         * doc/glibc-functions/wcstol_l.texi: Likewise.
39239         * doc/glibc-functions/wcstold_l.texi: Likewise.
39240         * doc/glibc-functions/wcstoll_l.texi: Likewise.
39241         * doc/glibc-functions/wcstoul_l.texi: Likewise.
39242         * doc/glibc-functions/wcstoull_l.texi: Likewise.
39243
39244 2009-11-24  Bruno Haible  <bruno@clisp.org>
39245
39246         duplocale: Fix logic bug.
39247         * lib/duplocale.c: Don't include <langinfo.h>.
39248         (_NL_LOCALE_NAME): Remove macro.
39249         (rpl_duplocale): Use setlocale instead of nl_langinfo.
39250         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
39251
39252 2009-11-23  Jim Meyering  <meyering@redhat.com>
39253
39254         test-update-copyright: don't hard-code /usr/bin/perl
39255         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
39256         perl to print the current year.  Gilles Espinasse reported that
39257         the replaced use of perl was hard-coded as /usr/bin/perl.
39258
39259 2009-11-23  Bruno Haible  <bruno@clisp.org>
39260
39261         duplocale: Add support for glibc 2.3.x.
39262         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
39263
39264 2009-11-22  Bruno Haible  <bruno@clisp.org>
39265
39266         vasnprintf: Tiny optimization.
39267         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
39268         MacOS X.
39269
39270 2009-11-22  Bruno Haible  <bruno@clisp.org>
39271
39272         Tests for module 'duplocale'.
39273         * modules/duplocale-tests: New file.
39274         * tests/test-duplocale.c: New file.
39275
39276         New module 'duplocale'.
39277         * m4/duplocale.m4: New file.
39278         * lib/locale.in.h (duplocale): New declaration.
39279         * lib/duplocale.c: New file.
39280         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
39281         gl_LOCALE_H_DEFAULTS): New macros.
39282         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
39283         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
39284         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
39285         REPLACE_DUPLOCALE.
39286         * modules/duplocale: New file.
39287         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
39288
39289 2009-11-22  Bruno Haible  <bruno@clisp.org>
39290
39291         * modules/locale-tests (configure.ac): Test for newlocale function.
39292         * tests/test-locale.c: When the system has extended locale functions,
39293         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
39294
39295         locale: Make locale_t available when possible.
39296         * lib/locale.in.h: Include <xlocale.h> when it exists.
39297         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
39298         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
39299         * modules/locale (Depends-on): Add extensions.
39300         (Makefile.am): Also substitute HAVE_XLOCALE_H.
39301         * doc/posix-headers/locale.texi: Document the problem with locale_t.
39302
39303 2009-11-22  Bruno Haible  <bruno@clisp.org>
39304
39305         Add comments.
39306         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
39307         invocation.
39308         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39309         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
39310         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39311
39312 2009-11-22  Bruno Haible  <bruno@clisp.org>
39313
39314         error: account for the possibility of freopen (stdout).
39315         * lib/error.c: Include <unistd.h>.
39316         (flush_stdout): New function, extracted from error and error_at_line.
39317         Determine stdout's fd dynamically.
39318         (error, error_at_line): Invoke flush_stdout.
39319         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
39320         * modules/error (Depends-on): Add unistd.
39321
39322 2009-11-22  Bruno Haible  <bruno@clisp.org>
39323
39324         diffseq: Add comment.
39325         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
39326
39327 2009-11-22  Jim Meyering  <meyering@redhat.com>
39328
39329         c-stack: avoid defining an unused static function
39330         * lib/c-stack.c (find_stack_direction): Do not define this function
39331         when it will not be used.
39332
39333         diffseq: avoid spurious gcc warnings
39334         * lib/diffseq.h (IF_LINT2): Define.
39335         (compareseq): Use it to initialize two members of "part".
39336         This avoids two used-uninitialized warnings.
39337
39338 2009-11-21  Jim Meyering  <meyering@redhat.com>
39339
39340         c-stack: avoid "ignoring return value of `write'" warning
39341         * lib/c-stack.c: Include "ignore-value.h".
39342         (die): Explicitly ignore each write return value.
39343         * modules/c-stack (Depends-on): Add ignore-value.
39344
39345 2009-11-21  Bruno Haible  <bruno@clisp.org>
39346
39347         diffseq: reduce scope of variable 'best'.
39348         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
39349         variable, earlier used for two different purposes.
39350
39351 2009-11-21  Jim Meyering  <meyering@redhat.com>
39352
39353         diffseq: remove useless assignment to "best"
39354         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
39355         assignment.  At that point "best" is already guaranteed to be zero.
39356
39357 2009-11-20  Eric Blake  <ebb9@byu.net>
39358
39359         build: mention ftp redirector in release announcements
39360         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
39361         values that used to come from cfg.mk; mention FTP redirect URL.
39362         * build-aux/announce-gen: Mention the mirror list.
39363         Suggested by Karl Berry.
39364
39365         nanosleep: improve port to mingw
39366         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
39367         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
39368         LIB_NANOSLEEP, but only when needed.
39369         * modules/select (Link): Document LIBSOCKET.
39370         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
39371         enough.
39372
39373         nanosleep: work around cygwin bug
39374         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
39375         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
39376         bug.
39377         (getnow): Delete, not needed.
39378         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
39379         LIB_CLOCK_GETTIME.
39380         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
39381         clock-time, gettime.
39382         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
39383         bug.
39384         * modules/nanosleep-tests: New test.
39385         * tests/test-nanosleep.c: New file.
39386
39387         sleep: work around cygwin bug
39388         * lib/sleep.c (rpl_sleep): Work around the bug.
39389         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
39390         (gl_PREREQ_SLEEP): Delete unused macro.
39391         * modules/sleep (Depends-on): Add verify.
39392         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39393         * modules/unistd (Makefile.am): Substitute witness.
39394         * lib/unistd.in.h (sleep): Update prototype.
39395         * doc/posix-functions/sleep.texi (sleep): Document the bug.
39396         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
39397         * modules/sleep-tests (Depends-on): Check for alarm.
39398
39399 2009-11-20  Jim Meyering  <meyering@redhat.com>
39400
39401         maint.mk: improve sc_prohibit_magic_number_exit
39402         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
39403         so it does not match uses like System.exit(1).
39404         Add comments showing how to correct all offenders.
39405
39406 2009-11-19  Eric Blake  <ebb9@byu.net>
39407
39408         xalloc-die-tests: add missing library
39409         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
39410
39411         test-xvasprintf: silence compiler warnings
39412         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
39413         empty string from gcc.
39414
39415 2009-11-19  Jim Meyering  <meyering@redhat.com>
39416
39417         xfreopen: new module, from coreutils
39418         * modules/xfreopen: New module.
39419         * lib/xfreopen.c: New file.
39420         * lib/xfreopen.h: New file.
39421         * MODULES.html.sh (File stream based Input/Output"): Add it.
39422
39423 2009-11-19  Eric Blake  <ebb9@byu.net>
39424
39425         manywarnings: depend on warnings
39426         * modules/manywarnings (Depends-on): Add warnings.
39427
39428         build: avoid compiler warnings
39429         * lib/select.c (rpl_select): Delete unused variable.
39430         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
39431
39432 2009-11-18  Eric Blake  <ebb9@byu.net>
39433
39434         tests: avoid false negative with --with-packager
39435         * tests/test-version-etc.sh: Discard packager information.
39436         * tests/test-argp-version-etc-1.sh: Likewise.
39437         Reported by Mike Frysinger.
39438
39439         utimens: fix regression on Solaris
39440         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
39441         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
39442         can only change fd timestamps via futimesat.  Instead, use an
39443         additional witness macro to avoid BSD bug.
39444         Reported by Jim Meyering.
39445
39446 2009-11-17  Eric Blake  <ebb9@byu.net>
39447
39448         usleep: use it to simplify tests
39449         * modules/stat-time-tests (Depends-on): Add usleep.
39450         (configure.ac): Drop usleep check.
39451         * modules/chown-tests (Depends-on, configure.ac): Likewise.
39452         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
39453         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
39454         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
39455         * modules/openat-tests (Depends-on, configure.ac): Likewise.
39456         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
39457         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
39458         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
39459         Likewise.
39460         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
39461         * tests/test-lchown.h (nap): Likewise.
39462         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
39463         * tests/test-stat-time.c (nap): Likewise.
39464         * tests/test-utimens-common.h (nap): Update comments.
39465
39466         usleep: new module
39467         * modules/usleep: New file.
39468         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
39469         * lib/usleep.c (usleep): Likewise.
39470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
39471         * modules/unistd (Makefile.am): Substitute witnesses.
39472         * lib/unistd.in.h (usleep): Add declaration.
39473         * doc/pastposix-functions/usleep.texi (usleep): Document this.
39474         * MODULES.html.sh (Date and time): Likewise.
39475         * modules/usleep-tests (Depends-on): New test.
39476         * tests/test-usleep.c: New file.
39477
39478         chown: work around OpenBSD bug
39479         * lib/chown.c (rpl_chown): Work around the bug.
39480         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
39481         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
39482         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
39483         * modules/chown (Depends-on): Add stdbool.
39484         * modules/lchown (Depends-on): Likewise.
39485         * doc/posix-functions/chown.texi (chown): Document the bug.
39486         * doc/posix-functions/lchown.texi (lchown): Likewise.
39487         * tests/test-lchown.h (test_chown): Relax test.
39488
39489         mkstemp: avoid conflict with C++ keyword template
39490         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
39491         * lib/mkostemp.c (mkostemp): Likewise.
39492         * lib/mkostemps.c (mkostemps): Likewise.
39493         * lib/mkstemp.c (mkstemp): Likewise.
39494         * lib/mkstemps.c (mkstemps): Likewise.
39495
39496         xalloc-die-tests: optimize
39497         * tests/test-xalloc-die.sh: Reduce number of processes.
39498
39499 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39500
39501         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
39502         patch from ludo@gnu.org (Ludovic Courtès).
39503
39504 2009-11-17  Jim Meyering  <meyering@redhat.com>
39505
39506         version-etc: use proper license string
39507         * modules/version-etc (License): Use LGPL, not LGPLv3+.
39508         * modules/version-etc-fsf: Likewise.
39509
39510 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39511
39512         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
39513         printed to stdout.  Deal with EOL differences.
39514
39515 2009-11-17  Eric Blake  <ebb9@byu.net>
39516
39517         unsetenv: work around Solaris bug
39518         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
39519         * lib/unsetenv.c (rpl_unsetenv): Work around it.
39520         Reported by Jim Meyering.
39521
39522         vasnprintf: avoid compiler warnings
39523         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
39524         variables.
39525         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
39526
39527 2009-11-17  Simon Josefsson  <simon@josefsson.org>
39528
39529         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
39530         settings since xalloc-die is no longer the self test,
39531         xalloc-die.sh is.
39532
39533 2009-11-17  Jim Meyering  <meyering@redhat.com>
39534
39535         test-xalloc-die.sh: make the code agree with the commit log
39536         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
39537         at the end, just in case you happen to have a test-xalloc-die
39538         program in some other PATH directory.
39539
39540         test-xalloc-die.sh: fix a portability bug
39541         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
39542         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
39543         Otherwise, argv[0] (as often seen in diagnostics) would be too
39544         system-dependent, sometimes with, and sometimes without the leading "./".
39545
39546         version-etc-fsf: relax license to LGPLv3+
39547         * modules/version-etc-fsf (License): Relax license.
39548
39549 2009-11-16  Eric Blake  <ebb9@byu.net>
39550
39551         xalloc-die-tests: avoid printing null pointer
39552         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
39553         shell script.
39554         * tests/test-xalloc-die.c (program_name): Declare.
39555         * tests/test-xalloc-die.sh (tmpfiles): New file.
39556
39557         setenv, unsetenv: work around various bugs
39558         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
39559         (setenv) [HAVE_SETENV]: Work around bugs.
39560         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
39561         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
39562         for bugs.
39563         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
39564         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
39565         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
39566         * modules/stdlib (Makefile.am): Update substitutions.
39567         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
39568         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
39569         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39570         * modules/setenv-tests: New test.
39571         * modules/unsetenv-tests: Likewise.
39572         * tests/test-setenv.c: New file.
39573         * tests/test-unsetenv.c: Likewise.
39574
39575 2009-11-16  Jim Meyering  <meyering@redhat.com>
39576
39577         version-etc: relax license to LGPLv3+
39578         * modules/version-etc (License): Relax license.
39579
39580         better AC_REQUIRE expanded-before-required-warning avoidance
39581         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
39582         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
39583         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
39584         which is no longer needed.
39585
39586 2009-11-16  Eric Blake  <ebb9@byu.net>
39587
39588         test-freading: clean up temporary file
39589         * tests/test-freading.c (main): Remove file on success, and use
39590         ASSERT more liberally.
39591         Reported by Jim Meyering.
39592
39593 2009-11-16  Jim Meyering  <meyering@redhat.com>
39594
39595         avoid new AC_REQUIRE expanded-before-required warnings
39596         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
39597         merely using it.
39598         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
39599         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
39600
39601 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39602
39603         * tests/test-xalloc-die.c: New file.
39604         * modules/xalloc-die-tests: New file.
39605         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
39606         XFAIL_TESTS so it can be appended by modules.
39607
39608 2009-11-15  Simon Josefsson  <simon@josefsson.org>
39609
39610         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
39611         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
39612
39613 2009-11-14  Eric Blake  <ebb9@byu.net>
39614
39615         fnmatch: avoid compiler warning
39616         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
39617         to silence compiler warning about mismatch signedness in ?:.
39618         Reported by Robert Millan.
39619
39620         intprops: add double-inclusion guard
39621         * lib/intprops.h: Allow idempotent includes.
39622         Suggested by Bruce Korb.
39623
39624         openat: detect Solaris fchownat bug
39625         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
39626         penalizing glibc chownat when only lchownat is broken.
39627         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
39628         trailing slash bugs.
39629         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
39630         * modules/openat-tests (Files): Include more files.
39631         (Depends-on): Add mgetgroups, sleep, stat-time.
39632         (configure.ac): Add additional checks.
39633         (Makefile.am): Build new test.
39634         * tests/test-fchownat.c: New file.
39635
39636         lchown: detect Solaris and FreeBSD bug
39637         * lib/lchown.c (rpl_lchown): Work around bug.
39638         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
39639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39640         * modules/unistd (Makefile.am): Populate it.
39641         * lib/unistd.in.h (lchown): Update declaration.
39642         * doc/posix-functions/lchown.texi (lchown): Document the bug.
39643         * modules/lchown-tests: New file.
39644         * tests/test-lchown.h (test_lchown): Likewise.
39645         * tests/test-lchown.c (main): Likewise.
39646
39647         chown: detect Solaris and FreeBSD bug
39648         * lib/chown.c (rpl_chown): Work around bug.
39649         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
39650         (gl_PREREQ_CHOWN): Delete.
39651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39652         * modules/unistd (Makefile.am): Populate it.
39653         * lib/unistd.in.h (chown): Update declaration.
39654         * lib/lchown.c (chown): Update client.
39655         * modules/lchown (Depends-on): Add lstat.
39656         * doc/posix-functions/chown.texi (chown): Document the bug.
39657         * doc/posix-functions/getgroups.texi (getgroups): Document
39658         getgroups pitfall.
39659         * modules/chown-tests: New file.
39660         * tests/test-chown.h (test_chown): Likewise.
39661         * tests/test-chown.c (main): Likewise.
39662
39663 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
39664
39665         gnulib-tool: correctly detect absence of m4 directories
39666         * gnulib-tool: Avoid extra newline on data passed to wc -l.
39667
39668 2009-11-14  Jim Meyering  <meyering@redhat.com>
39669
39670         maint.mk: Prohibit inclusion of "xalloc.h" without use.
39671         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39672
39673 2009-11-14  John W. Eaton  <jwe@gnu.org>
39674
39675         strftime.h: wrap function declaration in extern "C" block
39676         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
39677
39678 2009-11-13  Eric Blake  <ebb9@byu.net>
39679
39680         getgroups: avoid compiler warning
39681         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
39682
39683         getgroups: work around FreeBSD bug
39684         * lib/getgroups.c (rpl_getgroups): Work around the bug.
39685         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
39686         * doc/posix-functions/getgroups.texi (getgroups): Document it.
39687         * tests/test-getgroups.c (main): Fix buffer overrun.
39688
39689         getgroups: avoid compilation failure
39690         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
39691         * modules/getgroups (Depends-on): Add stdint.
39692
39693 2009-11-13  Jim Meyering  <meyering@redhat.com>
39694
39695         test-getgroups: avoid compilation failure
39696         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
39697
39698 2009-11-13  Eric Blake  <ebb9@byu.net>
39699
39700         mgetgroups: new module, taken from coreutils
39701         * modules/mgetgroups: New file.
39702         * lib/mgetgroups.h: Likewise.
39703         * lib/mgetgroups.c (mgetgroups): Likewise.
39704         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
39705         * MODULES.html.sh (Users and groups): Mention it.
39706
39707         getgroups: don't expose GETGROUPS_T to user
39708         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
39709         an element at a time if GETGROUPS_T is wrong size.
39710         * lib/getugroups.h (getugroups): Change signature.
39711         * lib/unistd.in.h (getgroups): Likewise.
39712         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
39713         signature needs fixing.
39714         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
39715         AC_TYPE_GETGROUPS.
39716         * modules/group-member (Depends-on): Add getgroups.
39717         * lib/group-member.c (group_info, get_group_info): Use gid_t.
39718         (group_member): Rely on getgroups replacement.
39719         * lib/getugroups.c (getugroups): Use gid_t.
39720         * tests/test-getgroups.c (main): Likewise.
39721         * NEWS: Mention the signature change.
39722         * doc/posix-functions/getgroups.texi (getgroups): Mention the
39723         problem with signature.
39724         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
39725         GETGROUPS_T is still useful for setgroups.
39726
39727         getgroups, getugroups: provide stubs for mingw
39728         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
39729         * lib/getugroups.c (getugroups): Likewise.
39730         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
39731         function.  Modernize replacement scheme.
39732         (gl_PREREQ_GETGROUPS): Delete.
39733         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
39734         * modules/getgroups (configure.ac): Declare witness.
39735         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
39736         * modules/unistd (Depends-on): Substitute witness.
39737         * lib/unistd.in.h (getgroups): Declare replacement.
39738
39739         getgroups: avoid calling exit
39740         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
39741         drop xalloc.
39742         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
39743         dependencies.
39744         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
39745         exiting, in the rare case of malloc failure.
39746
39747         getgroups: fix logic error
39748         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
39749         has more than 20 groups.
39750         * modules/getgroups-tests: New test.
39751         * tests/test-getgroups.c: New file.
39752
39753 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39754
39755         * tests/test-base64.c: Improve.
39756
39757 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39758
39759         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
39760         Blake <ebb9@byu.net>.
39761
39762 2009-11-13  Simon Josefsson  <simon@josefsson.org>
39763
39764         * tests/test-xvasprintf.c: Add %s%s related checks.
39765
39766 2009-11-12  Eric Blake  <ebb9@byu.net>
39767
39768         version-etc: match standards.texi style
39769         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
39770         and use <> only for URLs.
39771
39772 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
39773
39774         fts: do not fail on a submount during traversal
39775         * lib/fts.c (fts_build): Read the stat info again after opening
39776         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
39777         Original report at http://bugzilla.redhat.com/501848.
39778
39779 2009-11-12  Jim Meyering  <meyering@redhat.com>
39780
39781         bootstrap: sync from coreutils
39782         * build-aux/bootstrap (bootstrap_epilogue): New function.
39783         Use git_modules_config in one more place.  This make bootstrap's
39784         --gnulib-srcdir option more useful for testing.
39785
39786         bootstrap: generalize autoheader check
39787         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
39788         AC_CONFIG_HEADERS.
39789
39790 2009-11-11  Eric Blake  <ebb9@byu.net>
39791
39792         mkfifoat: use new modules for Solaris and BSD bugs
39793         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
39794         * lib/mkfifoat.c (mknodat): Split...
39795         * lib/mknodat.c (mknodat): ...into new file.
39796         * modules/mkfifoat (Files): Ship new file.
39797         (Depends-on): Add mkfifo, mknod.
39798         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
39799         (Depends-on): Add symlink.
39800         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
39801         redundant with test_mkfifo.h.
39802         (do_mkfifoat, do_mknodat): New helpers.
39803
39804         mknod: new module
39805         * modules/mknod: New file.
39806         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
39807         * lib/mknod.c (mknod): Likewise.
39808         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39809         defaults.
39810         * modules/sys_stat (Makefile.am): Substitute them.
39811         * lib/sys_stat.in.h (mknod): Declare replacement.
39812         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39813         Document it.
39814         * doc/posix-functions/mknod.texi (mknod): Likewise.
39815         * modules/mknod-tests: New test.
39816         * tests/test-mknod.c: Likewise.
39817
39818         mkfifo: new module
39819         * modules/mkfifo: New file.
39820         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
39821         * lib/mkfifo.c (mkfifo): Likewise.
39822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
39823         defaults.
39824         * modules/sys_stat (Makefile.am): Substitute them.
39825         * lib/sys_stat.in.h (mkfifo): Declare replacement.
39826         * MODULES.html.sh (Support for systems lacking POSIX:2008):
39827         Document it.
39828         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
39829         * modules/mkfifo-tests: New test.
39830         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
39831         from test-mkfifoat.c.
39832         * tests/test-mkfifo.c: New file.
39833
39834         readlink: detect FreeBSD bug
39835         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
39836         slash on symlink.
39837         * doc/posix-functions/readlink.texi (readlink): Document the bug.
39838         * tests/test-readlink.h (test_readlink): Enhance test.
39839
39840         symlink: detect FreeBSD bug
39841         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
39842         slash on symlink.
39843         * doc/posix-functions/symlink.texi (symlink): Document the bug.
39844         * tests/test-symlink.h (test_symlink): Enhance test.
39845
39846 2009-11-10  Eric Blake  <ebb9@byu.net>
39847
39848         link: detect FreeBSD bug
39849         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
39850         symlink.
39851         * doc/posix-functions/link.texi (link): Document the bug.
39852         * tests/test-link.h (test_link): Enhance test.
39853         * tests/test-linkat.c (main): Update caller.
39854
39855         unlink, remove: detect FreeBSD bug
39856         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
39857         slash on symlink.
39858         * doc/posix-functions/unlink.texi (unlink): Document the bug.
39859         * doc/posix-functions/remove.texi (remove): Likewise.
39860         * tests/test-unlink.h (test_unlink): Enhance test.
39861         * tests/test-remove.c (main): Likewise.
39862
39863 2009-11-09  Eric Blake  <ebb9@byu.net>
39864
39865         rename: detect FreeBSD bug
39866         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
39867         slash on symlink.
39868         * modules/renameat-tests (Depends-on): Add filenamecat.
39869         * tests/test-rename.h (test_rename): Allow one more errno.
39870         * tests/test-renameat.c (main): Likewise.
39871         * doc/posix-functions/rename.texi (rename): Document the bug.
39872
39873         open: detect FreeBSD bug
39874         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
39875         symlink.
39876         * doc/posix-functions/open.texi (open): Document the bug.
39877         * doc/posix-functions/utimes.texi (utimes): Likewise.
39878         * tests/test-open.h (test_open): Add parameters, and test symlink
39879         handling.
39880         * tests/test-open.c (main): Adjust caller.
39881         * tests/test-fcntl-safer.c (main): Likewise.
39882         * modules/open-tests (Depends-on): Add stdbool, symlink.
39883         * modules/fcntl-safer-tests (Depends-on): Likewise.
39884         * tests/test-openat.c (main): Add test-open tests.
39885
39886         stat: detect FreeBSD bug
39887         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
39888         symlink.
39889         * doc/posix-functions/stat.texi (stat): Document the bug.
39890         * tests/test-stat.h (test_stat_func): Add argument.
39891         * tests/test-stat.c (main): Adjust caller.
39892         * tests/test-fstatat.c (main): Likewise.
39893         * modules/stat-tests (Depends-on): Add stdbool, symlink.
39894         Reported by Jim Meyering.
39895
39896 2009-11-09  James Youngman  <jay@gnu.org>
39897
39898         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
39899         * lib/strftime.c: Correct placement of #include "ignore-value.h".
39900
39901 2009-11-08  Jim Meyering  <meyering@redhat.com>
39902
39903         utimens: remove invalid futimesat call
39904         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
39905         It used the file descriptor of the target file as the DIR_FD
39906         parameter and NULL as the file name.  That caused failure with
39907         errno == EFAULT on FreeBSD-8.0-rc2
39908
39909 2009-11-07  Eric Blake  <ebb9@byu.net>
39910
39911         fflush, freadseek: use fseeko, not fseek
39912         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
39913         (clear_ungetc_buffer): Avoid potential problems on large files.
39914         * lib/freadseek.c (freadseek): Likewise.
39915         * modules/freadseek (Depends-on): Add fseeko.
39916         * modules/fseek (configure.ac): Set a witness.
39917         * tests/test-fflush.c (main): Use fseeko.
39918         * tests/test-fpurge.c (fseek): Disable link warning.
39919         * tests/test-freadable.c (fseek): Likewise.
39920         * tests/test-freading.c (fseek): Likewise.
39921         * tests/test-fseeko.c (fseek): Likewise.
39922         * tests/test-ftell.c (fseek): Likewise.
39923         * tests/test-ftello.c (fseek): Likewise.
39924         * tests/test-fwritable.c (fseek): Likewise.
39925         * tests/test-fwriting.c (fseek): Likewise.
39926
39927 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39928
39929         * modules/memchr (Depends-on): Drop getpagesize dependency.
39930
39931 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39932
39933         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
39934         Reported by Ludovic Courtès.
39935         * build-aux/pmccabe2html: Improve example usage.
39936         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
39937
39938 2009-11-06  Jim Meyering  <meyering@redhat.com>
39939
39940         do-release-commit-and-tag: New module.
39941         Automate the release-commit and tag process.
39942         * build-aux/do-release-commit-and-tag: New script, from coreutils.
39943         * modules/do-release-commit-and-tag: New file.
39944         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39945
39946 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39947
39948         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
39949         because test-select.c uses inet_pton.
39950
39951 2009-11-06  Simon Josefsson  <simon@josefsson.org>
39952
39953         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
39954         GETADDRINFO_LIB.  Bump serial number.
39955         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
39956         Suggested by Eric Blake <ebb9@byu.net>.
39957
39958 2009-11-05  Eric Blake  <ebb9@byu.net>
39959
39960         strtod: detect darwin bug
39961         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
39962         Reported by Leo Davis.
39963
39964         freopen-safer: new module
39965         * modules/freopen-safer: New module.
39966         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
39967         * lib/freopen-safer.c (freopen_safer): New file.
39968         * lib/stdio-safer.h (freopen_safer): New declaration.
39969         * lib/stdio--.h (freopen): New override.
39970         * MODULES.html.sh (File stream based Input/Output): Mention it.
39971         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
39972         freopen-safer module.
39973         * doc/posix-functions/stderr.texi (stderr): Likewise.
39974         * doc/posix-functions/stdin.texi (stdin): Likewise.
39975         * doc/posix-functions/stdout.texi (stdout): Likewise.
39976         * modules/freopen-safer-tests: New test.
39977         * tests/test-reopen-safer.c: New file.
39978
39979 2009-11-05  Jim Meyering  <meyering@redhat.com>
39980
39981         maint.mk: Prohibit inclusion of "close-stream.h" without use.
39982         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
39983
39984 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39985
39986         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
39987
39988 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39989
39990         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
39991
39992 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39993
39994         Fix link error.
39995         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
39996         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39997
39998 2009-11-05  Simon Josefsson  <simon@josefsson.org>
39999
40000         * tests/test-func.c: Also test value of __func__.
40001
40002 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40003
40004         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40005         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40006
40007 2009-11-05  Bruno Haible  <bruno@clisp.org>
40008
40009         Fix link error.
40010         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40011         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40012         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40013
40014 2009-11-05  Bruno Haible  <bruno@clisp.org>
40015
40016         Tests for module 'inet_pton'.
40017         * modules/inet_pton-tests: New file.
40018         * tests/test-inet_pton.c: New file.
40019
40020 2009-11-05  Bruno Haible  <bruno@clisp.org>
40021
40022         Tests for module 'inet_ntop'.
40023         * modules/inet_ntop-tests: New file.
40024         * tests/test-inet_ntop.c: New file.
40025
40026 2009-11-04  Eric Blake  <ebb9@byu.net>
40027
40028         stdlib-safer: wrap all mkstemp variants
40029         * modules/mkostemp (configure.ac): Set witness.
40030         * modules/mkostemps (configure.ac): Likewise.
40031         * modules/mkstemps (configure.ac): Likewise.
40032         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40033         (mkstemps_safer): Wrap more functions.
40034         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40035         wrapping.
40036         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40037         (mkstemps_safer): Implement the wrappers.
40038
40039         mkstemps, mkostemps: new modules
40040         * modules/mkostemps: New module.
40041         * modules/mkstemps: Likewise.
40042         * lib/mkostemps.c (mkostemps): New file.
40043         * lib/mkstemps.c (mkstemps): Likewise.
40044         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40045         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40046         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40047         * modules/stdlib (Makefile.am): Substitute them.
40048         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40049         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40050         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40051         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40052         * MODULES.html.sh (File system functions): Mention them.
40053
40054         tempname: resync from glibc
40055         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40056         same values for __GT_FILE as glibc.  Abort even when assertions
40057         are disabled.
40058         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40059         match its value otherwise.  Allow idempotent inclusion.
40060         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40061         * lib/mkostemp.c (mkostemp): Likewise.
40062         * lib/mkstemp.c (mkstemp): Likewise.
40063         * lib/tmpfile.c (tmpfile): Likewise.
40064         * NEWS: Document this.
40065
40066         utimens: fix use of futimens on older Linux
40067         * lib/utimens.c (fdutimens): Use updated, rather than original,
40068         timespec to avoid bug in older Linux kernel.
40069         Reported by Simon Josefsson.
40070
40071 2009-11-04  Bruno Haible  <bruno@clisp.org>
40072
40073         Make num_processors more flexible and consistent.
40074         * lib/nproc.h (enum nproc_query): New type.
40075         (num_processors): Add a 'query' argument.
40076         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40077         (num_processors): Add a 'query' argument. Test the value of the
40078         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40079         mingw, count the number of CPUs available for the current process.
40080         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40081         Check for sched_getaffinity and sched_getaffinity_np.
40082         * modules/nproc (Depends-on): Add c-ctype, extensions.
40083         * NEWS: Mention the change.
40084
40085 2009-11-03  Bruno Haible  <bruno@clisp.org>
40086
40087         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40088
40089 2009-11-03  Jim Meyering  <meyering@redhat.com>
40090
40091         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40092         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40093         if it is defined.
40094
40095 2009-11-02  Eric Blake  <ebb9@byu.net>
40096
40097         mktime, timegm: share common declaration
40098         * lib/mktime-internal.h: New file.
40099         * lib/mktime.c: Use it rather than open-coding a declaration.
40100         * lib/timegm.c: Likewise.
40101         * modules/mktime (Files): Ship it.
40102         * modules/timegm (Files): Likewise.
40103         Suggested by Bruno Haible.
40104
40105         test-update-copyright: update test to match script changes
40106         * tests/test-update-copyright.sh: Avoid hard-coding perl
40107         location.  Don't update *.bak created by earlier runs.
40108
40109 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40110             Simon Josefsson  <simon@josefsson.org>
40111             Bruno Haible  <bruno@clisp.org>
40112
40113         Fix link error on Solaris 8.
40114         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40115         also in libnsl. Define also INET_PTON_LIB.
40116         * modules/inet_pton (Link): New section.
40117
40118 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40119             Bruno Haible  <bruno@clisp.org>
40120
40121         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40122         * modules/inet_ntop (Link): New section.
40123         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40124
40125 2009-11-02  Eric Blake  <ebb9@byu.net>
40126
40127         maint: avoid compiler warnings in m4 macros
40128         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40129         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40130
40131 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40132
40133         * m4/pmccabe2html.m4: Remove file.
40134         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40135         function.  Change maintainer.
40136         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40137         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40138         Courtès).
40139
40140 2009-10-31  Eric Blake  <ebb9@byu.net>
40141
40142         fseeko: fix m4 regression
40143         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40144         regression from 2009-10-27.
40145         Reported by Ralf Wildenhues.
40146
40147 2009-10-31  Jim Meyering  <meyering@redhat.com>
40148
40149         inttostr: aesthetics and improved (compile-time) safety
40150         Define inttype_is_signed rather than inttype_is_unsigned,
40151         since the sole use is via "#if inttype_is_signed".
40152         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40153         inttype_is_unsigned.
40154         * lib/offtostr.c (inttype_is_signed): Likewise.
40155         * lib/uinttostr.c (inttype_is_signed): Likewise.
40156         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40157         * lib/inttostr.c (inttostr): Use verify to cross-check the
40158         inttype_is_signed value and the signedness of the actual type.
40159         * modules/inttostr (Depends-on): Add verify.
40160
40161 2009-10-30  Eric Blake  <ebb9@byu.net>
40162
40163         build: avoid compiler warnings
40164         * lib/fchmodat.c (lchmod): Mark unused variables.
40165         * lib/getopt.c (_getopt_initialize): Likewise.
40166         * lib/mktime.c (__mktime_internal): Provide prototype.
40167         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40168         older gcc that do not understand #pragma GCC diagnostic.
40169         * lib/uinttostr.c (inttype_is_unsigned): Define.
40170         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
40171
40172 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
40173
40174         stat: fix compilation on AIX
40175         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
40176         only see struct stat64.
40177
40178 2009-10-30  Eric Blake  <ebb9@byu.net>
40179
40180         exclude: make more robust
40181         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
40182         rather than masking a coding bug.
40183         Suggested by Bruno Haible.
40184
40185 2009-10-30  Jim Meyering  <meyering@redhat.com>
40186
40187         perl scripts: remove #!/usr/bin/perl in favor of more portable...
40188         Rather than putting #!/usr/bin/perl on the first line,
40189         start with a variant of what's recommended by "man perlrun" that
40190         invokes the first "perl" program from your shell's search path.
40191         * build-aux/gitlog-to-changelog: Replace #!... as above.
40192         Add a "Local Variables" perl mode setting.
40193         Prompted by a patch from Ludovic Courtès.
40194         Improved by Eric Blake.
40195         * build-aux/useless-if-before-free: Likewise.
40196         * build-aux/announce-gen: Likewise.
40197         * build-aux/update-copyright: Likewise.
40198
40199 2009-10-29  Eric Blake  <ebb9@byu.net>
40200
40201         filenamecat-lgpl: adjust clients
40202         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
40203         filenamecat.
40204         * modules/renameat (Depends-on): Likewise.
40205
40206         filenamecat: split into filenamecat-lgpl
40207         * modules/filenamecat-lgpl: New module.
40208         * modules/filenamecat (Files): Move library-safe files into
40209         filenamecat-lgpl.
40210         (Depends-on): Add filenamecat-lgpl.
40211         (configure.ac): Declare witness.
40212         * lib/filenamecat.h (file_name_concat): Only declare when using
40213         GPL module.
40214         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
40215         Move...
40216         * lib/filenamecat-lgpl.c: ...into new file.
40217         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
40218         (gl_FILE_NAME_CONCAT): Use it.
40219         * MODULES.html.sh (File system functions): Mention new module.
40220
40221         argp: avoid memory leak
40222         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
40223         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
40224         base_name, since the latter malloc()s and can call exit().
40225         Leak introduced 2006-07-03.
40226
40227         dirname-lgpl: adjust clients that don't need full dirname
40228         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
40229         * modules/filenamecat (Depends-on): Likewise.
40230         * modules/linkat (Depends-on): Likewise.
40231         * modules/mkancesdirs (Depends-on): Likewise.
40232         * modules/mkdir (Depends-on): Likewise.
40233         * modules/openat (Depends-on): Likewise.
40234         * modules/savewd (Depends-on): Likewise.
40235         * modules/rename (Depends-on): Likewise.
40236         (License): Relax license.
40237         * modules/mkdir-tests (Depends-on): Drop progname.
40238         (Makefile.am): Delete unneeded LDADD.
40239         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
40240
40241         dirname: split into dirname-lgpl
40242         * modules/dirname-lgpl: New module.
40243         * modules/dirname (Files): Move library-safe files into
40244         dirname-lgpl.
40245         (Depends-on): Add dirname-lgpl.
40246         (configure.ac): Declare witness.
40247         * modules/double-slash-root (License): Relax license.
40248         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
40249         module.
40250         * lib/dirname.c (dir_len, mdir_name): Move...
40251         * lib/dirname-lgpl.c: ...into new file.
40252         * lib/basename.c (last_component, base_len): Move...
40253         * lib/basename-lgpl.c: ...into new file.
40254         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
40255         (gl_DIRNAME): Use it.
40256         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
40257         Mention new module.
40258         * modules/dirname-tests (Depends-on): Add progname.
40259         * tests/test-dirname.c (program_name): Delete.
40260
40261         mkdir: make safe for libraries
40262         * modules/mkdir (Depends-on): Drop xalloc.
40263         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
40264         exit.
40265
40266         tests: avoid some compiler warnings
40267         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
40268         literals.
40269         * tests/test-memchr.c (main): Avoid type mismatch.
40270         * tests/test-arpa_inet.c (main): Avoid unused parameters.
40271         * tests/test-base64.c (main): Likewise.
40272         * tests/test-getdelim.c (main): Likewise.
40273         * tests/test-gethostname.c (main): Likewise.
40274         * tests/test-getline.c (main): Likewise.
40275         * tests/test-netinet_in.c (main): Likewise.
40276         * tests/test-select.c (open_server_socket, main): Likewise.
40277         * tests/test-select-stdin.c (main): Likewise.
40278         * tests/test-sockets.c (main): Likewise.
40279         * tests/test-strsignal.c (main): Likewise.
40280         * tests/test-sys_select.c (main): Likewise.
40281         * tests/test-sys_socket.c (main): Likewise.
40282         * tests/test-u64.c (main): Likewise.
40283         * tests/test-xfprintf-posix.c (main): Likewise.
40284         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
40285
40286         sockets: avoid compiler warning
40287         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
40288
40289         maint: detect usage(1) and other suspicious exits
40290         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
40291
40292 2009-10-29  Jim Meyering  <meyering@redhat.com>
40293
40294         timespec: long-to-int truncation could make timespec_cmp malfunction
40295         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
40296         a multiple of 2^32 nanoseconds as no difference.
40297
40298 2009-10-28  Jim Meyering  <meyering@redhat.com>
40299
40300         fprintftime: wrap macro code argument in "do {...} while(0)"
40301         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
40302         cpy macro must be a statement that can be followed by a semicolon.
40303         Now that the else clause contains a comment and is hence longer
40304         than one line, I require curly braces.  That in turn requires
40305         that we wrap this code block in the standard do...while(0).
40306
40307         fprintftime: remove stray semicolon from previous change
40308         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
40309
40310         fprintftime: avoid a warning about ignored fwrite return value
40311         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
40312         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
40313         that is unsafe.
40314         * modules/fprintftime (Depends-on): Add ignore-value.
40315
40316         exclude: avoid an unwarranted warning
40317         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
40318
40319 2009-10-27  Eric Blake  <ebb9@byu.net>
40320
40321         fseek: avoid compilation failure when fflush is replaced
40322         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
40323         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
40324         module is in use.
40325         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
40326         module is not in use; since REPLACE_FSEEK worked otherwise.
40327         (GNULIB_FTELLO): Likewise for ftell.
40328         Reported by Ian Beckwith and others.
40329
40330 2009-10-27  Bruno Haible  <bruno@clisp.org>
40331
40332         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
40333         Reported by Jim Meyering.
40334
40335 2009-10-27  Jim Meyering  <jim@meyering.net>
40336             Bruno Haible  <bruno@clisp.org>
40337
40338         Avoid warning despite dropping the return value of fwrite.
40339         * lib/unicodeio.c: Include ignore-value.h.
40340         (fwrite_success_callback): Explicitly ignore fwrite's return value.
40341         * modules/unicodeio (Depends-on): Add ignore-value.
40342
40343 2009-10-26  Eric Blake  <ebb9@byu.net>
40344
40345         areadlinkat: fix fallback path
40346         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
40347         pointer and zero.
40348
40349 2009-10-22  Pádraig Brady  <P@draigBrady.com>
40350
40351         Use a better IO block size for modern systems
40352         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
40353         * lib/md2.c: Likewise.
40354         * lib/md4.c: Likewise.
40355         * lib/md5.c: Likewise.
40356         * lib/sha1.c: Likewise.
40357         * lib/sha256.c: Likewise.
40358         * lib/sha512.c: Likewise.
40359
40360 2009-10-22  Eric Blake  <ebb9@byu.net>
40361
40362         tests: avoid several compiler warnings
40363         * tests/test-getcwd.c (main): Avoid buffer underflow.
40364         * tests/test-getdate.c (main): String literals are not safe with
40365         putenv, so use setenv.  Declare unused argument.
40366         * modules/getdate-tests (Depends-on): Add setenv.
40367         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
40368         problems with string literals in char *.
40369         * tests/test-hash.c (main): Avoid shadowing declaration.
40370         (insert_new): Treat string literals as char const *.
40371         * tests/test-getopt.h (test_getopt): Likewise.
40372         (getopt_loop): Alter types to minimize casting elsewhere.
40373         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
40374         (test_getopt_long_posix): Likewise.
40375         (do_getopt_long): Add wrapper to minimize casting.
40376         * tests/test-atexit.c (clear_temp_file): Use void.
40377         * tests/test-areadlink-with-size.c (main): Declare unused
40378         arguments.
40379         * tests/test-areadlink.c (main): Likewise.
40380         * tests/test-areadlinkat-with-size.c (main): Likewise.
40381         * tests/test-areadlinkat.c (main): Likewise.
40382         * tests/test-canonicalize-lgpl.c (main): Likewise.
40383         * tests/test-canonicalize.c (main): Likewise.
40384         * tests/test-dirent-safer.c (main): Likewise.
40385         * tests/test-dirname.c (main): Likewise.
40386         * tests/test-dup2.c (main): Likewise.
40387         * tests/test-fchdir.c (main): Likewise.
40388         * tests/test-fcntl-h.c (main): Likewise.
40389         * tests/test-fcntl-safer.c (main): Likewise.
40390         * tests/test-fdopendir.c (main): Likewise.
40391         * tests/test-fdutimensat.c (main): Likewise.
40392         * tests/test-fflush.c (main): Likewise.
40393         * tests/test-filenamecat.c (main): Likewise.
40394         * tests/test-filevercmp.c (main): Likewise.
40395         * tests/test-fopen-safer.c (main): Likewise.
40396         * tests/test-fopen.c (main): Likewise.
40397         * tests/test-fpending.c (main): Likewise.
40398         * tests/test-fpurge.c (main): Likewise.
40399         * tests/test-freading.c (main): Likewise.
40400         * tests/test-fstatat.c (main): Likewise.
40401         * tests/test-fsync.c (main): Likewise.
40402         * tests/test-futimens.c (main): Likewise.
40403         * tests/test-getndelim2.c (main): Likewise.
40404         * tests/test-gettimeofday.c (main): Likewise.
40405         * tests/test-getopt.c (main): Likewise.
40406         * tests/test-i-ring.c (main): Likewise.
40407         * tests/test-inttypes.c (main): Likewise.
40408         * tests/test-link.c (main): Likewise.
40409         * tests/test-lstat.c (main): Likewise.
40410         * tests/test-math.c (main): Likewise.
40411         * tests/test-md5.c (main): Likewise.
40412         * tests/test-memchr2.c (main): Likewise.
40413         * tests/test-memrchr.c (main): Likewise.
40414         * tests/test-mkdir.c (main): Likewise.
40415         * tests/test-mkdirat.c (main): Likewise.
40416         * tests/test-mkfifoat.c (main): Likewise.
40417         * tests/test-open.c (main): Likewise.
40418         * tests/test-openat-safer.c (main): Likewise.
40419         * tests/test-openat.c (main): Likewise.
40420         * tests/test-quotearg.c (main): Likewise.
40421         * tests/test-rawmemchr.c (main): Likewise.
40422         * tests/test-readlink.c (main): Likewise.
40423         * tests/test-remove.c (main): Likewise.
40424         * tests/test-rename.c (main): Likewise.
40425         * tests/test-renameat.c (main): Likewise.
40426         * tests/test-rmdir.c (main): Likewise.
40427         * tests/test-sha1.c (main): Likewise.
40428         * tests/test-signal.c (main): Likewise.
40429         * tests/test-sigaction.c (main): Likewise.
40430         * tests/test-stat.c (main): Likewise.
40431         * tests/test-stat-time.c (main): Likewise.
40432         * tests/test-stddef.c (main): Likewise.
40433         * tests/test-stdint.c (main): Likewise.
40434         * tests/test-stdio.c (main): Likewise.
40435         * tests/test-stdlib.c (main): Likewise.
40436         * tests/test-strchrnul.c (main): Likewise.
40437         * tests/test-strerror.c (main): Likewise.
40438         * tests/test-string.c (main): Likewise.
40439         * tests/test-strtod.c (main): Likewise.
40440         * tests/test-strverscmp.c (main): Likewise.
40441         * tests/test-symlink.c (main): Likewise.
40442         * tests/test-symlinkat.c (main): Likewise.
40443         * tests/test-sys_stat.c (main): Likewise.
40444         * tests/test-sys_time.c (main): Likewise.
40445         * tests/test-time.c (main): Likewise.
40446         * tests/test-unistd.c (main): Likewise.
40447         * tests/test-unlink.c (main): Likewise.
40448         * tests/test-unlinkat.c (main): Likewise.
40449         * tests/test-utimens.c (main): Likewise.
40450         * tests/test-utimensat.c (main): Likewise.
40451         * tests/test-version-etc.c (main): Likewise.
40452         * tests/test-wchar.c (main): Likewise.
40453         * tests/test-wctype.c (main): Likewise.
40454         * tests/test-xprintf-posix.c (main): Likewise.
40455         * tests/test-posixtm.c (main): Likewise.
40456         (STREQ): Delete unused macro.
40457         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
40458         shadowed variables.
40459         * tests/test-memchr.c (main): Likewise.
40460
40461 2009-10-21  Eric Blake  <ebb9@byu.net>
40462
40463         areadlinkat: avoid failure on older glibc
40464         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
40465         rather than mis-comparing 0 against FUNC_RESULT of char*.
40466
40467 2009-10-21  Bruno Haible  <bruno@clisp.org>
40468
40469         * modules/stpncpy (License): Relicense under LGPLv2+.
40470         Reported by David Lutterkort <lutter@redhat.com>.
40471
40472 2009-10-20  Eric Blake  <ebb9@byu.net>
40473
40474         utimensat: work around Solaris 9 bug
40475         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
40476         has trailing slash bugs.
40477         * tests/test-lutimens.h (test_lutimens): Enhance test.
40478         * tests/test-utimens.h (test_utimens): Likewise.
40479         * doc/posix-functions/utime.texi (utime): Enhance documentation.
40480         * doc/posix-functions/utimes.texi (utimes): Likewise.
40481         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40482         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
40483         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
40484         * doc/posix-functions/futimens.texi (futimens): Likewise.
40485
40486         fdutimensat: new module
40487         * modules/fdutimensat: New file.
40488         * lib/fdutimensat.c (fdutimensat): Likewise.
40489         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
40490         * MODULES.html.sh (File system functions): Mention module.
40491         * modules/fdutimensat-tests: New test.
40492         * tests/test-fdutimensat.c: Likewise.
40493
40494         doc: regenerate INSTALL
40495         * doc/INSTALL: Reflect recent autoconf update.
40496         * doc/INSTALL.ISO: Likewise.
40497         * doc/INSTALL.UTF-8: Likewise.
40498
40499 2009-10-20  Pádraig Brady  <P@draigBrady.com>
40500
40501         acl: warn if ACL support is not detected
40502         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
40503
40504 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
40505
40506         * lib/nproc.h: Add extern "C" block for C++.
40507
40508 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
40509             Bruno Haible  <bruno@clisp.org>
40510
40511         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
40512         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
40513         * doc/posix-functions/isalpha.texi: Likewise.
40514         * doc/posix-functions/isblank.texi: Likewise.
40515         * doc/posix-functions/iscntrl.texi: Likewise.
40516         * doc/posix-functions/isdigit.texi: Likewise.
40517         * doc/posix-functions/isgraph.texi: Likewise.
40518         * doc/posix-functions/islower.texi: Likewise.
40519         * doc/posix-functions/isprint.texi: Likewise.
40520         * doc/posix-functions/ispunct.texi: Likewise.
40521         * doc/posix-functions/isspace.texi: Likewise.
40522         * doc/posix-functions/isupper.texi: Likewise.
40523         * doc/posix-functions/isxdigit.texi: Likewise.
40524
40525 2009-10-18  Bruno Haible  <bruno@clisp.org>
40526
40527         Tests for module 'isblank'.
40528         * modules/isblank-tests: New file.
40529         * tests/test-isblank.c: New file.
40530
40531         New module 'isblank'.
40532         * lib/isblank.c: New file.
40533         * m4/isblank.m4: New file.
40534         * modules/isblank: New file.
40535         * doc/posix-functions/isblank.texi: Mention the new module.
40536
40537 2009-10-18  Bruno Haible  <bruno@clisp.org>
40538
40539         New module 'ctype'.
40540         * lib/ctype.in.h: New file.
40541         * m4/ctype.m4: New file.
40542         * modules/ctype: New file.
40543         * doc/posix-headers/ctype.texi: Mention the new module.
40544
40545 2009-10-18  Jim Meyering  <meyering@redhat.com>
40546
40547         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
40548         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
40549         right after its initialization, rather than farther down.
40550         Keeping these in close proximity makes it easier to ensure
40551         that each such variable is initialized.  E.g.,
40552
40553             LIB_CLOCK_GETTIME=
40554             AC_SUBST([LIB_CLOCK_GETTIME])
40555
40556         This change also increments these serial numbers.
40557         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
40558         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40559         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40560
40561 2009-10-18  Bruno Haible  <bruno@clisp.org>
40562
40563         Don't let environment variables perturb build.
40564         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
40565         (gl_PREREQ_GETHRXTIME): ... not here.
40566
40567 2009-10-18  Bruno Haible  <bruno@clisp.org>
40568
40569         Avoid symlink attack in localcharset module.
40570         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
40571         (O_NOFOLLOW): Define fallback.
40572         (get_charset_aliases): Don't open the file if it is a symbolic link.
40573         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
40574         gl_FCNTL_H.
40575         (gl_FCNTL_H): Require it.
40576         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
40577         * modules/localcharset (Files): Add m4/fcntl_h.m4.
40578         Reported by Fergal Glynn <fglynn@veracode.com>.
40579
40580 2009-10-18  Bruno Haible  <bruno@clisp.org>
40581
40582         Implement nproc for mingw.
40583         * lib/nproc.c: Include <windows.h>
40584         (num_processors): On native Windows platforms, try GetSystemInfo.
40585
40586 2009-10-18  Bruno Haible  <bruno@clisp.org>
40587
40588         Implement nproc for IRIX.
40589         * lib/nproc.c: Include <sys/sysmp.h>.
40590         (num_processors): On IRIX systems, try sysmp.
40591         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
40592
40593 2009-10-18  Bruno Haible  <bruno@clisp.org>
40594
40595         Implement nproc for HP-UX.
40596         * lib/nproc.c: Include <sys/pstat.h>
40597         (num_processors): On HP-UX systems, try pstat_getdynamic.
40598         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
40599         pstat_getdynamic.
40600
40601 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
40602             Bruno Haible  <bruno@clisp.org>
40603
40604         Implement nproc for NetBSD, OpenBSD.
40605         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
40606         (ARRAY_SIZE): New macro.
40607         (num_processors): On BSD systems, try sysctl of HW_NCPU.
40608         * m4/nproc.m4: New file.
40609         * modules/nproc (Files): Add m4/nproc.m4.
40610         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
40611         (Makefile.am): Instead, augment lib_SOURCES.
40612
40613 2009-10-18  Bruno Haible  <bruno@clisp.org>
40614
40615         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
40616         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
40617         sys/param.h.
40618
40619 2009-10-16  Eric Blake  <ebb9@byu.net>
40620
40621         utimensat: new module
40622         * modules/utimensat: New file.
40623         * lib/utimensat.c (utimensat): Likewise.
40624         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40625         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
40626         so we can work around Linux bugs.
40627         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40628         * modules/sys_stat (Makefile.am): Substitute them.
40629         * lib/sys_stat.in.h (utimensat): Declare it.
40630         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40631         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40632         * modules/utimensat-tests: New test.
40633         * tests/test-utimensat.c: Likewise.
40634
40635         utimens: let lutimens work on non-symlinks
40636         * lib/utimens.c (lutimens): Fall back to utimens rather than
40637         failing with ENOSYS, when file is not a symlink.
40638         (utimens): Reduce redirection.
40639         * tests/test-lutimens.h (test_lutimens): Update test to cover
40640         non-symlinks.
40641         * tests/test-utimens.h (test_utimens): Update test to cover
40642         symlinks.
40643         * tests/test-utimens.c (main): Update caller.
40644
40645         utimens: cache whether utimensat syscall works
40646         * lib/utimens.c (utimensat_works_really): New cache variable.
40647         (fdutimens, lutimens): Use it to avoid failing syscall.
40648
40649         test-stat-time, test-utimens: improve portability
40650         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
40651         ext4 on alpha, and for cygwin.
40652         * tests/test-utimens-common.h: New file.
40653         (nap): Factor delays into single function.
40654         * tests/test-lutimens.h (test_lutimens): Use new header.
40655         * tests/test-futimens.h (test_futimens): Likewise.
40656         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
40657         timestamps to occur from same machine, as was done previously for
40658         test_utimens.
40659         * modules/utimens-tests (Files): Ship new file.
40660         * modules/futimens-tests (Files): Likewise.
40661         Reported in part by Jim Meyering.
40662
40663         sys_stat: sort replacement declarations
40664         * lib/sys_stat.in.h: Sort declarations.
40665         * lib/futimens.c (futimens): Fix typo.
40666
40667 2009-10-15  Jim Meyering  <meyering@redhat.com>
40668
40669         don't let environment settings perturb build
40670         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
40671         could cause a configure-time and/or build-time malfunction.
40672         Typically, a configure-time function-in-library test is performed
40673         via code like this:
40674
40675           LIB_VAR=
40676           AC_SUBST([LIB_VAR])
40677           prefix_saved_LIBS=$LIBS
40678             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
40679                        [test "$ac_cv_search_FUNC" = "none required" ||
40680                         LIB_VAR=$ac_cv_search_FUNC])
40681           LIBS=$prefix_saved_LIBS
40682
40683         However, in each of the files affected by this change, the LIB_VAR=
40684         initialization was omitted.  Thus, when set in the environment, its
40685         value would propagate into generated Makefiles when FUNC is not found
40686         in LIB_NAME.
40687         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
40688         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
40689         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40690
40691 2009-10-14  Eric Blake  <ebb9@byu.net>
40692
40693         fchdir: avoid infinite recursion in mingw
40694         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
40695         recursing.
40696
40697         test-stat-time: port to mingw
40698         * tests/test-stat-time.c (force_unlink): Return a value.
40699         (test_ctime) [W32]: Fix compilation error.
40700         (nap): Don't call usleep with too large an argument.  Use
40701         force_unlink.
40702         * doc/pastposix-functions/usleep.texi (usleep): Document the
40703         portability issue.
40704
40705 2009-10-13  Jim Meyering  <meyering@redhat.com>
40706
40707         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
40708         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
40709         * modules/pipe-filter-ii: Likewise.
40710         * modules/sys_socket-tests: Likewise.
40711         * modules/tsearch-tests: Likewise.
40712         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
40713         (check): Depend on it.
40714
40715 2009-10-12  Eric Blake  <ebb9@byu.net>
40716
40717         utimens-tests: port to NFS file systems
40718         * tests/test-utimens.h (test_utimens): Refactor utimecmp
40719         comparisons to avoid spurious failures from timestamp drift
40720         between NFS machines.
40721
40722 2009-10-12  Eric Blake  <ebb9@byu.net>
40723
40724         stat-time-tests: minor cleanups
40725         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
40726         * tests/test-stat-time.c (nap): Separate assignment from call.
40727         Suggested by Paolo Bonzini and Bruno Haible.
40728
40729         sys_stat: guarantee struct timespec
40730         * lib/sys_stat.in.h (includes): Always include <time.h>
40731         * modules/sys_stat (Depends-on): Add time.
40732         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
40733         mode_t permission values.
40734         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
40735         get at subsecond timestamps.
40736
40737 2009-10-10  Eric Blake  <ebb9@byu.net>
40738
40739         futimens: new module
40740         * modules/futimens: New file.
40741         * lib/futimens.c (futimens): Likewise.
40742         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
40743         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
40744         we can work around Linux bugs.
40745         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
40746         * modules/sys_stat (Makefile.am): Substitute them.
40747         * lib/sys_stat.in.h (futimens): Declare it.
40748         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
40749         * doc/posix-functions/futimens.texi (futimens): Likewise.
40750         * modules/futimens-tests: New test.
40751         * tests/test-futimens.c: Likewise.
40752
40753         utimens: introduce fdutimens
40754         * lib/utimens.h (fdutimens): New prototype.
40755         * lib/utimens.c (gl_futimens): Move guts...
40756         (fdutimens): ...to new interface.
40757         * tests/test-utimens.c (do_fdutimens): Use it.
40758
40759         utimens: add UTIME_NOW and UTIME_OMIT support
40760         * lib/utimens.c (validate_timespec, update_timespec): New helper
40761         functions.
40762         (gl_futimens, lutimens): Use them.
40763         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
40764         stdbool, sys_stat.
40765         (Link): Mention resulting library dependency.
40766         * modules/utimecmp (Link): Likewise.
40767         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
40768         (Makefile.am): Pick up library dependency.
40769         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
40770         definition.
40771         * tests/test-sys_stat.c: Test the definitions.
40772         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
40773         * NEWS: Document library dependency.
40774
40775         utimecmp: support symlink timestamps
40776         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
40777         hashing when possible.  Use pathconf when available.
40778         (SYSCALL_RESOLUTION): Recognize tighter resolution.
40779         * modules/utimecmp (Depends-on): Add lstat.
40780
40781         utimens: add lutimens interface
40782         * lib/utimens.c (lutimens): New function.
40783         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
40784         * lib/utimens.h (lutimens): Declare new interface.
40785         * tests/test-utimens.c (main): Enhance test.
40786         * tests/test-lutimens.h (test_lutimens): New file.
40787         * modules/utimens-tests (Files): Distribute it.
40788         (Depends-on): Add symlink.
40789         (configure.ac): Check for usleep.
40790
40791         utimens: validate futimens usage
40792         * lib/utimens.c (gl_futimens): Require valid fd up front, using
40793         fewer syscalls on failure later on.  Avoid compiler warning on
40794         mingw.
40795         * modules/utimens (Depends-on): Add dup2.
40796
40797         utimens: add test
40798         * modules/utimens-tests: New test.
40799         * tests/test-utimens.h: New file.
40800         * tests/test-futimens.h: Likewise.
40801         * tests/test-utimens.c: Likewise.
40802
40803         doc: mention timestamp portability issues
40804         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
40805         instead.
40806         * doc/posix-functions/utime.texi (utime): Likewise.
40807         * doc/posix-functions/utimes.texi (utimes): Likewise.
40808         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
40809         instead.
40810         * doc/posix-functions/futimens.texi (futimens): Mention utimens
40811         module.
40812         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40813         Mention weakness with symlink timestamps.
40814         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
40815         to utimensat/futimens instead.
40816         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
40817
40818         test-dup2: enhance test
40819         * tests/test-dup2.c (main): Also check AT_FDCWD.
40820
40821         test-stat-time: avoid more spurious failures
40822         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
40823         xfs; and avoid race if the two timestamps cross quantization edge.
40824
40825         relocatable: prefer 'file system' over 'filesystem'
40826         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
40827         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
40828         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
40829         * doc/relocatable.texi (Enabling Relocatability): Likewise.
40830         * lib/relocatable.c (compute_curr_prefix): Likewise.
40831
40832 2009-10-10  Jim Meyering  <meyering@redhat.com>
40833
40834         stat-time-tests: check for the usleep function
40835         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
40836
40837 2009-10-10  Bruno Haible  <bruno@clisp.org>
40838
40839         * modules/xnanosleep: Put the Link section after the Include section.
40840
40841 2009-10-09  Eric Blake  <ebb9@byu.net>
40842
40843         dup2: work around FreeBSD 6.1 bug
40844         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
40845         * doc/posix-functions/dup2.texi (dup2): Document it.
40846         Reported by Nelson H. F. Beebe and Jim Meyering.
40847
40848         test-stat-time: port to buggy NFS clients
40849         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
40850         (test_ctime): Also skip test if mtime and ctime are skewed.
40851
40852         maint: prefer 'file system' over 'filesystem'
40853         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
40854         * doc/posix-functions/lstat.texi (lstat): Likewise.
40855         * lib/file-has-acl.c (file_has_acl): Likewise.
40856         * lib/fwriteerror.c [TEST]: Likewise.
40857         * tests/test-areadlink.h (test_areadlink): Likewise.
40858         * tests/test-areadlinkat-with-size.c (main): Likewise.
40859         * tests/test-areadlinkat.c (main): Likewise.
40860         * tests/test-canonicalize-lgpl.c (main): Likewise.
40861         * tests/test-canonicalize.c (main): Likewise.
40862         * tests/test-fstatat.c (main): Likewise.
40863         * tests/test-linkat.c (main): Likewise.
40864         * tests/test-lstat.h (test_lstat_func): Likewise.
40865         * tests/test-mkdir.h (test_mkdir): Likewise.
40866         * tests/test-readlink.h (test_readlink): Likewise.
40867         * tests/test-remove.c (main): Likewise.
40868         * tests/test-rename.h (test_rename): Likewise.
40869         * tests/test-renameat.c (main): Likewise.
40870         * tests/test-rmdir.h (test_rmdir_func): Likewise.
40871         * tests/test-symlink.h (test_symlink): Likewise.
40872         * tests/test-symlinkat.c (main): Likewise.
40873         * tests/test-unlink.h (test_unlink_func): Likewise.
40874         * tests/test-unlinkat.c (main): Likewise.
40875
40876         maint: make realtime library usage explicit
40877         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
40878         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
40879         * modules/settime (Link): Likewise.
40880         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
40881
40882         test-stat-time: speed up execution
40883         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
40884         warning on mingw.
40885         (nap): New helper function.
40886         (prepare_test): Use it to reduce sleep time.
40887         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
40888         execution.
40889         * modules/stat-time-tests (configure.ac): Check for usleep.
40890
40891 2009-10-09  Jim Meyering  <meyering@redhat.com>
40892
40893         selinux-h: always use getfilecon wrappers
40894         * lib/getfilecon.c: New file.
40895         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
40896         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
40897         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
40898         (fgetfilecon): Provide a stub.
40899         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
40900         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
40901         file unconditionally.
40902         When <selinux/selinux.h> is found, arrange to use wrappers.
40903         * modules/selinux-h (Files): Add getfilecon.c.
40904         (Makefile.am): Substitute include-next-related bits
40905         into the now-always-generated selinux/selinux.h file.
40906         * doc/glibc-functions/lgetfilecon.texi: New file.
40907         * doc/glibc-functions/fgetfilecon.texi: New file.
40908         * doc/glibc-functions/getfilecon.texi: New file.
40909         * doc/glibc-functions/getfilecon-desc.texi: New file.
40910         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
40911         which to pull in the new files.
40912         * MODULES.html.sh (Misc): Add selinux-h.
40913
40914 2009-10-08  Jim Meyering  <meyering@redhat.com>
40915
40916         unistd: fix comment typo
40917         * lib/unistd.in.h (euidaccess): Fix a comment typo.
40918
40919 2009-10-08  Eric Blake  <ebb9@byu.net>
40920
40921         areadlink: use SIZE_MAX consistently
40922         * modules/areadlink (Depends-on): Add stdint.
40923         * modules/areadlink-with-size (Depends-on): Likewise.
40924         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
40925         gives NULL; drop sys/types, since unistd gives size_t; and add
40926         stdint for SIZE_MAX.
40927         (SIZE_MAX): Rely on headers.
40928         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
40929         and add stdint.
40930         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
40931         (SIZE_MAX): Likewise.
40932         (INITIAL_BUF_SIZE): Turn into enum.
40933         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
40934
40935 2009-10-08  Jim Meyering  <meyering@redhat.com>
40936
40937         areadlinkat: avoid compilation failure
40938         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
40939         Fix typo in comment.
40940
40941 2009-10-07  Eric Blake  <ebb9@byu.net>
40942
40943         areadlinkat-with-size: new module
40944         * modules/areadlinkat-with-size: New module.
40945         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
40946         * lib/areadlink.h (areadlinkat): Declare it.
40947         * MODULES.html.sh (File system functions): Mention it.
40948         * modules/areadlinkat-with-size-tests: New test.
40949         * tests/test-areadlinkat-with-size.c: New file.
40950
40951         xreadlinkat: new module
40952         * modules/xreadlinkat: New module.
40953         * lib/xreadlinkat.c (xreadlinkat): New file.
40954         * lib/xreadlink.h (xreadlinkat): Declare it.
40955         * MODULES.html.sh (File system functions): Mention it.
40956
40957         areadlinkat: new module
40958         * lib/at-func.c (FUNC_FAIL): New define.
40959         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
40960         * modules/areadlinkat: New module.
40961         * lib/linkat.c (areadlinkat): Move...
40962         * lib/areadlinkat.c (areadlinkat): ...to new file.
40963         * lib/areadlink.h (areadlinkat): Declare it.
40964         * modules/linkat (Depends-on): Add areadlinkat.
40965         * MODULES.html.sh (File system functions): Mention it.
40966         * modules/areadlinkat-tests: New test.
40967         * tests/test-areadlinkat.c: New file.
40968
40969         areadlink, areadlink-with-size: add tests
40970         * modules/areadlink-tests: New test.
40971         * modules/areadlink-with-size-tests: Likewise.
40972         * tests/test-areadlink.h: New file.
40973         * tests/test-areadlink.c: Likewise.
40974         * tests/test-areadlink-with-size.c: Likewise.
40975
40976         maint: minor cleanups
40977         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
40978         _UNUSED_PARAMETER_ instead.
40979         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
40980         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
40981         * modules/linkat-tests (Files): Distribute test-link.h.
40982
40983         openat, utimens: whitespace cleanup
40984         * lib/openat.c: Prefer space throughout, rather than mix of 8
40985         spaces vs. tabs.
40986         * lib/at-func.c: Likewise.
40987         * lib/utimens.c: Likewise.
40988
40989         openat: avoid using wrong fd
40990         * lib/openat.c (openat_permissive): Reject user's fd if saving the
40991         working directory chooses same fd.
40992         * lib/at-func.c (AT_FUNC_NAME): Likewise.
40993
40994         mkdir, mkdirat: fix cygwin 1.5.x bug
40995         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
40996         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
40997         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
40998         bug.
40999         (gl_PREREQ_MKDIR): Delete unused macro.
41000         * modules/mkdir (Files): Track file rename.
41001         (configure.ac): Update macro name.
41002         * modules/openat (Depends-on): Add mkdir.
41003         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41004
41005         mkdir, mkdirat: add tests
41006         * modules/mkdir-tests: New test.
41007         * tests/test-mkdir.h: New file.
41008         * tests/test-mkdir.c: Likewise.
41009         * tests/test-mkdirat.c: Likewise.
41010         * modules/openat-tests (Files): Add new files.
41011         (Makefile.am): Run new test.
41012
41013 2009-10-06  Eric Blake  <ebb9@byu.net>
41014
41015         doc: tweak *at function documentation
41016         * doc/posix-functions/faccessat.texi (faccessat): Mention
41017         known issue with replacement.
41018         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41019         * doc/posix-functions/linkat.texi (linkat): Likewise.
41020         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41021         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41022         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41023         * doc/posix-functions/renameat.texi (renameat): Likewise.
41024         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41025
41026         openat: fix GNU/Hurd bug in unlinkat
41027         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41028         broken.
41029         * doc/posix-functions/unlink.texi (unlink): Document this.
41030         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41031
41032         fdopendir: fix GNU/Hurd bug
41033         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41034         allowing non-directory fds.
41035         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41036         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41037         * modules/dirent (Makefile.am): Substitute it.
41038         * lib/dirent.in.h (fdopendir): Declare replacement.
41039         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41040         * tests/test-fdopendir.c (main): Test something other than
41041         /dev/null, since on Hurd that behaves like a directory.
41042
41043         test-symlink: port to GNU/Hurd
41044         * tests/test-symlink.h (test_symlink): Relax expected errno.
41045
41046         doc: tweak more cygwin information
41047         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41048         now compatible with glibc.
41049         * doc/posix-functions/getopt.texi (getopt): Likewise.
41050
41051         getopt-gnu: add another test
41052         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41053         guarantee behavior relied on by m4.
41054         * tests/test-getopt.c (main): Use it.
41055         * modules/getopt-posix-tests (Depends-on): Add setenv.
41056         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41057
41058         getopt: fix compilation on darwin
41059         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41060         include.
41061         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41062         Reported by Ludovic Courtès.
41063
41064 2009-10-06  Bruno Haible  <bruno@clisp.org>
41065
41066         * modules/size_max (Description): Discourage its use.
41067         Reported by Simon Josefsson.
41068
41069 2009-10-06  Jim Meyering  <meyering@redhat.com>
41070
41071         linkat: avoid compilation failure
41072         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41073
41074 2009-10-05  Eric Blake  <ebb9@byu.net>
41075
41076         linkat: support Linux 2.6.17
41077         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41078         linkat on Linux, but allow cache variable override.
41079         * lib/linkat.c (rpl_linkat): Define override.
41080         * modules/linkat (Depends-on): Add symlinkat.
41081         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41082         * modules/unistd (Makefile.am): Substitute it.
41083         * lib/unistd.in.h (linkat): Declare replacement.
41084         Reported by Pádraig Brady.
41085
41086         quotearg: port test to systems with C.UTF-8 locale
41087         * tests/test-quotearg.c (struct result_strings): Add another
41088         member, differentiating between C.ASCII and C.UTF-8 handling.
41089         (compare_strings): Add parameter.
41090         (main): Adjust all callers.
41091
41092         getopt: avoid clash with FreeBSD _getopt_internal
41093         * lib/getopt.in.h (_getopt_internal): Override the name.
41094         * lib/getopt_int.h (includes): Pick up any overrides.
41095         Reported by Reuben Thomas.
41096
41097         hash: allow C89 compilation
41098         * lib/hash.c (check_tuning): Move declaration before statement.
41099         Reported by Reuben Thomas.
41100
41101 2009-10-05  Karl Berry  <karl@gnu.org>
41102
41103         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41104
41105 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41106             Bruno Haible  <bruno@clisp.org>
41107
41108         * lib/uname.c (uname): Use a table-driven algorithm to compute
41109         Windows NT versions.
41110
41111 2009-10-04  Bruno Haible  <bruno@clisp.org>
41112
41113         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41114         program_invocation_short_name.
41115         * modules/progname (configure.ac): Test for presence of
41116         program_invocation_short_name.
41117         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41118
41119 2009-10-04  Bruno Haible  <bruno@clisp.org>
41120
41121         * lib/progname.c (set_program_name): Fix comment.
41122         Reported by Jim Meyering.
41123
41124 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41125             Bruno Haible  <bruno@clisp.org>
41126
41127         * lib/uname.c: Include <string.h>.
41128         (uname): Do only one call to GetVersionEx in the common case.
41129
41130 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41131             Bruno Haible  <bruno@clisp.org>
41132
41133         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41134         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41135         (uname): Add support for Windows CE and various non-x86 CPU types.
41136
41137 2009-10-03  Bruno Haible  <bruno@clisp.org>
41138
41139         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41140         invocation to tests/configure.ac.
41141         Reported by Ian Beckwith <ianb@erislabs.net>.
41142
41143 2009-10-02  Eric Blake  <ebb9@byu.net>
41144
41145         fchdir: avoid compiler warning
41146         * lib/fchdir.c (canonicalize_file_name)
41147         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41148
41149         test-open: support mingw errno values
41150         * tests/test-open.h (test_open): Relax test.
41151         * tests/test-fopen.h (test_fopen): Likewise.
41152         * tests/test-openat-safer.c (main): Likewise.
41153
41154         open: fix opening directory on mingw
41155         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41156
41157         test-open: on GNU/Hurd, /dev/null is a directory
41158         * tests/test-fopen.h (main): Rename...
41159         (test_fopen): ...to this.  Use a guaranteed non-directory when
41160         confirming open behavior on trailing slash.
41161         * tests/test-openat-safer.c (main): Likewise.
41162         * tests/test-open.h (main): Likewise....
41163         (test_open): ...to this.
41164         * tests/test-fopen.c (main): Adjust caller.
41165         * tests/test-fopen-safer.c (main): Likewise.
41166         * tests/test-open.c (main): Likewise.
41167         * tests/test-fcntl-safer.c (main): Likewise.
41168         Reported by Samuel Thibault.
41169
41170         rename, fchdir: don't ignore chdir failure
41171         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
41172         * lib/rename.c (rpl_rename) [W32]: Likewise.
41173         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
41174         an empty destination directory if source cannot be renamed,
41175         although there is still possibility for failure.
41176         * doc/posix-functions/rename.texi (rename): Document the race.
41177         Reported by Jim Meyering.
41178
41179         maint: cleanup whitespace in recent commits
41180         * lib/rename.c (rpl_rename): Remove tabs.
41181         * tests/test-link.h (test_link): Likewise.
41182         * lib/fchdir.c (get_name): Likewise.
41183         Reported by Jim Meyering.
41184
41185 2009-10-02  Ben Pfaff  <blp@gnu.org>
41186
41187         relocatable-prog-wrapper: Add missing dependency on
41188         double-slash-root.
41189         * modules/relocatable-prog-wrapper: Add dependency.
41190         Reported by Ian Beckwith <ianb@erislabs.net>.
41191
41192 2009-10-02  Eric Blake  <ebb9@byu.net>
41193
41194         renameat: fix Solaris bugs
41195         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
41196         needed fixing.
41197         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
41198         * modules/stdio (Makefile.am): Substitute it.
41199         * lib/stdio.in.h (renameat): Declare replacement.
41200         * lib/renameat.c (rpl_renameat): Implement fix.
41201
41202         renameat: new module
41203         * modules/renameat: New file.
41204         * lib/renameat.c (renameat): Likewise.
41205         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
41206         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41207         * modules/stdio (Makefile.am): Substitute them.
41208         * lib/stdio.in.h (renameat): Declare it.
41209         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41210         * doc/posix-functions/renameat.texi (renameat): Likewise.
41211         * modules/renameat-tests: New test.
41212         * tests/test-renameat.c: Likewise.
41213
41214         rename: fix mingw bugs
41215         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
41216         directory overwrite bugs.
41217
41218         rename: fix another cygwin 1.5 bug
41219         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
41220         checks.
41221         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
41222         unnecessary cygwin workarounds.  Also work around bug with moving
41223         full directory onto an empty one.
41224         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
41225
41226         rename-dest-slash: merge into rename module
41227         * modules/rename-dest-slash (Status): Mark obsolete.
41228         (Depends-on): Add rename.
41229         (Files): Let rename do it all.
41230         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
41231         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
41232         * m4/rename-dest-slash.m4: ...so this file can be deleted.
41233         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
41234         * lib/rename.c (rpl_rename): Update comments.
41235
41236         rename: fix cygwin 1.5.x bugs
41237         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
41238         * lib/rename.c (rpl_rename): Work around them.
41239         * modules/rename (Depends-on): Add same-inode.
41240
41241         rename: fix Solaris 10 bug
41242         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41243         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
41244         was the only bug.
41245
41246         rename: fix Solaris 9 bug
41247         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
41248         on non-directory.  Avoid calling exit.
41249         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
41250         strdup.
41251         * modules/rename-tests (Depends-on): Drop lstat.
41252         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
41253         (gl_PREREQ_RENAME): Delete unused macro.
41254
41255         rename-dest-slash: fix NetBSD bug
41256         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
41257         links.
41258         * modules/rename-dest-slash (Depends-on): Add same-inode.
41259
41260         rename-tests: new test, exposes several platform bugs
41261         * modules/rename-tests: New file.
41262         * tests/test-rename.h: Likewise.
41263         * tests/test-rename.c: Likewise.
41264         * doc/posix-functions/rename.texi (rename): Improve documentation,
41265         including bugs that will eventually be fixed in gnulib.
41266
41267 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
41268
41269         * lib/uname.c: Include <stdlib.h>
41270         (uname): Assume version info is available.
41271
41272 2009-10-02  Jim Meyering  <meyering@redhat.com>
41273
41274         gnu-web-doc-update: correct --help output
41275         * build-aux/gnu-web-doc-update: Make --help output relevant.
41276
41277         gnu-web-doc-update: add standard options
41278         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
41279
41280         gnu-web-doc-update: New module.
41281         Use this script to automatically update the on-line web documentation
41282         for your GNU project at http://www.gnu.org/software/$pkg/manual/
41283         * modules/gnu-web-doc-update: New file, from coreutils.
41284         * build-aux/gnu-web-doc-update: New script.
41285
41286 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
41287
41288         link: LoadLibrary is not needed.
41289         * lib/link.c: Use GetModuleHandle.
41290
41291 2009-10-01  Eric Blake  <ebb9@byu.net>
41292
41293         getopt: bump serial number
41294         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
41295         change.
41296
41297         tests: tighten link, rmdir, and remove tests
41298         * tests/test-link.h (includes): No need to use <config.h> here.
41299         Clean up if directory hard link was created, otherwise test for
41300         trailing '.'.
41301         * tests/test-linkat.c (main): Simplify.
41302         * tests/test-remove.c (main): Enhance test for trailing '.'.
41303         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41304
41305 2009-10-01  Jim Meyering  <meyering@redhat.com>
41306
41307         maint.mk: requiring "make major" was annoying, for a "minor" release.
41308         What is intended is "stable", to contrast with alpha and beta,
41309         so require "make stable", not "make major".
41310         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
41311         (get_tool_versions): Likewise.
41312         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
41313
41314 2009-09-30  Ben Pfaff  <blp@gnu.org>
41315
41316         Fix broken build of replacement for Windows tmpfile().
41317         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
41318         flags argument added along with the 'mkostemp' module.
41319
41320 2009-09-28  Bruno Haible  <bruno@clisp.org>
41321
41322         Avoid identifier clash with POSIX function 'remove' defined as a macro.
41323         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
41324         to 'remove_elt'.
41325         (gl_list_remove): Update.
41326         * lib/gl_list.c (gl_list_remove): Update.
41327         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
41328         to 'remove_elt'.
41329         (gl_oset_remove): Update.
41330         * lib/gl_list.c (gl_oset_remove): Update.
41331         Reported by Eric Blake.
41332
41333 2009-09-28  Eric Blake  <ebb9@byu.net>
41334
41335         doc: mention yet more cygwin 1.7 status
41336         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
41337         cygwin.
41338         * doc/glibc-functions/execvpe.texi (execvpe): New file.
41339         * doc/gnulib.texi (Glibc unistd.h): Mention it.
41340
41341         argp: fix test failure
41342         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
41343         that are not upper-case.  Pass correct range to tolower.
41344
41345 2009-09-27  Jim Meyering  <meyering@redhat.com>
41346
41347         test-yesno: work around sparc-dash here-document infelicity
41348         Without this change, the literal \177 byte in a here document
41349         would make dash 0.5.5.1-3 access uninitialized memory.
41350         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
41351         Instead, use a marker, "@", and filter through tr to create the desired
41352         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
41353
41354 2009-09-27  Bruno Haible  <bruno@clisp.org>
41355
41356         Disable untested support for new flavours of ACLs on AIX.
41357         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
41358         progress.
41359         * lib/set-mode-acl.c (qset_acl): Likewise.
41360
41361 2008-12-07  Bruno Haible  <bruno@clisp.org>
41362
41363         Add support for new flavours of ACLs on AIX. (Untested.)
41364         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
41365         (file_has_acl): Add support for newer AIX.
41366         * lib/set-mode-acl.c (qset_acl): Likewise.
41367         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
41368         Rainer Tammer <tammer@tammer.net>.
41369
41370 2009-09-26  Eric Blake  <ebb9@byu.net>
41371
41372         argp: fix compilation of getopt
41373         * lib/getopt.in.h (includes): Use different guard than glibc.
41374         Reported by Sergey Poznyakoff.
41375
41376         doc: mention more cygwin 1.7 status
41377         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
41378         bug.
41379         * doc/posix-functions/execl.texi (execl): Likewise.
41380         * doc/posix-functions/execle.texi (execle): Likewise.
41381         * doc/posix-functions/execlp.texi (execlp): Likewise.
41382         * doc/posix-functions/execv.texi (execv): Likewise.
41383         * doc/posix-functions/execve.texi (execve): Likewise.
41384         * doc/posix-functions/execvp.texi (execvp): Likewise.
41385         * doc/glibc-functions/canonicalize_file_name.texi
41386         (canonicalize_file_name): Cygwin 1.7 now provides this.
41387         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
41388         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
41389         on AT_SYMLINK_NOFOLLOW.
41390
41391 2009-09-24  Eric Blake  <ebb9@byu.net>
41392
41393         test-linkat: make test more robust
41394         * tests/test-linkat.c (main): Avoid collision with EEXIST.
41395
41396         getopt: fix inclusion guards for cygwin
41397         * modules/getopt-posix (Depends-on): Add include-next.
41398         (Makefile.am): Substitute more items in replacement header.
41399         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
41400         <getopt.h>.
41401         * lib/getopt.in.h (includes): Use split inclusion guard, and
41402         prefer <getopt.h> over include <unistd.h> when one is present.
41403         (option): Also override name of 'struct option'.
41404
41405         same-inode: revert prior change; it is not yet ready
41406         * NEWS: Undo mention of this change.
41407         * lib/same-inode.h (same-inode.h): Undo tri-state change.
41408         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41409         * lib/cycle-check.c (cycle_check): Likewise.
41410         * lib/same.c (same_name): Likewise.
41411         * lib/at-func2.c (at_func2): Likewise.
41412
41413 2009-09-23  Eric Blake  <ebb9@byu.net>
41414
41415         linkat: new module
41416         * modules/linkat: New file.
41417         * lib/at-func2.c (at_func2): Likewise.
41418         * lib/linkat.c (linkat): Likewise.
41419         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41420         * lib/openat-priv.h (at_func2): Add declaration.
41421         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41422         * modules/unistd (Makefile.am): Substitute them.
41423         * lib/unistd.in.h (linkat): Declare it.
41424         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41425         * doc/posix-functions/linkat.texi (linkat): Likewise.
41426         * doc/posix-functions/link.texi (link): Tweak wording.
41427         * tests/test-link.c (main): Move guts...
41428         * tests/test-link.h (test_link): ...into new file.
41429         * modules/linkat-tests: New test.
41430         * tests/test-linkat.c: Likewise.
41431         * modules/link-tests (Files): Ship new file.
41432         (Depends-on): Add stdbool.
41433
41434         dirname: add library-safe mdir_name
41435         * lib/dirname.h (mdir_name): New prototype.
41436         * lib/dirname.c (dir_name): Move guts...
41437         (mdir_name): ...to new function that avoids xalloc_die.
41438
41439         fchdir: another mingw fix
41440         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
41441         * lib/fchdir.c (get_name): New helper method; skips canonicalize
41442         on mingw (where it has not yet been ported), and make it optional
41443         elsewhere.
41444         (_gl_register_fd): Use it.
41445
41446         same-inode: make SAME_INODE tri-state, to port to mingw
41447         * NEWS: Mention this change.
41448         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
41449         st_ino always being 0.
41450         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
41451         * lib/cycle-check.c (cycle_check): Likewise.
41452         * lib/same.c (same_name): Likewise.
41453
41454         lstat: avoid mingw compilation error
41455         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
41456         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
41457         lstat ourselves.
41458         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
41459         was adequate.
41460         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
41461         the checks for lstat.
41462         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
41463
41464         link: fix test failure on Solaris 9
41465         * lib/link.c (rpl_link): Don't assume link will catch bogus
41466         trailing slash on source.
41467
41468         test-symlinkat: enhance test
41469         * tests/test-readlink.c (main): Move guts...
41470         * tests/test-readlink.h (test_readlink): ...into new file.
41471         * tests/test-symlink.c (main): Move guts...
41472         * tests/test-symlink.h (test_symlink): ...into new file.
41473         * tests/test-symlinkat.c (main): Use new files for further
41474         coverage.
41475         (do_symlink, do_readlink): New helper functions.
41476         * modules/symlink-tests (Files): Ship new file.
41477         (Depends-on): Add stdbool.
41478         * modules/readlink-tests (Files): Ship new file.
41479         (Depends-on): Add stdbool.
41480         * modules/symlinkat-tests (Files): Use new files.
41481
41482 2009-09-23  Eric Blake  <ebb9@byu.net>
41483
41484         readlink: document portability issue with symlink length
41485         * doc/posix-functions/lstat.texi (lstat): Mention that some file
41486         systems have bogus st_size on symlinks, and mention the
41487         areadlink-with-size module.
41488         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41489         * doc/posix-functions/readlink.texi (readlink): Mention the
41490         areadlink module, and ERANGE failure.
41491         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41492         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
41493
41494         readlink: fix Solaris 9 bug with trailing slash
41495         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
41496         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
41497         * doc/posix-functions/readlink.texi (readlink): Document this.
41498         * modules/readlink-tests: New test.
41499         * tests/test-readlink.c: Likewise.
41500
41501         readlink: fix cygwin 1.5.x bug with return type
41502         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
41503         * lib/unistd.in.h (readlink): Use ssize_t.
41504         * lib/readlink.c (readlink): Likewise.
41505         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41506         * modules/unistd (Makefile.am): Substitute it.
41507         * lib/unistd.in.h (readlink): Declare replacement.
41508         * doc/posix-functions/readlink.texi (readlink): Document this.
41509
41510         symlink: use throughout gnulib
41511         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
41512         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
41513         symlink is not used.
41514         * modules/symlinkat (Depends-on): Add symlink.
41515         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41516         * modules/canonicalize-tests (Depends-on): Likewise.
41517         * modules/lstat-tests (Depends-on): Likewise.
41518         * modules/openat-tests (Depends-on): Likewise.
41519         * modules/remove-tests (Depends-on): Likewise.
41520         * modules/rmdir-tests (Depends-on): Likewise.
41521         * modules/unlink-tests (Depends-on): Likewise.
41522         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
41523         * tests/test-canonicalize.c (symlink): Likewise.
41524         * tests/test-fstatat.c (symlink): Likewise.
41525         * tests/test-lstat.c (symlink): Likewise.
41526         * tests/test-remove.c (symlink): Likewise.
41527         * tests/test-rmdir.c (symlink): Likewise.
41528         * tests/test-unlink.c (symlink): Likewise.
41529         * tests/test-unlinkat.c (symlink): Likewise.
41530
41531         symlink: new module, for Solaris 9 bug
41532         * modules/symlink: New file.
41533         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41534         * lib/symlink.c: Likewise.
41535         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41536         * modules/unistd (Makefile.am): Substitute them.
41537         * lib/unistd.in.h (symlink): Declare replacement.
41538         * MODULES.html.sh (File system functions): Mention it.
41539         * doc/posix-functions/symlink.texi (symlink): Likewise.
41540         * modules/symlink-tests: New test.
41541         * tests/test-symlink.c: Likewise.
41542
41543 2009-09-23  Bruno Haible  <bruno@clisp.org>
41544
41545         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
41546         when needed.
41547         Test case: gnulib-tool --import --with-tests atexit inttypes.
41548         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
41549
41550 2009-09-23  Bruno Haible  <bruno@clisp.org>
41551
41552         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
41553         subcommand, not in a subshell.
41554
41555 2009-09-22  Eric Blake  <ebb9@byu.net>
41556
41557         unistd: sort replacement declarations
41558         * lib/unistd.in.h: Sort declarations.
41559
41560         open, openat: minor optimization
41561         * lib/open.c (open): If open succeeded, len is non-zero.
41562         * lib/openat.c (rpl_openat): Likewise.
41563
41564         link-follow: ensure correct result
41565         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
41566         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
41567         distinguish between possible failures.
41568
41569 2009-09-21  Eric Blake  <ebb9@byu.net>
41570
41571         fts: avoid compiler warning
41572         * lib/fts.c (dirent_inode_sort_may_be_useful)
41573         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
41574
41575 2009-09-19  Bruno Haible  <bruno@clisp.org>
41576
41577         * lib/progreloc.c (canonicalize_file_name): New declaration.
41578
41579 2009-09-19  Eric Blake  <ebb9@byu.net>
41580
41581         link: fix quoting
41582         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
41583
41584         openat: fix openat bugs on Solaris 9
41585         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
41586         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
41587         * modules/openat (Depends-on): Add open.
41588         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
41589         * modules/fcntl-h (Makefile.am): Substitute it.
41590         * lib/fcntl.in.h (openat): Declare replacement.
41591         * doc/posix-functions/openat.texi (openat): Document this.
41592
41593         openat: move fstatat and unlinkat into correct files
41594         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
41595         compiled.
41596         * lib/openat.c (fstatat, unlinkat): Move...
41597         * lib/fstatat.c (fstatat): ...into correct files.
41598         * lib/unlinkat.c (unlinkat): Likewise.
41599
41600         openat: fix unlinkat bugs on Solaris 9
41601         * lib/unlinkat.c (unlinkat): New file.
41602         * modules/openat (Depends-on): Add unlink.
41603         (Files): Distribute it.
41604         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
41605         trailing slash behavior is broken.
41606         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41607         * modules/unistd (Makefile.am): Substitute it.
41608         * lib/unistd.in.h (unlinkat): Declare replacement.
41609         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
41610
41611         openat: fix fstatat bugs on Solaris 9
41612         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
41613         stat.
41614         * doc/posix-functions/fstatat.texi (fstatat): Document this.
41615
41616         test-unlinkat: enhance test, to expose Solaris 9 bug
41617         * tests/test-unlink.c (main): Factor guts...
41618         * tests/test-unlink.h (test_rmdir_func): ...into new file.
41619         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
41620         * tests/test-rmdir.c (main): Adjust caller.
41621         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
41622         (unlinker): New helper function.
41623         (rmdirat): Enhance check.
41624         * modules/rmdir-tests (Depends-on): Add stdbool.
41625         * modules/unlink-tests (Depends-on): Likewise.
41626         (Files): Add test-unlink.h.
41627         * modules/openat-tests (Files): Likewise.
41628         (Depends-on): Add unlinkdir.
41629
41630         test-fstatat: new test, to expose Solaris 9 bugs
41631         * tests/test-stat.c (main): Factor guts...
41632         * tests/test-stat.h (test_stat_func): ...into new file.
41633         * tests/test-lstat.c (main): Factor guts...
41634         * tests/test-lstat.h (test_lstat_func): ...into new file.
41635         * tests/test-fstatat.c: New file.
41636         * modules/stat-tests (Files): Add test-stat.h.
41637         * modules/lstat-tests (Files): Add test-lstat.h.
41638         (Depends-on): Add stdbool.
41639         * modules/openat-tests (Depends-on): Add pathmax.
41640         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
41641         (Makefile.am): Run new test.
41642
41643         remove: new module, for mingw and Solaris 9 bugs
41644         * modules/remove: New file.
41645         * lib/remove.c: Likewise.
41646         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
41647         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
41648         * modules/stdio (Makefile.am): Use them.
41649         * lib/stdio.in.h (remove): Declare replacement.
41650         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41651         * doc/posix-functions/remove.texi (remove): Likewise.
41652         * modules/remove-tests: New test.
41653         * tests/test-remove.c: Likewise.
41654
41655         unlink: new module, for Solaris 9 bug
41656         * modules/unlink: New file.
41657         * lib/unlink.c: Likewise.
41658         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
41660         * modules/unistd (Makefile.am): Use them.
41661         * lib/unistd.in.h (stat): Declare replacement.
41662         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41663         * doc/posix-functions/unlink.texi (unlink): Likewise.
41664         * modules/unlink-tests: New test.
41665         * tests/test-unlink.c: Likewise.
41666
41667         lstat: fix Solaris 9 bug
41668         * lib/lstat.c (lstat): Also check for trailing slash on
41669         non-symlink, non-directories.  Use stat module to simplify logic.
41670         * doc/posix-functions/lstat.texi (lstat): Document it.
41671         * modules/lstat-tests (Depends-on): Add errno, same-inode.
41672         (configure.ac): Check for symlink.
41673         * tests/test-lstat.c (main): Add more tests.
41674
41675         stat: add as dependency to other modules
41676         * modules/chown (Depends-on): Add stat.
41677         * modules/euidaccess (Depends-on): Likewise.
41678         * modules/fchdir (Depends-on): Likewise.
41679         * modules/isdir (Depends-on): Likewise.
41680         * modules/link (Depends-on): Likewise.
41681         * modules/lstat (Depends-on): Likewise.
41682         * modules/mkdir-p (Depends-on): Likewise.
41683         * modules/modechange (Depends-on): Likewise.
41684         * modules/open (Depends-on): Likewise.
41685         * modules/readlink (Depends-on): Likewise.
41686         * modules/same (Depends-on): Likewise.
41687
41688         stat: fix Solaris 9 bug
41689         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
41690         slash.
41691         * lib/stat.c (rpl_stat): Work around it.
41692         * doc/posix-functions/stat.texi (stat): Update documentation.
41693
41694         stat: new module, for mingw bug
41695         * modules/stat: New file.
41696         * lib/stat.c: Likewise.
41697         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41698         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41699         * modules/sys_stat (Makefile.am): Use them.
41700         * lib/sys_stat.in.h (stat): Declare replacement.
41701         * lib/openat.c (fstatat): Deal with lstat and stat being function
41702         macros.
41703         * modules/openat (Depends-on): Add inline.
41704         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41705         * doc/posix-functions/stat.texi (stat): Likewise.
41706         * modules/stat-tests: New test.
41707         * tests/test-stat.c: Likewise.
41708
41709 2009-09-19  Jim Meyering  <meyering@redhat.com>
41710
41711         syntax-check: detect unnecessary inclusion of canonicalize.h
41712         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
41713
41714 2009-09-19  Eric Blake  <ebb9@byu.net>
41715
41716         canonicalize-lgpl: adjust clients to use correct header
41717         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41718         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
41719         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
41720         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
41721         * lib/progreloc.c (includes): Likewise.
41722
41723 2009-09-19  Jim Meyering  <meyering@redhat.com>
41724
41725         test-posixtm.c: correct a comment
41726         * tests/test-posixtm.c: Correct first-line comment.
41727         Spotted by Eric Blake.
41728
41729 2009-09-16  Jim Meyering  <meyering@redhat.com>
41730
41731         posixtm-tests: make T const-correct; add a test case
41732         * tests/test-posixtm.c (T): Declare const.
41733         Add a test for -(2^31+1).
41734         Remove useless can-succeed-only-in-2002 test.
41735
41736         posixtm-tests: adjust the sole failing test
41737         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
41738         expected output matches what mktime now produces.  Cross-checked via
41739         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
41740
41741         posixtm: move #ifdef'd tests into a new module
41742         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
41743         * tests/test-posixtm.c: ... this new file.
41744         * modules/posixtm-tests: New module.
41745
41746 2009-09-19  Eric Blake  <ebb9@byu.net>
41747
41748         openat: simplify use of at-func.c
41749         * lib/at-func.c (includes): Include prerequisites here, to
41750         simplify requirements on client files.
41751         * lib/openat-priv.h: Add double-inclusion guard.
41752         * lib/faccessat.c (includes): Simplify.
41753         * lib/fchmodat.c (includes): Likewise.
41754         * lib/fchownat.c (includes): Likewise.
41755         * lib/mkdirat.c (includes): Likewise.
41756         * lib/mkfifoat.c (includes): Likewise.
41757         * lib/symlinkat.c (includes): Likewise.
41758
41759         openat: allow return of fd 0
41760         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
41761         * modules/save-cwd (Depends-on): Replace fcntl-safer with
41762         unistd-safer.
41763         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
41764         <fcntl.h>; this module does not leak fds.
41765         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
41766         must be allowed to return 0, leaving openat_safer to add the
41767         safety.
41768         (openat_permissive): Avoid writing to just-opened fd 2 if
41769         restoring the current directory fails.
41770         * lib/openat-die.c (openat_restore_fail): Add comment.
41771         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
41772         (save_cwd): Guarantee safe fd, but without use of open_safer.
41773         * tests/test-openat.c: New test.
41774         * modules/openat-tests (Files, Makefile.am): Distribute and build
41775         new file.
41776
41777         relocatable-prog-wrapper: fix build
41778         * modules/relocatable-prog-wrapper (Files): Update name of
41779         canonicalize m4 file, broken on 2009-09-17.
41780         Reported by emad hajjar <aleppos@hotmail.com>.
41781
41782 2009-09-19  Bruno Haible  <bruno@clisp.org>
41783
41784         * lib/safe-alloc.h: Use the standard header with GPL copyright.
41785         * lib/safe-alloc.c: Likewise.
41786         Reported by Ian Beckwith <ianb@erislabs.net>.
41787
41788 2009-09-18  Bruno Haible  <bruno@clisp.org>
41789
41790         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
41791         Reported by <erobles@sensacd.com.mx>.
41792
41793 2009-09-17  Eric Blake  <ebb9@byu.net>
41794
41795         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
41796         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
41797         slashes when checking if last component is missing.
41798         * tests/test-canonicalize.c (main): Test this.
41799
41800         canonicalize, canonicalize-lgpl: honor // if distinct from /
41801         * modules/canonicalize (Files): Add double-slash-root.m4.
41802         * modules/canonicalize-lgpl (Files): Likewise.
41803         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
41804         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
41805         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
41806         fallback definition.
41807         (canonicalize_filename_mode): Use it to protect //.
41808         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
41809         (__realpath): Likewise.
41810         * tests/test-canonicalize.c (main): Test this.
41811         * tests/test-canonicalize-lgpl.c (main): Likewise.
41812         * modules/canonicalize-tests (Depends-on): Add same-inode.
41813         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
41814
41815         canonicalize-lgpl: fix glibc bug with trailing slash
41816         * m4/canonicalize-lgpl.m4: Move contents...
41817         * m4/canonicalize.m4: ...here.
41818         (gl_CANONICALIZE_LGPL): Factor realpath check...
41819         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
41820         glibc 2.3.5 bug, fixed 2005-04-27.
41821         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
41822         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
41823         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
41824         * modules/canonicalize-lgpl (Files): Manage file rename.
41825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41826         * modules/stdlib (Makefile.am): Substitute witness.
41827         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
41828         is needed.
41829         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
41830         replacement is required.
41831         * lib/canonicalize.c (canonicalize_file_name): Likewise.
41832         * doc/glibc-functions/canonicalize_file_name.texi
41833         (canonicalize_file_name): Document this.
41834         * doc/posix-functions/realpath.texi (realpath): Likewise.
41835
41836         canonicalize-lgpl: reject non-directory with trailing slash
41837         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
41838         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
41839         catches failures in glibc 2.3.5.
41840         * tests/test-canonicalize.c (main): Likewise.
41841
41842         canonicalize-lgpl: use native realpath if it works
41843         * lib/canonicalize-lgpl.c (realpath): Guard with
41844         FUNC_REALPATH_WORKS.
41845         * lib/stdlib.in.h (realpath): Make declaration optional based on
41846         HAVE_REALPATH.
41847         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
41848         native realpath works.
41849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
41850         * modules/stdlib (Makefile.am): Substitute witness.
41851
41852         canonicalize, canonicalize-lgpl: use <stdlib.h>
41853         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
41854         (Include): Mention <stdlib.h>.
41855         (configure.ac): Mention functions we provide.
41856         * modules/canonicalize (configure.ac): Likewise.
41857         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
41858         realpath if canonicalize_file_name is missing.
41859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
41860         * modules/stdlib (Makefile.am): Substitute witnesses.
41861         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
41862         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
41863         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
41864         * NEWS: Document this.
41865         * doc/glibc-functions/canonicalize_file_name.texi
41866         (canonicalize_file_name): Likewise.
41867         * doc/posix-functions/realpath.texi (realpath): Likewise.
41868         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
41869
41870         test-canonicalize: consolidate into single C program
41871         * tests/test-canonicalize.sh: Delete; move setup into...
41872         * tests/test-canonicalize.c (main): ...the program, making it
41873         easier to run in debugger.  Add some tests.
41874         * modules/canonicalize-tests (Files): Remove unused file.
41875         (Depends-on): Add progname.
41876         (configure.ac, Makefile.am): Simplify.
41877
41878         test-canonicalize-lgpl: consolidate into single C program
41879         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
41880         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
41881         easier to run in debugger.  Add some tests.
41882         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
41883         (configure.ac, Makefile.am): Simplify.
41884
41885         canonicalize: avoid resolvepath
41886         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
41887         unnecessary checks.
41888         * lib/canonicalize.c (includes): Simplify.
41889         (canonicalize_file_name): Drop resolvepath implementation.
41890         * modules/canonicalize (Depends-on): Drop filenamecat.
41891
41892         canonicalize: don't lose errno
41893         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
41894         over calls to free.
41895
41896         canonicalize: simplify errno handling
41897         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
41898         assignment.
41899
41900         canonicalize, canonicalize-lgpl: update module dependencies
41901         * modules/canonicalize (Depends-on): Add extensions, lstat,
41902         pathmax, stdlib.
41903         (Files): Drop pathmax.h.
41904         (configure.ac): Adjust macro name.
41905         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
41906         lstat, stdlib, sys_stat.
41907         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
41908         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
41909         extensions.
41910         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
41911         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
41912         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
41913         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
41914         declaration, if available.
41915         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
41916         we can rely on the readlink module.
41917         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
41918         (includes): Use <unistd.h> unconditionally.
41919
41920 2009-09-17  Eric Blake  <ebb9@byu.net>
41921
41922         maint: make Include sections of modules consistent
41923         * modules/alloca: Use only header name; no need to list #include.
41924         * modules/alloca-opt: Likewise.
41925         * modules/arpa_inet: Likewise.
41926         * modules/canon-host: Likewise.
41927         * modules/configmake: Likewise.
41928         * modules/dirent: Likewise.
41929         * modules/eealloc: Likewise.
41930         * modules/environ: Likewise.
41931         * modules/fchdir: Likewise.
41932         * modules/fcntl: Likewise.
41933         * modules/fcntl-h: Likewise.
41934         * modules/gethrxtime: Likewise.
41935         * modules/gettime: Likewise.
41936         * modules/ignore-value: Likewise.
41937         * modules/inet_ntop: Likewise.
41938         * modules/inet_pton: Likewise.
41939         * modules/inttypes: Likewise.
41940         * modules/isnand-nolibm: Likewise.
41941         * modules/isnanf-nolibm: Likewise.
41942         * modules/mbchar: Likewise.
41943         * modules/mbfile: Likewise.
41944         * modules/mbiter: Likewise.
41945         * modules/mbuiter: Likewise.
41946         * modules/netdb: Likewise.
41947         * modules/netinet_in: Likewise.
41948         * modules/nproc: Likewise.
41949         * modules/pagealign_alloc: Likewise.
41950         * modules/poll: Likewise.
41951         * modules/printf-frexp: Likewise.
41952         * modules/pthread: Likewise.
41953         * modules/putenv: Likewise.
41954         * modules/random_r: Likewise.
41955         * modules/relocatable-prog: Likewise.
41956         * modules/search: Likewise.
41957         * modules/select: Likewise.
41958         * modules/selinux-h: Likewise.
41959         * modules/settime: Likewise.
41960         * modules/signal: Likewise.
41961         * modules/size_max: Likewise.
41962         * modules/socklen: Likewise.
41963         * modules/ssize_t: Likewise.
41964         * modules/stdarg: Likewise.
41965         * modules/stdbool: Likewise.
41966         * modules/stddef: Likewise.
41967         * modules/stdint: Likewise.
41968         * modules/stdio: Likewise.
41969         * modules/stdlib: Likewise.
41970         * modules/string: Likewise.
41971         * modules/strings: Likewise.
41972         * modules/sys_file: Likewise.
41973         * modules/sys_ioctl: Likewise.
41974         * modules/sys_select: Likewise.
41975         * modules/sys_socket: Likewise.
41976         * modules/sys_stat: Likewise.
41977         * modules/sys_time: Likewise.
41978         * modules/sys_times: Likewise.
41979         * modules/sys_utsname: Likewise.
41980         * modules/sys_wait: Likewise.
41981         * modules/sysexits: Likewise.
41982         * modules/time: Likewise.
41983         * modules/times: Likewise.
41984         * modules/tmpfile: Likewise.
41985         * modules/trim: Likewise.
41986         * modules/unistd: Likewise.
41987         * modules/wchar: Likewise.
41988         * modules/wctype: Likewise.
41989
41990 2009-09-17  Bruno Haible  <bruno@clisp.org>
41991
41992         Make getdate.y compile on QNX and NetBSD 5 / i386.
41993         * m4/getdate.m4 (gl_GETDATE): Conditionally define
41994         TIME_T_FITS_IN_LONG_INT.
41995         * lib/getdate.y (long_time_t): New type.
41996         (relative_time): Change type of 'seconds' field to long_time_t.
41997         (get_date): Update types of local variables. Check against overflow
41998         during conversion from long_time_t to time_t.
41999         Reported by Matt Kraai <kraai@ftbfs.org>
42000         and Hasso Tepper <hasso@netbsd.org>.
42001
42002 2009-09-17  Bruno Haible  <bruno@clisp.org>
42003
42004         * modules/COPYING: Update copyright years.
42005         * modules/README: Likeiwse.
42006         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42007         Reported by Ian Beckwith <ianb@erislabs.net>.
42008
42009 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42010
42011         * users.txt: Update references for gnuit package.
42012
42013 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42014
42015         * m4/getdelim.m4: Fix typo in copyright line.
42016
42017 2009-09-17  Bruno Haible  <bruno@clisp.org>
42018
42019         * lib/atoll.c: Use the standard header with GPL copyright.
42020         * lib/argz.in.h: Likewise.
42021         * lib/glob.c: Likewise.
42022         * lib/glob-libc.h: Likewise.
42023         * lib/random_r.c: Likewise.
42024         * lib/siglist.h: Likewise.
42025         * lib/strsignal.c: Likewise.
42026         Reported by Ian Beckwith <ianb@erislabs.net>.
42027
42028 2009-09-17  Eric Blake  <ebb9@byu.net>
42029
42030         rmdir: ensure correct dependency order
42031         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42032
42033 2009-09-17  Bruno Haible  <bruno@clisp.org>
42034
42035         Disable assertion that fails on NetBSD 5 / i386.
42036         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42037         Reported by Sam Steingold <sds@gnu.org>
42038         and Hasso Tepper <hasso@netbsd.org>.
42039
42040 2009-09-16  Eric Blake  <ebb9@byu.net>
42041
42042         unlinkdir: port to mingw
42043         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42044         on which no one can unlink a directory.
42045
42046         stdlib: sort witness names
42047         * modules/stdlib (Makefile.am): Sort replacements.
42048         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42049         * lib/stdlib.in.h: Likewise.
42050
42051         parse-duration-tests: avoid link failure
42052         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42053         LIBINTL.
42054         Reported by Tom G. Christensen.
42055
42056         openat-tests: ensure unlinkat behaves like rmdir
42057         * tests/test-rmdir.c (main): Factor guts...
42058         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42059         * modules/rmdir-tests (Files): Ship new file.
42060         * modules/openat-tests: New test.
42061         * tests/test-unlinkat.c: Likewise.
42062
42063         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42064         * modules/rmdir-errno (Status, Notice): Now obsolete.
42065
42066         rmdir: work around cygwin 1.5.x and mingw bugs
42067         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42068         * lib/rmdir.c (rmdir): Work around it.
42069         * modules/rmdir (Status, Notice): No longer obsolete.
42070         (Files): Add dos.m4.
42071         (Depends-on): Add unistd.
42072         (configure.ac): Set witnesses.
42073         (License): Relax to LGPLv2+.
42074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42075         * modules/unistd (Makefile.am): Substitute witnesses.
42076         * lib/unistd.in.h (rmdir): Declare replacement.
42077         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42078         * modules/rmdir-tests: New tests.
42079         * tests/test-rmdir.c: Likewise.
42080
42081 2009-09-15  Eric Blake  <ebb9@byu.net>
42082
42083         fchdir: improve use of replacement functions
42084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42085         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42086         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42087         REPLACE_CLOSEDIR.
42088         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42089         * modules/sys_stat (Makefile.am): Substitute correct witness.
42090         * modules/dirent (Makefile.am): Likewise.
42091         * modules/unistd (Makefile.am): Likewise.
42092         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42093         * lib/unistd.in.h (dup): Likewise.
42094         * lib/sys_stat.in.h (fstat): Likewise.
42095
42096         maint: ignore gnulib-tool temp files
42097         * .gitignore: Ignore files created during gnulib-tool --test.
42098
42099 2009-09-13  Jim Meyering  <meyering@redhat.com>
42100
42101         posixtm: don't reject a time that specify "60" as the number of seconds
42102         * lib/posixtm.c (posixtime): The code to reject invalid dates
42103         would also reject a time specified with the .60 suffix.
42104         But POSIX allows that, in order to accommodate leap seconds.
42105         So don't reject it.
42106         (main): Adjust tests accordingly.
42107         * modules/posixtm (Depends-on): Add stpcpy.
42108
42109 2009-09-11  Jim Meyering  <meyering@redhat.com>
42110
42111         announce-gen: include [$release_type] in emitted Subject:
42112         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42113         e.g., [stable] in the emitted Subject: line.
42114
42115 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42116
42117         Remove obsolete macros from several modules.
42118         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42119         obsolete Autoconf macros with their modern counterparts.
42120         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42121         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42122         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42123         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42124         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42125         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42126         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42127         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42128         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42129         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42130         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42131         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42132         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42133         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42134         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42135         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42136         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42137         * m4/time_r.m4 (gl_TIME_R): Likewise.
42138         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42139         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42140         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42141
42142         Fix copyright header in build-aux scripts.
42143         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42144         recommendation.
42145         * build-aux/ncftpput-ftp: Likewise.
42146         * build-aux/update-copyright: Likewise.
42147
42148 2009-09-09  Eric Blake  <ebb9@byu.net>
42149
42150         test-link: allow Linux choice of errno
42151         * tests/test-link.c (main): Relax test for alternate error.
42152
42153         strndup: fix improper m4 caching
42154         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42155         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42156         (gl_PREREQ_STRNDUP): Delete.
42157         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42158         * modules/string (Makefile.am): Substitute it.
42159         * lib/string.in.h (strndup): Modernize prototype.
42160
42161         getcwd: port to mingw
42162         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42163         different from the POSIX assumptions made throughout the getcwd
42164         module; fortunately, the mingw getcwd does not need replacement.
42165         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42166         * modules/getcwd-tests: New test.
42167         * tests/test-getcwd.c: Likewise.
42168
42169         link: fix platform bugs
42170         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
42171         * lib/link.c (link): Work around them.  Fix related mingw bug.
42172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
42173         * modules/unistd (Makefile.am): Substitute it.
42174         * lib/unistd.in.h (link): Declare replacement.
42175         * doc/posix-functions/link.texi (link): Document this.
42176         * modules/link (Depends-on): Add strdup-posix, sys_stat.
42177
42178         test-link: consolidate into single C program, test more cases
42179         * tests/test-link.sh: Delete.
42180         * tests/test-link.c: Test more error conditions.  Exposes bugs on
42181         at least Cygwin and Solaris.
42182         * modules/link-tests (Files): Remove unused file.
42183         (Depends-on): Add errno, sys_stat.
42184         (Makefile.am): Simplify.
42185
42186 2009-09-08  Bruno Haible  <bruno@clisp.org>
42187
42188         Work around towlower, towupper bug on mingw.
42189         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
42190         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
42191         * doc/posix-functions/towlower.texi: Mention the mingw bug.
42192         * doc/posix-functions/towupper.texi: Likewise.
42193         Reported by Eric Blake.
42194
42195 2009-09-08  Jim Meyering  <meyering@redhat.com>
42196
42197         build: don't try to run autoheader if we don't use it
42198         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
42199         is not used in configure.ac.
42200
42201 2009-09-08  Eric Blake  <ebb9@byu.net>
42202
42203         euidaccess: fix compilation error
42204         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
42205
42206         rawmemchr: relax license
42207         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
42208         okay.
42209         Reported by Jim Meyering.
42210
42211         mkfifoat: new module
42212         * modules/mkfifoat: New file.
42213         * lib/mkfifoat.c: Likewise.
42214         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
42215         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42216         * modules/sys_stat (Makefile.am): Use them.
42217         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
42218         * MODULES.html.sh (File system functions): Mention module.
42219         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42220         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42221         * modules/mkfifoat-tests: New test.
42222         * tests/test-mkfifoat.c: Likewise.
42223
42224         strchrnul: relax license
42225         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
42226         okay.
42227         Reported by Jim Meyering.
42228
42229 2009-09-08  Eric Blake  <ebb9@byu.net>
42230
42231         fstatat: fix compilation on Solaris
42232         * lib/fstatat.c (includes): Add fcntl.h.
42233         Reported by Pádraig Brady.
42234
42235 2009-09-07  Eric Blake  <ebb9@byu.net>
42236
42237         rename: modernize replacement
42238         * modules/rename (Depends-on): Add stdio.
42239         (configure.ac): Declare witness.
42240         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
42241         stdio take care of replacement.
42242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
42243         * modules/stdio (Makefile.am): Substitute them.
42244         * lib/stdio.in.h (rename): Declare replacement.
42245         * lib/rename.c (includes): Allow cross-compilation to non-windows
42246         machines.
42247         * doc/posix-functions/rename.texi (rename): Improve
42248         documentation.
42249
42250         stdio: sort witness names
42251         * modules/stdio (Makefile.am): Sort replacements.
42252         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42253         * lib/stdio.in.h: Likewise.
42254
42255         getcwd: minor cleanups
42256         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
42257         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
42258
42259         openat: provide more convenience names
42260         * modules/faccessat (configure.ac): Add C witness.
42261         * lib/unistd.in.h (readlinkat): Fix typo.
42262         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
42263         convenience wrappers.
42264         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
42265         wrappers in syntax checks.
42266
42267 2009-09-06  Eric Blake  <ebb9@byu.net>
42268
42269         doc: fix comments in recent patches
42270         * lib/faccessat.c: Mention correct function.
42271         * lib/fchmodat.c: Likewise.
42272         * lib/fchownat.c: Likewise.
42273         * lib/symlinkat.c: Likewise.
42274         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
42275         constants.
42276
42277         faccessat, symlinkat: continue cleanup of previous patch
42278         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
42279         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42280         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
42281         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
42282         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
42283         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
42284         set.
42285
42286 2009-09-06  Bruno Haible  <bruno@clisp.org>
42287
42288         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
42289         (fstatat): Declare if GNULIB_FSTATAT is set.
42290         (mkdirat): Declare if GNULIB_MKDIRAT is set.
42291         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
42292         (unlinkat): Declare if GNULIB_UNLINKAT is set.
42293         * modules/fcntl-h (Files): Remove m4/openat.m4.
42294         * modules/sys_stat (Files): Remove m4/openat.m4.
42295         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
42296         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
42297         * modules/unistd (Files): Remove m4/openat.m4.
42298         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
42299         GNULIB_OPENAT.
42300         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
42301         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
42302         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
42303         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
42304         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
42305         gl_OPENAT_DEFAULTS.
42306         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
42307         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
42308         Don't require gl_OPENAT_DEFAULTS.
42309         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
42310         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
42311         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
42312         (gl_OPENAT_DEFAULTS): Remove macro.
42313
42314 2009-09-06  Bruno Haible  <bruno@clisp.org>
42315
42316         * modules/openat (configure.ac): Remove unneeded witness.
42317
42318 2009-09-06  Bruno Haible  <bruno@clisp.org>
42319
42320         Set errno to ENOSYS when a function is entirely unsupported.
42321         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
42322         EOPNOTSUPP.
42323         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42324         * modules/chown (Depends-on): Remove errno.
42325
42326 2009-09-06  Bruno Haible  <bruno@clisp.org>
42327
42328         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
42329
42330 2009-09-06  Bruno Haible  <bruno@clisp.org>
42331
42332         * lib/sys_stat.in.h: Fix preprocessor command indentation.
42333
42334 2009-09-06  Ben Pfaff  <blp@gnu.org>
42335             Bruno Haible  <bruno@clisp.org>
42336
42337         Work around a glibc bug in strtok_r.
42338         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
42339         Undefine if UNDEFINE_STRTOK_R is set.
42340         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
42341         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42342         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
42343         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
42344         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
42345         UNDEFINE_STRTOK_R.
42346         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
42347
42348 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
42349
42350         exclude: minor fix
42351         * lib/exclude.c: Include wctype.h
42352
42353 2009-09-06  Akim Demaille  <demaille@gostai.com>
42354
42355         bootstrap: improve error message
42356         * build-aux/bootstrap (find_tool): Upon failure, report the list
42357         of candidates.
42358         Honor the initial value of the envvar.
42359
42360 2009-09-05  Eric Blake  <ebb9@byu.net>
42361
42362         symlinkat: new module
42363         * modules/symlinkat: New file.
42364         * lib/symlinkat.c: Likewise.
42365         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
42366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42367         * modules/unistd (Makefile.am): Use them.
42368         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
42369         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
42370         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
42371         * MODULES.html.sh (File system functions): Mention module.
42372         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42373         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42374         * modules/symlinkat-tests: New test.
42375         * tests/test-symlinkat.c: Likewise.
42376
42377         test-openat-safer: add more checks
42378         * tests/test-openat-safer.c (main): Check more code paths.
42379
42380 2009-09-05  Jim Meyering  <meyering@redhat.com>
42381
42382         syntax-check: detect unnecessary inclusion of openat.h
42383         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
42384
42385 2009-09-05  Bruno Haible  <bruno@clisp.org>
42386
42387         Support towlower, towupper.
42388         * doc/posix-functions/towlower.texi: Mention module wctype.
42389         * doc/posix-functions/towupper.texi: Likewise.
42390         * lib/wctype.in.h (towlower, towupper): New functions.
42391         * tests/test-wctype.c: Include stdio.h, stdlib.h.
42392         (ASSERT): New macro.
42393         (e): New variable.
42394         (main): Test also towlower, towupper. Test WEOF argument.
42395         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
42396
42397 2009-09-05  Bruno Haible  <bruno@clisp.org>
42398
42399         Fix conversion behaviour when the input is invalid.
42400         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
42401         mark occurring in first pass of indirect conversion.
42402         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
42403         input.
42404         Found by clang's static analyzer.
42405
42406 2009-09-05  Bruno Haible  <bruno@clisp.org>
42407
42408         * tests/test-striconveh.c (main): Test indirect conversion on platforms
42409         where direct conversion is possible.
42410
42411 2009-09-04  Eric Blake  <ebb9@byu.net>
42412
42413         openat: fail with ENOENT on empty name
42414         * lib/openat-proc.c (openat_proc_name): Special-case the empty
42415         buffer.
42416
42417         link-follow: fix logic bug in prior patch
42418         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
42419         reversed sense of yes and no in prior patch.  Avoid confusing
42420         compilation failure with desired semantics.
42421
42422         link-follow: accommodate mingw and cross-compilation
42423         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
42424         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
42425         cross-compilation results to -1, to make linkat easier to
42426         implement when cross-compiling.  Trivially support mingw.
42427         * modules/link-follow (configure.ac): Call new name.
42428         * NEWS: Mention this.
42429
42430 2009-09-03  Eric Blake  <ebb9@byu.net>
42431
42432         faccessat: compile replacement
42433         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
42434         needed.
42435
42436         fts: fix compilation error
42437         * lib/fts.c (includes): Re-add "openat.h", for
42438         openat_needs_fchdir.
42439
42440         faccessat: new module
42441         * modules/faccessat: New file.
42442         * lib/faccessat.c: Likewise.
42443         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
42444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42445         * modules/unistd (Makefile.am): Use it.
42446         * lib/unistd.in.h (faccessat): Declare it.
42447         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
42448         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
42449         * MODULES.html.sh (File system functions): Mention it.
42450         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
42451         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
42452
42453         euidaccess: prefer POSIX over non-standard implementation
42454         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
42455         * lib/euidaccess.c (euidaccess): Use it if available.
42456
42457         openat: make template easier to use
42458         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
42459         AT_FUNC_F2 to be undefined.
42460         (VALIDATE_FLAG): New macro; use it to reject bad flags.
42461         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
42462         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
42463         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
42464         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
42465         Likewise.
42466         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
42467         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
42468         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
42469         Likewise.
42470
42471         openat: declare in POSIX headers
42472         * NEWS: Mention this.
42473         * modules/openat (configure.ac): Declare witnesses.
42474         (Depends-on): Add fcntl-h, sys_stat, unistd.
42475         (Include): Mention correct headers.
42476         * modules/fcntl-h (Depends-on): Add link-warning.
42477         (Files): Add openat.m4.
42478         (Makefile.am): Substitute witnesses.
42479         * modules/sys_stat (Files, Makefile.am): Likewise.
42480         * modules/unistd (Files, Makefile.am): Likewise.
42481         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
42482         (gl_OPENAT_DEFAULTS): New macro.
42483         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
42484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
42485         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
42486         (SYS_STAT_H): Remove unused variable.
42487         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
42488         * lib/fcntl--.h (includes): Remove unneeded header.
42489         * lib/openat-safer.c (includes): Likewise.
42490         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
42491         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
42492         appropriate headers.
42493         (__OPENAT_PREFIX): Delete.
42494         * lib/fcntl.in.h (openat): Provide declaration.
42495         (AT_FDCWD): Fix Solaris bug.
42496         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
42497         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
42498         * lib/fchmodat.c (includes):  Adjust to find declaration.
42499         * lib/fchownat.c (includes): Likewise.
42500         * lib/mkdirat.c (includes): Likewise.
42501         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
42502         still visible.
42503
42504 2009-09-02  Eric Blake  <ebb9@byu.net>
42505
42506         errno: use consistently
42507         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
42508         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
42509         * lib/canonicalize.c (ELOOP): Likewise.
42510         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
42511         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
42512         * lib/lchown.c (EOPNOTSUPP): Likewise.
42513         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
42514         * lib/savewd.c (ESTALE): Likewise.
42515         * lib/settime.c (ENOSYS): Likewise.
42516         * lib/utimens.c (ENOSYS): Likewise.
42517         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
42518         * lib/chdir-safer.c (ELOOP): Likewise.
42519         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
42520         * modules/c-stack (Depends-on): Add errno.
42521         * modules/canonicalize (Depends-on): Likewise.
42522         * modules/chdir-safer (Depends-on): Likewise.
42523         * modules/fdopendir (Depends-on): Likewise.
42524         * modules/inet_ntop (Depends-on): Likewise.
42525         * modules/inet_pton (Depends-on): Likewise.
42526         * modules/lchown (Depends-on): Likewise.
42527         * modules/openat (Depends-on): Likewise.
42528         * modules/savewd (Depends-on): Likewise.
42529         * modules/settime (Depends-on): Likewise.
42530         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
42531
42532         fts: avoid leaking fds
42533         * modules/fts (Depends-on): Add cloexec.
42534         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
42535         flag.
42536
42537         fts: make directory fds more robust
42538         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
42539         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
42540
42541         backupfile, chdir-long, fts, savedir: make safer
42542         * lib/backupfile.c (includes): Use "dirent--.h", since
42543         numbered_backup can write to stderr during readdir.
42544         * lib/savedir.c (includes): Likewise.
42545         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
42546         emulation can write to stderr on failure.
42547         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
42548         * lib/getcwd.c: Document why opendir_safer is unused.
42549         * lib/glob.c: Likewise.
42550         * lib/scandir.c: Likewise.
42551         * lib/openat-proc.c: Likewise, for open_safer.
42552         * modules/backupfile (Depends-on): Add dirent-safer.
42553         * modules/savedir (Depends-on): Likewise.
42554         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
42555         * modules/chdir-long (Depends-on): Add openat-safer.
42556
42557         openat-safer: new module
42558         * modules/openat-safer: New file.
42559         * lib/openat-safer.c: Likewise.
42560         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
42561         * lib/fcntl-safer.h (openat_safer): Declare.
42562         * lib/fcntl--.h (openat): Override.
42563         * MODULES.html.sh (File descriptor based I/O): Mention it.
42564         * lib/openat.h: Add double-inclusion guards.
42565         * lib/openat.c (includes): Only include "fcntl-safer.h", not
42566         "fcntl--.h", so we can implement openat.
42567         * modules/openat-safer-tests: New test.
42568         * tests/test-openat-safer.c: New file.
42569
42570         dirent-safer: new module
42571         * modules/dirent-safer: New file.
42572         * lib/dirent--.h: Likewise.
42573         * lib/dirent-safer.h: Likewise.
42574         * lib/opendir-safer.c: Likewise.
42575         * m4/dirent-safer.m4: Likewise.
42576         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
42577         * modules/dirent-safer-tests: New test.
42578         * tests/test-dirent-safer.c: New file.
42579         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
42580
42581         fdopendir: optimize on mingw
42582         * lib/unistd.in.h (_gl_directory_name): New prototype.
42583         * lib/fchdir.c (_gl_directory_name): Implement it.
42584         (fchdir): Use it to simplify implementation.
42585         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
42586         fchdir, when available, to avoid calling [f]chdir().
42587
42588         fdopendir: split into its own module
42589         * lib/openat.c (fdopendir): Move...
42590         * lib/fdopendir.c: ...into new file.
42591         * modules/fdopendir: New module.
42592         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
42593         * modules/openat (Depends-on): Add fdopendir.
42594         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
42595         fdopendir here.
42596         * modules/savedir (Depends-on): Only need fdopendir, not full
42597         openat.
42598         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
42599         * lib/openat.h (fdopendir): Drop prototype.
42600         * lib/dirent.in.h (fdopendir): Provide prototype.
42601         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
42602         * modules/dirent (Makefile.am): Substitute them.
42603         * MODULES.html.sh (File system functions): Mention it.
42604         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
42605         * modules/fdopendir-tests: New file.
42606         * tests/test-fdopendir.c: Likewise.
42607
42608         fchdir: use more consistent macro convention
42609         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
42610         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
42611         REPLACE_FCHDIR, rather than relying on config.h macros.
42612         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
42613         inside a single make-time REPLACE_FCHDIR block, rather than using
42614         the config.h FCHDIR_REPLACEMENT.
42615         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
42616         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
42617         Manage fstat replacement.
42618         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
42619         REPLACE_FCHDIR.
42620         * modules/sys_stat (Files): Add m4/unistd_h.m4.
42621         (Makefile.am): Substitute REPLACE_FCHDIR.
42622         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
42623         FCHDIR_REPLACEMENT.
42624         * lib/dup-safer.c (dup_safer): Likewise.
42625         * lib/dup2.c (rpl_dup2): Likewise.
42626         * lib/dup3.c (rpl_dup3): Likewise.
42627         * lib/open.c (rpl_open): Likewise.
42628
42629         fchdir: simplify error handling, and support dup3
42630         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
42631         stdbool, malloc-posix, realloc-posix.
42632         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
42633         (ensure_dirs_slot): Return false on allocation failure.
42634         (rpl_dup2): Delete.
42635         (_gl_register_dup): New function.
42636         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
42637         (_gl_register_fd): Close fd on allocation failure.
42638         * lib/fcntl.in.h (_gl_register_fd): Update signature.
42639         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
42640         prototype.
42641         (rpl_dup2_fchdir): Delete prototype.
42642         * lib/open.c (open): Update caller.
42643         * lib/dup2.c (dup2): Track fchdir metadata.
42644         * lib/dup3.c (dup3): Likewise.
42645         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
42646         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
42647
42648 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42649
42650         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
42651         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
42652         don't pass arguments to AC_OUTPUT.
42653
42654 2009-09-02  Bruno Haible  <bruno@clisp.org>
42655
42656         * modules/mkdtemp (License): Relicense under LGPLv2+.
42657         Reported by Paolo Bonzini.
42658
42659 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42660
42661         Replace uses of obsolete autoconf macros in Jim's modules.
42662         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
42663         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
42664         can evoke a warning from autoconf when run with -Wobsolete
42665         enabled.  They were declared obsolete for good reasons (see
42666         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
42667         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
42668         should not continue using the deprecated macros.
42669         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
42670         obsolete Autoconf macros with modern counterparts.
42671         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42672         * m4/dos.m4 (gl_AC_DOS): Likewise.
42673         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
42674         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
42675         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
42676         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
42677         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
42678         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
42679         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
42680         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
42681         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
42682         Likewise.
42683         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
42684         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
42685         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
42686         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
42687         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
42688         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
42689
42690 2009-09-01  Eric Blake  <ebb9@byu.net>
42691
42692         fchdir: fix off-by-one bug in previous patch
42693         * lib/fchdir.c (rpl_fstat): Use correct bounds.
42694         (_gl_unregister_fd): Delete useless if.
42695
42696 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
42697
42698         maint.mk: sort the list of syntax-check rules
42699         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
42700         easier to get a sense of progress when the rules are run sequentially
42701         and take a long time.
42702
42703 2009-09-01  Simon Josefsson  <simon@josefsson.org>
42704
42705         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
42706         * modules/netinet_in: Likewise.
42707         * modules/sys_file: Likewise.
42708         * modules/sys_ioctl: Likewise.
42709         * modules/sys_select: Likewise.
42710         * modules/sys_socket: Likewise.
42711         * modules/sys_stat: Likewise.
42712         * modules/sys_time: Likewise.
42713         * modules/sys_times: Likewise.
42714         * modules/sys_utsname: Likewise.
42715         * modules/sys_wait: Likewise.
42716
42717 2009-09-01  Jim Meyering  <meyering@redhat.com>
42718
42719         fts: help ensure that return values are not ignored
42720         * lib/fts_.h (__GNUC_PREREQ): Define.
42721         (__attribute_warn_unused_result__): Define.
42722         (fts_children, fts_close, fts_open, fts_read): Declare with
42723         __attribute_warn_unused_result__.
42724
42725         fts: fts_close now fails also when closing a dir file descriptor fails
42726         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
42727         and propagate to caller, along with errno.
42728
42729         announce-gen: correct formatting in --help output
42730         * build-aux/announce-gen (usage): Move the one-line description in
42731         --help output "up", to where it belongs, just after Usage:.
42732
42733 2009-08-31  Eric Blake  <ebb9@byu.net>
42734
42735         fchdir: port to mingw
42736         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
42737         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
42738         opened, then use a substitute.
42739         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
42740         replacement.
42741         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
42742         (_gl_register_fd): No need to check stat if open already filters
42743         all directories.
42744         (fchdir): Fix error condition to match POSIX.
42745         * modules/fchdir (Depends-on): Add sys_stat.
42746         * doc/posix-functions/open.texi (open): Document the limitation.
42747         * modules/fchdir-tests: New file.
42748         * tests/test-fchdir.c: Likewise.
42749
42750         canonicalize: allow cross-testing from cygwin to mingw
42751         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
42752         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
42753         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
42754         Likewise.
42755         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
42756         target does not support symlinks.
42757         * tests/test-canonicalize-lgpl.sh: Likewise.
42758
42759         chown: avoid compilation warning on mingw
42760         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
42761         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
42762         mingw.
42763         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
42764         * modules/chown (Depends-on): Add errno.
42765
42766 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
42767
42768         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
42769         command.
42770
42771 2009-08-31  Jim Meyering  <meyering@redhat.com>
42772
42773         canonicalize: remove useless initialization
42774         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
42775         initialization of local, "end".
42776
42777 2009-08-30  Bruno Haible  <bruno@clisp.org>
42778
42779         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
42780         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
42781         ENOSYS.
42782
42783 2009-08-30  Bruno Haible  <bruno@clisp.org>
42784
42785         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
42786         /usr/xpg4/bin/tr when it exists.
42787         * tests/test-pipe-filter-gi1.sh: Likewise.
42788
42789 2009-08-30  Bruno Haible  <bruno@clisp.org>
42790
42791         Work around deficient /usr/bin/id program on Solaris.
42792         * tests/test-file-has-acl.sh (ID): New variable.
42793         * tests/test-set-mode-acl.sh (ID): Likewise.
42794         * tests/test-copy-acl.sh (ID): Likewise.
42795         * tests/test-copy-file.sh (ID): Likewise.
42796
42797 2009-08-30  Bruno Haible  <bruno@clisp.org>
42798
42799         New module 'xstriconveh'.
42800         * lib/xstriconveh.h: New file.
42801         * lib/xstriconveh.c: New file.
42802         * modules/xstriconveh: New file.
42803
42804 2009-08-30  Bruno Haible  <bruno@clisp.org>
42805
42806         Make it easier to use mem_cd_iconveh.
42807         * lib/striconveh.h (iconveh_t): New type.
42808         (iconveh_open, iconveh_close): New declarations.
42809         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42810         with a single 'const iconveh_t *' argument.
42811         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
42812         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
42813         with a single 'const iconveh_t *' argument.
42814         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
42815         * tests/test-striconveh.c (main): Update.
42816         * NEWS: Mention the change.
42817
42818 2009-08-30  Bruno Haible  <bruno@clisp.org>
42819
42820         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
42821         problem.
42822
42823 2009-08-30  Bruno Haible  <bruno@clisp.org>
42824
42825         Work around iconv_open problem on Solaris.
42826         * lib/iconv_open-solaris.gperf: New file.
42827         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
42828         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
42829         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
42830         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
42831         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
42832         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
42833
42834 2009-08-29  Jim Meyering  <meyering@redhat.com>
42835
42836         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
42837         * top/maint.mk (cvs-check): Remove target; it was just an alias
42838         to the better-named vc-diff-check.
42839         (maintainer-distcheck): Remove rule.  It was used only from
42840         the (alpha/beta/major) target, and all of its commands but one
42841         were coreutils-specific.
42842         (vc-dist): Remove rule.
42843         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
42844         Run vc-diff-check, not vc-dist.
42845         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
42846
42847 2009-08-27  Bruno Haible  <bruno@clisp.org>
42848
42849         * tests/test-bitrotate.c (main): Remove test that uses a shift count
42850         of 0.
42851
42852 2009-08-27  Bruno Haible  <bruno@clisp.org>
42853
42854         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
42855         compilers.
42856         * doc/func.texi: Document the SunPRO C bug.
42857
42858 2009-08-27  Bruno Haible  <bruno@clisp.org>
42859
42860         Fix link error on Solaris.
42861         * tests/test-parse-duration.c (xstrdup): Remove function.
42862
42863 2009-08-26  Pádraig Brady  <P@draigbrady.com>
42864
42865         ignore-value: handle pointer types, too
42866         * lib/ignore-value.h (__attribute__): Remove definition.
42867         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
42868         of a more concise and more-often effective "(void) i" statement.
42869         (ignore_ptr): New function to suppress warnings from functions that
42870         return pointers, and to make it explicit that one function doesn't
42871         handle all cases.
42872
42873 2009-08-25  Bruno Haible  <bruno@clisp.org>
42874
42875         dup2: work around a Linux bug.
42876         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
42877         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
42878         * doc/posix-functions/dup2.texi: Mention the Linux bug.
42879         Reported by Simon Josefsson.
42880
42881 2009-08-25  Jim Meyering  <meyering@redhat.com>
42882
42883         libguestfs uses gnulib
42884         * users.txt: Add libguestfs.
42885
42886 2009-08-24  Eric Blake  <ebb9@byu.net>
42887
42888         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
42889         * lib/pipe2.c (includes): Add binary-io.h.
42890         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
42891
42892 2009-08-24  Bruno Haible  <bruno@clisp.org>
42893
42894         Tolerate declared but missing accept4 syscall.
42895         * lib/accept4.c (accept4): Invoke original accept4 function first, if
42896         available.
42897         * lib/sys_socket.in.h (accept4): If the function is already present,
42898         override it.
42899         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
42900         * modules/accept4 (Makefile.am): Compile accept4.c always.
42901         Reported by Paolo Bonzini and Eric Blake.
42902
42903 2009-08-23  Bruno Haible  <bruno@clisp.org>
42904
42905         New module 'accept4'.
42906         * lib/sys_socket.in.h (accept4): New declaration.
42907         * lib/accept4.c: New file.
42908         * m4/accept4.m4: New file.
42909         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
42910         GNULIB_ACCEPT4, HAVE_ACCEPT4.
42911         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
42912         HAVE_ACCEPT4.
42913         * modules/accept4: New file.
42914         * doc/glibc-functions/accept4.texi: Mention the new module.
42915
42916 2009-08-24  Jim Meyering  <meyering@redhat.com>
42917
42918         progname: also set global program_invocation_name, when possible
42919         Before this change, a libtool-enabled program that calls glibc's
42920         error function would report the program name as
42921         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
42922         * modules/progname (configure.ac): Check for a declaration of
42923         program_invocation_name.
42924         * lib/progname.c:  Include <errno.h>.
42925         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
42926         Set program_invocation_name.
42927
42928 2009-08-23  Bruno Haible  <bruno@clisp.org>
42929
42930         * lib/dup3.c: Include <string.h>.
42931
42932 2009-08-23  Bruno Haible  <bruno@clisp.org>
42933
42934         * lib/dup3.c (dup3): Test only once whether the system actually exists.
42935         * lib/pipe2.c (pipe2): Likewise.
42936         Suggested by Eric Blake.
42937
42938 2009-08-23  Bruno Haible  <bruno@clisp.org>
42939
42940         Tolerate declared but missing dup3 syscall.
42941         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
42942         * lib/unistd.in.h (dup3): If the function is already present,
42943         override it.
42944         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
42945         * modules/dup3 (Makefile.am): Compile dup3.c always.
42946         Reported by Paolo Bonzini.
42947
42948 2009-08-23  Bruno Haible  <bruno@clisp.org>
42949
42950         Tolerate declared but missing pipe2 syscall.
42951         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
42952         available.
42953         * lib/unistd.in.h (pipe2): If the function is already present,
42954         override it.
42955         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
42956         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
42957         Reported by Paolo Bonzini.
42958
42959 2009-08-23  Bruno Haible  <bruno@clisp.org>
42960
42961         * lib/pipe2.c (pipe2): Move #ifs inside function.
42962
42963 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42964
42965         quotearg: document limitations of quote_these_too
42966         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
42967         those limitations are created.
42968         * lib/quotearg.h (set_char_quoting): Document that digits and
42969         letters that are special after backslash are not permitted.
42970         (quotearg_char): Cross-reference set_char_quoting documentation.
42971
42972 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
42973
42974         quotearg: implement custom_quoting_style
42975         * lib/quotearg.c: (struct quoting_options): Add left_quote and
42976         right_quote fields.
42977         (set_custom_quoting): New public function.
42978         (quotearg_buffer_restyled): Add left_quote and right_quote
42979         arguments, handle them very much like locale quoting, and update
42980         all uses.
42981         (quotearg_n_custom): New public function.
42982         (quotearg_n_custom_mem): New public function.
42983         (quotearg_custom): New public function.
42984         (quotearg_custom_mem): New public function.
42985         * lib/quotearg.h: Prototype and document new public functions.
42986         (enum quoting_style): For escape_quoting_style and
42987         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
42988         ignored even though they're otherwise like c_quoting_style.
42989         Add custom_quoting_style member and document with comparison to
42990         clocale_quoting_style.
42991         * tests/test-quotearg.c (custom_quotes): New array.
42992         (custom_results): New array.
42993         (main): Extend to test custom quoting.
42994
42995 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
42996
42997         quotearg: fix right quote escaping when it's in quote_these_too
42998         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
42999         quote, be sure to prepend only one backslash.
43000         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43001         (main): Test it.
43002
43003 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43004
43005         quotearg-tests: test escaping of embedded locale quotes
43006         * tests/test-quotearg.c (struct result_strings): Add member for
43007         new input.
43008         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43009         (inputs): Add new input.
43010         (results_g): Add expected results.
43011         (flag_results): Likewise.
43012         (locale_results): Likewise.
43013         (compare_strings): Check those.
43014
43015 2009-08-23  Bruno Haible  <bruno@clisp.org>
43016
43017         Tests for module 'dup3'.
43018         * modules/dup3-tests: New file.
43019         * tests/test-dup3.c: New file.
43020
43021         New module 'dup3'.
43022         * lib/unistd.in.h (dup3): New declaration.
43023         * lib/dup3.c: New file.
43024         * m4/dup3.m4: New file.
43025         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43026         HAVE_DUP3.
43027         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43028         * modules/dup3: New file.
43029         * doc/glibc-functions/dup3.texi: Mention the new module.
43030
43031 2009-08-23  Bruno Haible  <bruno@clisp.org>
43032
43033         Tweak the dup2 test.
43034         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43035         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43036         the test file is still empty. Fix argument order of lseek.
43037
43038 2009-08-23  Bruno Haible  <bruno@clisp.org>
43039
43040         Avoid test link errors when the modules getopt-gnu, gettext are used.
43041         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43042         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43043
43044 2009-08-23  Bruno Haible  <bruno@clisp.org>
43045
43046         Fix getdtablesize() on mingw.
43047         * lib/getdtablesize.c (getdtablesize): Implement differently.
43048         * lib/unistd.in.h (getdtablesize): Improve comment.
43049
43050 2009-08-23  Bruno Haible  <bruno@clisp.org>
43051
43052         New module 'mkostemp'.
43053         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43054         * lib/stdlib.in.h (mksotemp): New declaration.
43055         * lib/mkostemp.c: New file, from glibc with modifications.
43056         * lib/tempname.h (GT_FILE): Remove outdated comment.
43057         (gen_tempname): Add flags argument.
43058         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43059         (__GT_FILE): Map to 1.
43060         (small_open, large_open): Remove macros.
43061         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43062         * lib/mkstemp.c (mkstemp): Update.
43063         * lib/mkdtemp.c (mkdtemp): Likewise.
43064         * m4/mkostemp.m4: New file.
43065         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43066         HAVE_MKOSTEMP.
43067         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43068         HAVE_MKOSTEMP.
43069         * modules/mkostemp: New file, based on modules/mkstemp.
43070         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43071         * NEWS: Mention the change.
43072
43073 2009-08-23  Bruno Haible  <bruno@clisp.org>
43074
43075         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43076         Reported by Eric Blake.
43077
43078 2009-08-23  Bruno Haible  <bruno@clisp.org>
43079
43080         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43081         Reported by Eric Blake.
43082
43083 2009-08-23  Bruno Haible  <bruno@clisp.org>
43084
43085         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43086         * modules/pipe2 (Depends-on): Likewise.
43087
43088 2009-08-23  Eric Blake  <ebb9@byu.net>
43089
43090         fcntl-h: add O_TTY_INIT support
43091         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43092         * tests/test-fcntl-h.c (o): Test it.
43093         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43094
43095         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43096         * modules/fcntl: Move <fcntl.h> header replacement...
43097         * modules/fcntl-h: ...to new name, so as not to collide with
43098         like-named function.
43099         * tests/test-fcntl.c: Rename...
43100         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43101         * modules/fcntl-tests: Rename...
43102         * modules/fcntl-h-tests: ...to this.  Update test file name.
43103         * modules/chdir-long (Depends-on): Update clients.
43104         * modules/chdir-safer (Depends-on): Likewise.
43105         * modules/fcntl-safer (Depends-on): Likewise.
43106         * modules/fts (Depends-on): Likewise.
43107         * modules/mkancesdirs (Depends-on): Likewise.
43108         * modules/mkdir-p (Depends-on): Likewise.
43109         * modules/open (Depends-on): Likewise.
43110         * modules/savewd (Depends-on): Likewise.
43111         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43112         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43113
43114 2009-08-22  Bruno Haible  <bruno@clisp.org>
43115
43116         * modules/binary-io (License): Relicense under LGPL.
43117         * modules/pipe2 (License): Likewise.
43118
43119 2009-08-22  Bruno Haible  <bruno@clisp.org>
43120
43121         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43122         return value.
43123         * lib/pipe-filter-gi.c (filter_init): Likewise.
43124         Reported by Eric Blake.
43125
43126 2009-08-22  Bruno Haible  <bruno@clisp.org>
43127
43128         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43129         * modules/pipe (Depends-on): Add pipe2.
43130
43131 2009-08-22  Bruno Haible  <bruno@clisp.org>
43132
43133         Tests for module 'pipe2'.
43134         * modules/pipe2-tests: New file.
43135         * tests/test-pipe2.c: New file.
43136
43137         New module 'pipe2'.
43138         * lib/unistd.in.h (pipe2): New declaration.
43139         * lib/pipe2.c: New file.
43140         * m4/pipe2.m4: New file.
43141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43142         HAVE_PIPE2.
43143         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43144         * modules/pipe2: New file.
43145         * doc/glibc-functions/pipe2.texi: Mention the new module.
43146
43147 2009-08-22  Bruno Haible  <bruno@clisp.org>
43148
43149         Reference some new glibc functions.
43150         * doc/glibc-functions/accept4.texi: New file.
43151         * doc/glibc-functions/dup3.texi: New file.
43152         * doc/glibc-functions/mkostemp.texi: New file.
43153         * doc/glibc-functions/pipe2.texi: New file.
43154         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43155         (Glibc sys/socket.h): Refer to accept4.
43156         (Glibc unistd.h): Refer to dup3, pipe2.
43157         Reported by Eric Blake.
43158
43159 2009-08-22  Jim Meyering  <meyering@redhat.com>
43160             Bruno Haible  <bruno@clisp.org>
43161
43162         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43163         This makes it so packages using automake-1.11's silent-rules option
43164         can print e.g., a single "GEN    configmake.h" line, rather than
43165         the 30+ statements that perform the job.  If you want to see the
43166         actual commands, you can still run "make V=1".
43167         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43168         so that make output is abbreviated when those variables are defined
43169         appropriately.
43170         * modules/argz: Likewise.
43171         * modules/arpa_inet: Likewise.
43172         * modules/byteswap: Likewise.
43173         * modules/configmake: Likewise.
43174         * modules/dirent: Likewise.
43175         * modules/errno: Likewise.
43176         * modules/fcntl: Likewise.
43177         * modules/float: Likewise.
43178         * modules/fnmatch: Likewise.
43179         * modules/getopt-posix: Likewise.
43180         * modules/glob: Likewise.
43181         * modules/iconv_open: Likewise.
43182         * modules/inttypes: Likewise.
43183         * modules/localcharset: Likewise.
43184         * modules/locale: Likewise.
43185         * modules/math: Likewise.
43186         * modules/netdb: Likewise.
43187         * modules/netinet_in: Likewise.
43188         * modules/poll: Likewise.
43189         * modules/posix_spawnp-tests: Likewise.
43190         * modules/sched: Likewise.
43191         * modules/search: Likewise.
43192         * modules/selinux-h: Likewise.
43193         * modules/signal: Likewise.
43194         * modules/spawn: Likewise.
43195         * modules/stdarg: Likewise.
43196         * modules/stdbool: Likewise.
43197         * modules/stddef: Likewise.
43198         * modules/stdint: Likewise.
43199         * modules/stdio: Likewise.
43200         * modules/stdlib: Likewise.
43201         * modules/string: Likewise.
43202         * modules/strings: Likewise.
43203         * modules/sys_file: Likewise.
43204         * modules/sys_ioctl: Likewise.
43205         * modules/sys_select: Likewise.
43206         * modules/sys_socket: Likewise.
43207         * modules/sys_stat: Likewise.
43208         * modules/sys_time: Likewise.
43209         * modules/sys_times: Likewise.
43210         * modules/sys_utsname: Likewise.
43211         * modules/sys_wait: Likewise.
43212         * modules/sysexits: Likewise.
43213         * modules/time: Likewise.
43214         * modules/unistd: Likewise.
43215         * modules/wchar: Likewise.
43216         * modules/wctype: Likewise.
43217
43218 2009-08-22  Jim Meyering  <meyering@redhat.com>
43219
43220         announce-gen: detect write failure
43221         * build-aux/announce-gen: Add Coda at end.
43222         Remove equivalent-but-more-verbose block at top.
43223
43224 2009-08-19  Akim Demaille  <demaille@gostai.com>
43225
43226         bootstrap: --help to stdout.
43227         * bootstrap (usage): Don't send --help to stderr.
43228         Use a here doc instead of a long string.
43229
43230 2009-08-21  Eric Blake  <ebb9@byu.net>
43231
43232         test-popen-safer: split from test-popen
43233         * tests/test-popen.c (main): Move...
43234         * tests/test-popen.h: ...into new file.
43235         * tests/test-popen-safer2.c: New file.
43236         * modules/popen-tests (Files): Add test-popen.h.
43237         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
43238         Suggested by Bruno Haible.
43239
43240         test-fcntl-safer: split from test-open
43241         * tests/test-open.c (main): Move...
43242         * tests/test-open.h: ...into new file.
43243         * tests/test-fcntl-safer.c: New file.
43244         * modules/open-tests (Files): Add test-open.h.
43245         * modules/fcntl-safer-tests: New file.
43246         Suggested by Bruno Haible.
43247
43248         test-fopen-safer: split from test-fopen
43249         * tests/test-fopen.c (main): Move...
43250         * tests/test-fopen.h: ...into new file.
43251         * tests/test-fopen-safer.c: New file.
43252         * modules/fopen-tests (Files): Add test-fopen.h.
43253         * modules/fopen-safer-tests: New file.
43254         Suggested by Bruno Haible.
43255
43256 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43257
43258         popen-safer: test O_CLOEXEC at run-time.
43259         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
43260
43261 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
43262
43263         fcntl: move more flags to the header
43264         * lib/cloexec.c: Do not define FD_CLOEXEC here.
43265         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
43266         * lib/fcntl.in.h: Do both things here.
43267
43268 2009-08-21  Jim Meyering  <meyering@redhat.com>
43269
43270         consistently remove $@-t before redirecting to it
43271         * modules/argz: Remove $@-t and $@ before redirecting to the former.
43272         * modules/alloca-opt: Likewise.
43273         * modules/byteswap: Likewise.
43274         * modules/fnmatch: Likewise.
43275         * modules/getopt-posix: Likewise.
43276         * modules/glob: Likewise.
43277         * modules/poll: Likewise.
43278         * modules/posix_spawnp-tests: Likewise.
43279         * modules/sys_socket: Likewise.
43280         * modules/sysexits: Likewise.
43281
43282 2009-08-21  Eric Blake  <ebb9@byu.net>
43283
43284         popen: simplify access to original popen
43285         * lib/popen.c (rpl_popen): No need to worry about popen being a
43286         macro.
43287         Reported by Bruno Haible.
43288
43289 2009-08-20  Eric Blake  <ebb9@byu.net>
43290
43291         build: avoid some compiler warnings
43292         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
43293         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
43294         type.
43295         (new_exclude_segment, excluded_file_pattern_p)
43296         (excluded_file_name_p): Reduce scope.
43297         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
43298         old-style declaration.
43299
43300 2009-08-20  Simon Josefsson  <simon@josefsson.org>
43301
43302         * tests/test-exclude1.sh: Handle Windows EOL.
43303         * tests/test-exclude2.sh: Likewise.
43304         * tests/test-exclude3.sh: Likewise.
43305         * tests/test-exclude4.sh: Likewise.
43306         * tests/test-exclude5.sh: Likewise.
43307         * tests/test-exclude6.sh: Likewise.
43308         * tests/test-exclude7.sh: Likewise.
43309
43310 2009-08-19  Akim Demaille  <demaille@gostai.com>
43311
43312         bootstrap: find sha1sum when named gsha1sum.
43313         * bootstrap (find_tool): New.
43314         ($SHA1SUM): New.
43315         Use it.
43316
43317 2009-08-20  Jim Meyering  <meyering@redhat.com>
43318
43319         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
43320         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
43321         expression that converts "." in a file name to "\." in the resulting
43322         regexp.  Start with a dummy statement, so that prior shell variable
43323         definitions are expanded portably.  Reported by Simon Josefsson.
43324
43325 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
43326
43327         Fix polling for writeability of a screen buffer.
43328         * lib/poll.c: Distinguish input and screen buffers for the
43329         Win32 implementation.
43330         * lib/select.c: Likewise.
43331
43332 2009-08-19  Eric Blake  <ebb9@byu.net>
43333
43334         popen-safer: prevent popen from clobbering std descriptors
43335         * modules/popen-safer: New file.
43336         * lib/popen-safer.c: Likewise.
43337         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
43338         * lib/stdio--.h (popen): Provide override.
43339         * lib/stdio-safer.h (popen_safer): Provide declaration.
43340         * tests/test-popen.c (includes): Partially test this.
43341         * modules/popen-safer-tests: New file, for more tests.
43342         * tests/test-popen-safer.c: Likewise.
43343         * MODULES.html.sh (file stream based Input/Output): Mention it.
43344
43345         tests: test some of the *-safer modules
43346         * modules/fopen-safer (Depends-on): Add fopen.
43347         * modules/fcntl-safer (Depends-on): Add fcntl.
43348         * modules/stdlib-safer (Depends-on): Add stdlib.
43349         (configure.ac): Set indicator.
43350         * modules/unistd-safer (configure.ac): Likewise.
43351         * modules/tmpfile-safer (configure.ac): Likewise.
43352         (Depends-on): Add tmpfile.
43353         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
43354         active.
43355         * tests/test-fopen.c (includes): Test safer versions when they are
43356         in use.
43357         * tests/test-open.c (includes): Likewise.
43358
43359         popen: fix cygwin 1.5 bug when stdin closed
43360         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
43361         * modules/popen: New file.
43362         * modules/popen-tests: Likewise.
43363         * tests/test-popen.c: Likewise.
43364         * m4/popen.m4: Likewise.
43365         * lib/popen.c: Likewise.
43366         * lib/stdio.in.h (popen): New declaration.
43367         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
43368         * modules/stdio (Makefile.am): Likewise.
43369         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
43370
43371 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
43372
43373         maint.mk: give full control over update-copyright exclusions
43374         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
43375         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
43376         (update-copyright): Don't force inclusion of top-level
43377         ChangeLog.  Don't force exclusion of all COPYING files, but make
43378         them the default exclusion instead.
43379
43380 2009-08-16  Bruno Haible  <bruno@clisp.org>
43381
43382         Fix test failures on Solaris 10.
43383         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
43384         tests when Solaris iconv() is used.
43385         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
43386         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
43387         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
43388         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
43389         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
43390
43391 2009-08-16  Bruno Haible  <bruno@clisp.org>
43392
43393         Fix test failures on Solaris 10.
43394         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
43395         'tr' program and pass it as first argument.
43396         * tests/test-pipe-filter-gi1.sh: Likewise.
43397         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
43398         program as first argument.
43399         * tests/test-pipe-filter-gi1.c (main): Likewise.
43400
43401 2009-08-16  Eric Blake  <ebb9@byu.net>
43402
43403         fpurge: fix previous commits
43404         * modules/fpurge (Makefile.am): Make replacement conditional,
43405         partially reverting 2007-04-29 change; missed in previous
43406         attempt.
43407         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
43408         is missing.
43409
43410 2009-08-16  Bruno Haible  <bruno@clisp.org>
43411
43412         Clarify fpurge's effect on the file position.
43413         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
43414         * tests/test-fpurge.c (main): Make a second pass for checking the file
43415         position.
43416
43417 2009-08-16  Bruno Haible  <bruno@clisp.org>
43418
43419         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
43420         declaration of fpurge is missing.
43421         * tests/test-fpurge.c (main): Check that the file has not more contents
43422         than expected. Close the file before removing it.
43423
43424 2009-08-15  Eric Blake  <ebb9@byu.net>
43425
43426         fpurge: don't wrap working cygwin implementation
43427         * lib/fpurge.c (fpurge): Fix comment typo.
43428         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
43429         1.7 to avoid replacement.
43430         * tests/test-fpurge.c (main): Enhance test.
43431
43432 2009-08-15  Eric Blake  <ebb9@byu.net>
43433         and Jim Meyering  <meyering@redhat.com>
43434
43435         test-update-copyright: skip if perl is insufficient
43436         * tests/test-update-copyright.sh: Failure to run maintainer tool
43437         should not cause testsuite failure on cygwin 1.5.
43438
43439 2009-08-14  Eric Blake  <ebb9@byu.net>
43440
43441         doc: mention more functions added in cygwin 1.7.0
43442         * doc/posix-headers/limits.texi (limits.h): Update for recent
43443         cygwin additions.
43444         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
43445         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
43446         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
43447         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
43448         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
43449
43450 2009-08-14  Eric Blake  <ebb9@byu.net>
43451
43452         maint.mk: simplify update-copyright rule
43453         * top/maint.mk (update-copyright-local): Delete, and document how
43454         to do it in cfg.mk instead.
43455         (update-copyright-exclude-regexp): Delete, and document how to do
43456         it in .x-update-copyright instead.
43457         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
43458         exclude ChangeLog.
43459
43460 2009-08-14  Bruno Haible  <bruno@clisp.org>
43461
43462         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
43463
43464 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43465
43466         maint.mk: support update-copyright-env
43467         * top/maint.mk (update-copyright-env): Define place-holder.
43468         (update-copyright): Expand $(update-copyright-env) before
43469         invoking update-copyright.
43470
43471 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43472
43473         update-copyright: implement forced reformatting
43474         * build-aux/update-copyright: Implement and document
43475         UPDATE_COPYRIGHT_FORCE.
43476         * tests/test-update-copyright.sh: Test it.
43477
43478 2009-08-14  Eric Blake  <ebb9@byu.net>
43479         and Bruno Haible  <bruno@clisp.org>
43480
43481         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
43482         * tests/test-locale.c: Revert previous patch related to NULL.
43483         * tests/test-stdio.c: Likewise.
43484         * tests/test-stdlib.c: Likewise.
43485         * tests/test-string.c: Likewise.
43486         * tests/test-unistd.c: Likewise.
43487         * modules/time-tests (Depends-on): Add verify.
43488         * modules/wchar-tests (Depends-on): Likewise.
43489         * tests/test-time.c: Test for NULL compliance.
43490         * tests/test-wchar.c: Likewise.
43491         * modules/locale (Depends-on): Add stddef.
43492         * modules/stdio (Depends-on): Likewise.
43493         * modules/stdlib (Depends-on): Likewise.
43494         * modules/string (Depends-on): Likewise.
43495         * modules/time (Depends-on): Likewise.
43496         * modules/unistd (Depends-on): Likewise.
43497         * modules/wchar (Depends-on): Likewise.
43498         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
43499         * lib/stdlib.in.h (includes): Likewise.
43500         * lib/string.in.h (includes): Likewise.
43501         * lib/time.in.h (includes): Likewise.
43502         * lib/unistd.in.h (includes): Likewise.
43503         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
43504         replaced.
43505         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
43506         * m4/stddef_h.m4: New file.
43507         * modules/stddef: Likewise.
43508         * lib/stddef.in.h: Likewise.
43509         * modules/stddef-tests: Likewise.
43510         * tests/test-stddef.c: Likewise.
43511         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
43512         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
43513         * doc/posix-headers/locale.texi (locale.h): Likewise.
43514         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
43515         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43516         * doc/posix-headers/string.texi (string.h): Likewise.
43517         * doc/posix-headers/time.texi (time.h): Likewise.
43518         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
43519         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
43520
43521 2009-08-14  Eric Blake  <ebb9@byu.net>
43522
43523         doc: improve git diff of texinfo files
43524         * .gitattributes: Add rule for *.texi files, with hint on how to
43525         use it.
43526         Copied from m4, and based on a report by Bruno Haible.
43527
43528 2009-08-14  Bruno Haible  <bruno@clisp.org>
43529
43530         Disable multithread support by default on Cygwin 1.5.x for real.
43531         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
43532
43533 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
43534
43535         update-copyright: much ado about intervals
43536         * build-aux/update-copyright: Implement and document
43537         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
43538         of copyright year intervals.
43539         Also, document UPDATE_COPYRIGHT_YEAR.
43540         * tests/test-update-copyright.sh: Test it.
43541
43542         update-copyright: convert 2-digit to 4-digit years
43543         * build-aux/update-copyright: Implement and document.
43544         * tests/test-update-copyright.sh: Update.
43545
43546 2009-08-14  Jim Meyering  <meyering@redhat.com>
43547
43548         test-exclude: avoid coreutils "make check" failure
43549         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
43550         just as in test-argmatch.c.
43551
43552 2009-08-13  Eric Blake  <ebb9@byu.net>
43553
43554         test-dup2: fix bad assumption
43555         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
43556         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
43557
43558         test-version-etc: fix CRLF portability issue
43559         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
43560         recognize \r.
43561         * tests/test-argp-version-etc-1.sh: Likewise.
43562
43563         getopt: update client modules
43564         * modules/argp (Depends-on): Use getopt-gnu.
43565         * modules/git-merge-changelog (Depends-on): Likewise.
43566         * modules/long-options (Depends-on): Likewise.
43567         * modules/xstrtol (Depends-on): Likewise.
43568
43569 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43570
43571         * tests/test-version-etc.sh: Don't fail on different
43572         project/version.  Don't fail on CRLF differences.  Rewrite to use
43573         multiple -e instead of multiple sed forks, suggested by Eric Blake
43574         <ebb9@byu.net>.
43575         * tests/test-argp-version-etc-1.sh: Likewise.
43576
43577 2009-08-13  Simon Josefsson  <simon@josefsson.org>
43578
43579         * tests/test-version-etc.sh: Don't fail on different
43580         project/version.
43581
43582 2009-08-12  Bruno Haible  <bruno@clisp.org>
43583
43584         Tests for modules 'getopt-posix', 'getopt-gnu'.
43585         * modules/getopt-posix-tests: New file.
43586         * tests/test-getopt.c: New file.
43587         * tests/test-getopt.h: New file.
43588         * tests/test-getopt_long.h: New file.
43589
43590         New modules 'getopt-posix', 'getopt-gnu'.
43591         * modules/getopt-gnu: New file, renamed from modules/getopt.
43592         * modules/getopt-posix: New file.
43593         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
43594         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
43595         (gl_GETOPT): Remove macro.
43596         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
43597         Disable the test against BSD systems that declare optreset. Test
43598         against mingw bug. Test against lack of support of optional arguments
43599         on many platforms.
43600         * doc/glibc-headers/getopt.texi: Update module name and list of
43601         relevant platforms.
43602         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
43603         'getopt-gnu' and more portability problems.
43604         * NEWS: Mention the changes.
43605
43606 2009-08-12  Bruno Haible  <bruno@clisp.org>
43607
43608         Ensure that optarg etc. get declared by <unistd.h>.
43609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
43610         AC_USE_SYSTEM_EXTENSIONS.
43611         * modules/getopt (Depends-on): Add 'extensions'.
43612
43613 2009-08-12  Bruno Haible  <bruno@clisp.org>
43614
43615         Avoid test link errors.
43616         * modules/pipe-filter-ii-tests (Makefile.am): Define
43617         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
43618         * modules/pipe-filter-gi-tests (Makefile.am): Define
43619         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
43620         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43621
43622 2009-08-12  Bruno Haible  <bruno@clisp.org>
43623
43624         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
43625         gl_GETOPT_SUBSTITUTE before.
43626         (gl_GETOPT): Use it.
43627         * m4/argp.m4 (gl_ARGP): Update.
43628         Reported by Sergey Poznyakoff.
43629
43630         * m4/getopt.m4: Reorder macros.
43631         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
43632         (gl_GETOPT_SUBSTITUTE): Remove macro.
43633
43634 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43635
43636         Minor improvement in gitlog-to-changelog
43637
43638         * build-aux/gitlog-to-changelog: New option `--format' makes
43639         output format string configurable.
43640
43641 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43642
43643         Optimize exclude: use hash tables for non-wildcard patterns.
43644
43645         * lib/exclude.c: Include hash.h and mbuiter.h
43646         (struct exclude_pattern, exclude_segment): New data types.
43647         (struct exclude): Rewrite.
43648         (fnmatch_pattern_has_wildcards): New function.
43649         (new_exclude_segment, free_exclude_segment): New functions.
43650         (excluded_file_pattern_p, excluded_file_name_p): New functions.
43651         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
43652         * lib/exclude.h (is_fnmatch_pattern): New prototype.
43653         * modules/exclude: Depend on hash and mbuiter.
43654
43655         * modules/exclude-tests: New file.
43656         * tests/test-exclude.c: New file.
43657         * tests/test-exclude1.sh: New file.
43658         * tests/test-exclude2.sh: New file.
43659         * tests/test-exclude3.sh: New file.
43660         * tests/test-exclude4.sh: New file.
43661         * tests/test-exclude5.sh: New file.
43662         * tests/test-exclude6.sh: New file.
43663         * tests/test-exclude7.sh: New file.
43664
43665 2009-08-12  Bruno Haible  <bruno@clisp.org>
43666
43667         Ensure that getopt() gets declared by <unistd.h>.
43668         * lib/unistd.in.h: Conditionally include getopt.h.
43669         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
43670         Set GNULIB_UNISTD_H_GETOPT.
43671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43672         GNULIB_UNISTD_H_GETOPT.
43673         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
43674
43675 2009-08-12  Bruno Haible  <bruno@clisp.org>
43676
43677         Clarify logic.
43678         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
43679         gl_replace_getopt instead of GETOPT_H.
43680
43681 2009-08-12  Bruno Haible  <bruno@clisp.org>
43682
43683         * m4/getopt.m4: Add comments.
43684
43685 2009-08-12  Bruno Haible  <bruno@clisp.org>
43686
43687         Disable multithread support by default on Cygwin 1.5.x.
43688         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
43689         set gl_use_threads=no if not specified otherwise.
43690
43691 2009-08-11  Bruno Haible  <bruno@clisp.org>
43692
43693         Avoid compilation error on NetBSD 5.0.
43694         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
43695         * tests/test-stdio.c: Likewise.
43696         * tests/test-stdlib.c: Likewise.
43697         * tests/test-string.c: Likewise.
43698         * tests/test-unistd.c: Likewise.
43699         Reported by Greg Troxel <gdt@ir.bbn.com>
43700         at <https://savannah.gnu.org/support/?106973>.
43701
43702 2009-08-11  Bruno Haible  <bruno@clisp.org>
43703
43704         * modules/dup2-tests (Depends-on): Remove close.
43705
43706         Undo 2009-07-19 commit.
43707         * modules/acl-tests (Depends-on): Remove close.
43708         * modules/binary-io-tests (Depends-on): Likewise.
43709         * modules/closein-tests (Depends-on): Likewise.
43710         * modules/flock-tests (Depends-on): Likewise.
43711         * modules/fsync-tests (Depends-on): Likewise.
43712         * modules/lseek-tests (Depends-on): Likewise.
43713         * modules/pipe-tests (Depends-on): Likewise.
43714         * modules/posix_spawn-tests (Depends-on): Likewise.
43715         * modules/posix_spawnp-tests (Depends-on): Likewise.
43716         * modules/stat-time-tests (Depends-on): Likewise.
43717         * modules/yesno-tests (Depends-on): Likewise.
43718
43719 2009-08-10  Bruno Haible  <bruno@clisp.org>
43720
43721         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
43722
43723 2009-08-10  Bruno Haible  <bruno@clisp.org>
43724
43725         Fix a gcc warning.
43726         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
43727
43728 2009-08-10  Bruno Haible  <bruno@clisp.org>
43729
43730         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
43731         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
43732         not only the first time.
43733         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
43734         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
43735         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
43736         is 1, not only the the first time.
43737
43738 2009-08-10  Bruno Haible  <bruno@clisp.org>
43739
43740         Make it possible to use module 'gethostname' without module 'close'.
43741         * lib/unistd.in.h (close): Evoke a link error only if
43742         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43744         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43745         * modules/unistd (Makefile.am): Substitute
43746         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43747         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
43748         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
43749         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
43750         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43751         * modules/sys_ioctl (Makefile.am): Substitute
43752         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43753         * modules/socket (configure.ac): On native Windows, set
43754         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
43755         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
43756         Reported by Sam Steingold <sds@gnu.org>.
43757
43758 2009-08-10  Bruno Haible  <bruno@clisp.org>
43759
43760         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
43761         * modules/ioctl (configure.ac): Likewise.
43762
43763 2009-08-10  Bruno Haible  <bruno@clisp.org>
43764
43765         Avoid collision between gnulib wrapper and libintl wrapper.
43766         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
43767         already defined in intl/printf.c.
43768         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
43769         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
43770
43771 2009-08-09  Bruno Haible  <bruno@clisp.org>
43772
43773         Make <sys/select.h> really self-contained, also on Solaris 10.
43774         * lib/sys_select.in.h: Include <string.h>.
43775         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
43776         Solaris 10 problem.
43777         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
43778         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
43779         Reported by Jim Meyering.
43780
43781 2009-08-09  Bruno Haible  <bruno@clisp.org>
43782
43783         Avoid warnings from 'aclocal' that are due to a use of macro name
43784         AM_XGETTEXT_OPTION that is not defined in automake.
43785         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
43786         automake.
43787         * modules/error (configure.ac): Likewise.
43788         * modules/propername (configure.ac): Likewise.
43789         * modules/vasprintf (configure.ac): Likewise.
43790         * modules/verror (configure.ac): Likewise.
43791         * modules/xprintf (configure.ac): Likewise.
43792         * modules/xvasprintf (configure.ac): Likewise.
43793
43794 2009-08-08  Bruno Haible  <bruno@clisp.org>
43795
43796         Avoid compilation error in C++ mode.
43797         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
43798         Reported by Sam Steingold <sds@gnu.org>.
43799
43800 2009-08-08  Bruno Haible  <bruno@clisp.org>
43801
43802         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
43803         for the various Unix platforms.
43804         * doc/posix-headers/limits.texi: Update platforms list regarding
43805         HOST_NAME_MAX.
43806         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43807
43808 2009-08-07  Jim Meyering  <meyering@redhat.com>
43809
43810         selinux-at: fix typo in a comment
43811         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
43812         Spotted by Paolo Bonzini.
43813
43814         selinux-at: remove redundant m4 code, add documentation
43815         * modules/selinux-at (configure.ac): Remove redundant code.
43816         LIB_SELINUX is already set via the dependent module, selinux-h.
43817         (Include): Add quotes around selinux-at.h.
43818         * lib/selinux-at.h: Add documentation.
43819         Reported by Bruno Haible in
43820         http://marc.info/?l=gnulib-bug&m=124958988300749
43821
43822 2009-08-07  Bruno Haible  <bruno@clisp.org>
43823
43824         Avoid link error on MacOS X 10.3 and 10.4.
43825         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
43826         on non-ELF systems.
43827         * lib/argp-pv.c (argp_program_version): Likewise.
43828         Reported by Simon Josefsson.
43829
43830 2009-08-07  Simon Josefsson  <simon@josefsson.org>
43831
43832         * tests/test-version-etc.sh: Use $EXEEXT.
43833
43834 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
43835
43836         update-copyright: update documentation to point to maint.mk
43837         * build-aux/update-copyright: Here.
43838
43839 2009-08-06  Jim Meyering  <meyering@redhat.com>
43840
43841         maint.mk: support update-copyright-local
43842         * top/maint.mk (update-copyright-local): Define place-holder.
43843         (update-copyright): Depend on $(update-copyright-local).
43844
43845 2009-08-06  Jim Meyering  <meyering@redhat.com>
43846
43847         selinux-at: new module
43848         Initially written for coreutils, this module will soon be
43849         used by findutils, too.
43850         * MODULES.html.sh [Misc]: Add selinux-at.
43851         * lib/selinux-at.h: New file, from coreutils.
43852         * lib/selinux-at.c: Likewise.
43853         * modules/selinux-at: Likewise.
43854         (License): Change from LGPL to GPL, since it depends
43855         on the GPL'd openat module.
43856
43857         doc: update README
43858         * README: Remove references to cogito.
43859         Remove cvs-repo-updating instructions from 2007.
43860         Don't imply that CVS is better if you have limited disk space.
43861
43862 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43863
43864         update-copyright: support C-style comments
43865         * build-aux/update-copyright: Implement and document.
43866         * tests/test-update-copyright.sh: Test.
43867
43868 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43869
43870         update-copyright: support omitted "(C)"
43871         * build-aux/update-copyright: Implement and document.  Also,
43872         allow variable whitespace before "(C)".
43873         * tests/test-update-copyright.sh: Test.
43874
43875 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43876
43877         update-copyright: don't trip on non-FSF copyright statements
43878         * build-aux/update-copyright: Fix so that the first correctly
43879         formatted FSF copyright statement is recognized no matter what
43880         appears before it.  Update documentation.
43881         * tests/test-update-copyright.sh: Test that.
43882
43883 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43884
43885         update-copyright: clean up code a little
43886         * build-aux/update-copyright: Append "_re" to the name of any
43887         variable holding a regular expression.
43888         Replace "old" and "new" with "stmt" in variable names.
43889         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
43890         handled correctly.
43891         Format code more consistently.
43892
43893 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
43894
43895         update-copyright-tests: improve portability
43896         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
43897         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
43898
43899 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43900
43901         update-copyright: support @copyright{} and &copy;
43902         * build-aux/update-copyright: Implement and document.
43903         * tests/test-update-copyright.sh: Test.
43904
43905 2009-08-04  Jim Meyering  <meyering@redhat.com>
43906
43907         update-copyright-tests: correctly test EOL=\r\n handling
43908         * tests/test-update-copyright.sh: Put \r at the end of some lines
43909         for the dos-eol tests.  Based on a patch by Joel E. Denny.
43910
43911         maint.mk: make update-copyright exclusion list more configurable
43912         * top/maint.mk (update-copyright): Default to excluding COPYING,
43913         but allow an override, in case someone does want to update that file.
43914
43915         maint.mk: don't update copyright date in COPYING
43916         * top/maint.mk (update-copyright): Exclude COPYING.
43917
43918         maint.mk: add a copyright-updating rule
43919         * top/maint.mk (update-copyright): New rule.
43920         Derived from coreutils/Makefile.am.
43921
43922         update-copyright: rename some variables
43923         * build-aux/update-copyright: Rename a few variables for clarity.
43924         Tweak syntax.  List Joel E. Denny as coauthor.
43925
43926 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
43927
43928         update-copyright: fix bug for 2-digit last year and add tests
43929         * build-aux/update-copyright: Fix bug.
43930         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
43931         specified.
43932         * modules/update-copyright-tests: New
43933         * tests/test-update-copyright.sh: New.
43934
43935 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43936
43937         update-copyright: handle leading tabs in line prefix
43938         * build-aux/update-copyright: Count leading tabs as 8 spaces
43939         when computing margin.  This helps with the formatting of
43940         ChangeLogs, for example.
43941         Fix documentation a little.
43942
43943 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43944
43945         update-copyright: support EOL=\r\n
43946         * build-aux/update-copyright: Implement that.
43947
43948 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
43949
43950         update-copyright: automatically format copyright statements
43951         * build-aux/update-copyright: Implement that.
43952         Also, be a little more predictable and safer by always failing
43953         when the full copyright format is not perfectly recognized as an
43954         unbroken whole.  Discussed at
43955         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
43956         Rewrite documentation.
43957
43958 2009-08-03  Bruno Haible  <bruno@clisp.org>
43959
43960         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
43961
43962 2009-08-02  Bruno Haible  <bruno@clisp.org>
43963
43964         Tests for module 'uname'.
43965         * modules/uname-tests: New file.
43966         * tests/test-uname.c: New file.
43967
43968         New module 'uname'.
43969         * lib/uname.c: New file.
43970         * m4/uname.m4: New file.
43971         * modules/uname: New file.
43972         * doc/posix-functions/uname.texi: Mention the new module.
43973
43974 2009-08-02  Bruno Haible  <bruno@clisp.org>
43975
43976         Tests for module 'sys_utsname'.
43977         * modules/sys_utsname-tests: New file.
43978         * tests/test-sys_utsname.c: New file.
43979
43980         New module 'sys_utsname'.
43981         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
43982         * m4/sys_utsname_h.m4: New file.
43983         * modules/sys_utsname: New file.
43984         * doc/posix-headers/sys_utsname.texi: Mention the new module.
43985
43986 2009-08-02  Bruno Haible  <bruno@clisp.org>
43987
43988         Implicitly initialize the sockets library.
43989         * lib/gethostname.c: Include sockets.h.
43990         (rpl_gethostname): Invoke gl_sockets_startup.
43991         * lib/socket.c: Include sockets.h.
43992         (rpl_socket): Invoke gl_sockets_startup.
43993         * modules/gethostname (Depends-on): Add sockets.
43994         * modules/socket (Depends-on): Likewise.
43995         * tests/test-poll.c: Don't include sockets.h.
43996         (main): Don't invoke gl_sockets_startup.
43997         * tests/test-select.c: Don't include sockets.h.
43998         (main): Don't invoke gl_sockets_startup.
43999
44000 2009-08-02  Bruno Haible  <bruno@clisp.org>
44001
44002         Allow multiple calls to gl_sockets_startup.
44003         * lib/sockets.c (initialized_sockets_version): New variable.
44004         (gl_sockets_startup): Do nothing if already called for this or a higher
44005         version.
44006         (gl_sockets_cleanup): Reset initialized_sockets_version.
44007
44008 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44009
44010         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44011         different project/version.
44012
44013 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44014             Bruno Haible  <bruno@clisp.org>
44015
44016         Tests for module 'pipe-filter-gi'.
44017         * modules/pipe-filter-gi-tests: New file.
44018         * tests/test-pipe-filter-gi1.sh: New file.
44019         * tests/test-pipe-filter-gi1.c: New file.
44020         * tests/test-pipe-filter-gi2.sh: New file.
44021         * tests/test-pipe-filter-gi2-main.c: New file.
44022         * tests/test-pipe-filter-gi2-child.c: New file.
44023
44024         New module 'pipe-filter-gi'.
44025         * lib/pipe-filter-gi.c: New file.
44026         * modules/pipe-filter-gi: New file.
44027
44028 2009-08-02  Bruno Haible  <bruno@clisp.org>
44029             Paolo Bonzini  <bonzini@gnu.org>
44030
44031         Tests for module 'pipe-filter-ii'.
44032         * modules/pipe-filter-ii-tests: New file.
44033         * tests/test-pipe-filter-ii1.sh: New file.
44034         * tests/test-pipe-filter-ii1.c: New file.
44035         * tests/test-pipe-filter-ii2.sh: New file.
44036         * tests/test-pipe-filter-ii2-main.c: New file.
44037         * tests/test-pipe-filter-ii2-child.c: New file.
44038
44039         New module 'pipe-filter-ii'.
44040         * lib/pipe-filter.h: New file.
44041         * lib/pipe-filter-ii.c: New file.
44042         * lib/pipe-filter-aux.h: New file.
44043         * modules/pipe-filter-ii: New file.
44044
44045 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44046
44047         * lib/gc-libgcrypt.c: Change copyright to FSF.
44048         * lib/gc-gnulib.c: Likewise.
44049
44050 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44051
44052         * lib/gethostname.c: Include limits.h.
44053
44054 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44055             Bruno Haible  <bruno@clisp.org>
44056
44057         Ensure HOST_NAME_MAX as part of the gethostname module.
44058         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44059         define also HOST_NAME_MAX.
44060         * tests/test-gethostname.c: Include <limits.h>.
44061         (main): Check also HOST_NAME_MAX.
44062         * doc/posix-headers/limits.texi: Document the mingw problem.
44063
44064 2009-08-02  Bruno Haible  <bruno@clisp.org>
44065
44066         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44067         Add comments.
44068
44069 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44070
44071         * lib/gethostname.c: Add Windows wrapper.
44072         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44073         * modules/gethostname: Depend on sys_socket & errno, for also
44074         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44075         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44076
44077 2009-07-31  Jim Meyering  <meyering@redhat.com>
44078
44079         getloadavg: fix symbol name in comment
44080         * lib/getloadavg.c: Correct a typo I introduced when adding
44081         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44082         Matt Kraai spotted the problem.
44083
44084 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44085
44086         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44087         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44088         code also if ! defined N_NAME_POINTER.
44089         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44090         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44091         but the n_name member is a 12-byte array.
44092
44093 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44094
44095         update-copyright: generalize comment handling
44096         * build-aux/update-copyright: Handle copyright statements
44097         within more comment styles.
44098         Document usage.
44099         Report any file with an external copyright holder or parse failure.
44100
44101 2009-07-29  Jim Meyering  <meyering@redhat.com>
44102
44103         mktime: correct setting of REPLACE_MKTIME
44104         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44105
44106         update-copyright: new module
44107         * modules/update-copyright: New file.
44108         * build-aux/update-copyright: New file.
44109         * MODULES.html.sh (maint+release support): Add update-copyright.
44110
44111 2009-07-27  Bruno Haible  <bruno@clisp.org>
44112
44113         Fix compilation error when <ctime> is used and mktime is replaced.
44114         * lib/time.in.h (mktime): New declaration.
44115         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44116         REPLACE_MKTIME instead of defining mktime in config.h.
44117         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44118         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44119         Reported by Ross McFarland <rwmcfa1@neces.com>.
44120
44121 2009-07-27  Bruno Haible  <bruno@clisp.org>
44122
44123         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44124         Reported by Matt Kraai <mkraai@beckman.com>.
44125
44126 2009-07-25  Jim Meyering  <meyering@redhat.com>
44127
44128         maint.mk: avoid warnings about missing files
44129         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44130         diagnostic when .prev-version does not exist.
44131         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44132         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44133         nonexistent cfg.mk.
44134         Suggestions from Simon Josefsson.
44135
44136 2009-07-25  Bruno Haible  <bruno@clisp.org>
44137
44138         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44139         defined as macros. Needed on QNX 6.4.1.
44140         Reported by Matt Kraai <mkraai@beckman.com>.
44141
44142 2009-07-23  Jim Meyering  <meyering@redhat.com>
44143
44144         maint.mk: invoke "make dist" with a working value of XZ_OPT
44145         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44146
44147 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44148
44149         Make fseeko.c compile on QNX.
44150         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44151
44152 2009-07-22  Peter Simons  <simons@cryp.to>
44153
44154         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44155         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44156         * lib/md4.h: Likewise.
44157         * lib/md5.h: Likewise.
44158         * lib/sha1.h: Likewise.
44159         * lib/sha256.h: Likewise.
44160         * lib/sha512.h: Likewise.
44161
44162         tests-sha1: don't assign literal string to 'char *' variable
44163         * tests/test-sha1.c (main): Declare locals with "const" to match
44164         attributes of the right hand side.
44165
44166 2009-07-21  Eric Blake  <ebb9@byu.net>
44167
44168         dup2: fix more mingw problems
44169         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44170         fd to itself.
44171         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44172         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
44173         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
44174         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
44175         care of mingw bugs.
44176
44177 2009-07-21  Jim Meyering  <meyering@redhat.com>
44178
44179         vc-list-files: avoid failure when /bin/sh is dash
44180         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
44181         On some Debian based systems, /bin/sh is a symlink to dash, and running
44182         this command would omit the "/" following each 'tests' prefix:
44183           dash -x build-aux/vc-list-files -C . tests
44184         That is because bash and dash work differently:
44185           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
44186           bash ok
44187           dash odd
44188
44189 2009-07-21  Eric Blake  <ebb9@byu.net>
44190
44191         dup2-tests: test previous patch
44192         * modules/dup2-tests: New file.
44193         * tests/test-dup2.c: Likewise.
44194         * tests/test-open.c (main): Avoid unspecified behavior.
44195         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
44196         test.
44197
44198         dup2: work around mingw and cygwin 1.5 bug
44199         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
44200         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44201         * modules/unistd (Makefile.am): Substitute it.
44202         * lib/unistd.in.h (dup2): Declare the replacement.
44203         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
44204         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
44205         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
44206         * modules/execute (Depends-on): Add dup2.
44207         * modules/fseterr (Depends-on): Likewise.
44208         * modules/pipe (Depends-on): Likewise.
44209         * modules/posix_spawn-internal (Depends-on): Likewise.
44210
44211 2009-07-21  Bruno Haible  <bruno@clisp.org>
44212
44213         * modules/.gitattributes: New file.
44214
44215 2009-07-20  Bruno Haible  <bruno@clisp.org>
44216
44217         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
44218         (main): Use it.
44219
44220 2009-07-20  Eric Blake  <ebb9@byu.net>
44221
44222         test-pipe: make a bit more robust.
44223         * tests/test-pipe.c (myerr): Allow error messages regardless of
44224         what we do to stderr.
44225         (test_pipe): Rearrange to avoid deadlock.
44226         (child_main): Try a larger read, to ensure we avoided deadlock.
44227         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
44228         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
44229         if misused.
44230
44231 2009-07-19  Jim Meyering  <meyering@redhat.com>
44232
44233         fts: avoid false-positive cycle-detection
44234         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
44235         for each new command line argument.
44236
44237 2009-07-19  Bruno Haible  <bruno@clisp.org>
44238
44239         Fix build error on mingw with the modules sys_select and unistd.
44240         * modules/acl-tests (Depends-on): Add close.
44241         * modules/binary-io-tests (Depends-on): Likewise.
44242         * modules/closein-tests (Depends-on): Likewise.
44243         * modules/flock-tests (Depends-on): Likewise.
44244         * modules/fsync-tests (Depends-on): Likewise.
44245         * modules/lseek-tests (Depends-on): Likewise.
44246         * modules/pipe-tests (Depends-on): Likewise.
44247         * modules/posix_spawn-tests (Depends-on): Likewise.
44248         * modules/posix_spawnp-tests (Depends-on): Likewise.
44249         * modules/stat-time-tests (Depends-on): Likewise.
44250         * modules/yesno-tests (Depends-on): Likewise.
44251
44252 2009-07-19  Bruno Haible  <bruno@clisp.org>
44253
44254         Unify conditionals.
44255         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
44256         macros, not at the compiler macros.
44257         * lib/pipe.c: Likewise.
44258         * lib/execute.c: Likewise.
44259         * lib/spawni.c: Likewise.
44260
44261 2009-07-19  Bruno Haible  <bruno@clisp.org>
44262
44263         Fix handling of closed stdin/stdout/stderr on mingw.
44264         * lib/w32spawn.h: Include unistd.h.
44265         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
44266         file descriptor with O_NOINHERIT flag.
44267         (fd_safer_noinherit): New function, based on fd-safer.c.
44268         (dup_safer_noinherit): New function, based on dup-safer.c.
44269         (undup_safer_noinherit): New function.
44270         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
44271         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
44272         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
44273         instead of fd_safer.
44274         * tests/test-pipe.c: Include <windows.h>.
44275         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
44276         result.
44277
44278         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
44279         from main.
44280         (test_pipe): Pass an extra argument for disambiguation.
44281         (main): Invoke parent_main or child_main.
44282
44283         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
44284         consistently.
44285
44286 2009-07-18  Eric Blake  <ebb9@byu.net>
44287
44288         test-pipe: fix mingw build
44289         * tests/test-pipe.c (main): Avoid fcntl on mingw.
44290
44291 2009-07-18  Bruno Haible  <bruno@clisp.org>
44292
44293         * modules/pipe-tests (Makefile.am): Fix typo.
44294
44295 2009-07-18  Eric Blake  <ebb9@byu.net>
44296
44297         error: fix mingw build
44298         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
44299         Reported by Bruno Haible.
44300
44301         error: avoid undefined use of stdout
44302         * lib/error.c (error, error_at_line): Check that fd 1 is open
44303         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
44304         is handling faults and the close_stdout module wants to report the
44305         detection of closed stdout as an error.
44306
44307 2009-07-17  Eric Blake  <ebb9@byu.net>
44308
44309         pipe: be robust in face of closed fds
44310         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
44311         should cause child to misbehave.
44312         * modules/pipe-tests: New module.
44313         * tests/test-pipe.c: New file.
44314         * tests/test-pipe.sh: New file.
44315         Reported by Akim Demaille.
44316
44317 2009-07-14  Bruno Haible  <bruno@clisp.org>
44318
44319         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
44320         Reported by anonymous kc.
44321
44322 2009-07-07  Jim Meyering  <meyering@redhat.com>
44323
44324         maint.mk: don't look for translatable strings in *.m4 or *.mk
44325         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
44326         when searching for translatable strings.
44327
44328 2009-07-05  Jim Meyering  <meyering@redhat.com>
44329
44330         remove superfluous parentheses in STREQ definition
44331         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
44332         * lib/getugroups.c (STREQ): Likewise.
44333         * lib/fnmatch.c (STREQ): Likewise.
44334         Spotted by Bruno Haible.
44335
44336 2009-07-04  Jim Meyering  <meyering@redhat.com>
44337
44338         argv-iter: new module
44339         * MODULES.html.sh: Add argv-iter.
44340         * lib/argv-iter.c, lib/argv-iter.h: New files.
44341         * modules/argv-iter: New file.
44342         * modules/argv-iter-tests: New file.
44343         * tests/test-argv-iter.c: Test it.
44344
44345 2009-07-04  Bruno Haible  <bruno@clisp.org>
44346
44347         Fix assertion.
44348         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
44349         contains more exact copies of a given entry than file2, leave the extra
44350         copies unpaired rather than aborting.
44351         Reported by Eric Blake.
44352
44353 2009-07-02  Bruno Haible  <bruno@clisp.org>
44354
44355         Speedup git-merge-changelog for git cherry-pick.
44356         * lib/git-merge-changelog.c (struct entries_mapping): New type.
44357         (entries_mapping_get): New function, extracted from compute_mapping.
44358         (entries_mapping_reverse_get): New function.
44359         (compute_mapping): Add a 'full' argument. Return the result in a
44360         'struct entries_mapping'.
44361         (main): Update. Access the mappings through entries_mapping_get.
44362         Reported by Eric Blake.
44363
44364 2009-07-02  Bruno Haible  <bruno@clisp.org>
44365
44366         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
44367         best_i.
44368
44369 2009-07-02  Bruno Haible  <bruno@clisp.org>
44370
44371         Speed up approximate search for matching ChangeLog entries.
44372         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
44373         argument. Call fstrcmp_bounded instead of fstrcmp.
44374         (compute_mapping, try_split_merged_entry, main): Update callers.
44375
44376 2009-07-02  Bruno Haible  <bruno@clisp.org>
44377
44378         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
44379
44380 2009-06-30  Bruno Haible  <bruno@clisp.org>
44381
44382         Reduce the number of uc_is_cased calls.
44383         * lib/unicase.h (casing_suffix_context_t): Add
44384         'first_char_except_ignorable' field.
44385         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
44386         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
44387         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
44388         Update initializer.
44389         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
44390         case-ignorable characters.
44391         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
44392         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
44393         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
44394         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
44395         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
44396
44397 2009-06-30  Bruno Haible  <bruno@clisp.org>
44398
44399         Tests for module 'unicase/ignorable'.
44400         * modules/unicase/ignorable-tests: New file.
44401         * tests/unicase/test-ignorable.c: New file, generated by
44402         gen-uni-tables.
44403
44404         Tests for module 'unicase/cased'.
44405         * modules/unicase/cased-tests: New file.
44406         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
44407         * tests/unicase/test-predicate-part1.h: New file, derived from
44408         tests/unictype/test-predicate-part1.h.
44409         * tests/unicase/test-predicate-part2.h: New file, same as
44410         tests/unictype/test-predicate-part2.h.
44411
44412         Fix evaluation of "Before C" condition of FINAL_SIGMA.
44413         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
44414         (output_casing_properties): New function.
44415         (main): Call it.
44416         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
44417         * lib/unicase/cased.c: Include unictype/bitmap.h.
44418         (uc_is_cased): Define through a bitmap lookup.
44419         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
44420         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
44421         (uc_is_case_ignorable): Define through a bitmap lookup.
44422         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
44423         lib/unictype/bitmap.h.
44424         (Depends-on): Add inline. Clean up.
44425         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
44426         lib/unictype/bitmap.h.
44427         (Depends-on): Add inline. Clean up.
44428         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
44429         recognition.
44430         * tests/unicase/test-u16-tolower.c (main): Likewise.
44431         * tests/unicase/test-u32-tolower.c (main): Likewise.
44432
44433 2009-06-30  Bruno Haible  <bruno@clisp.org>
44434
44435         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
44436         * lib/unicase/u16-casemap.c: Likewise.
44437         * lib/unicase/u32-casemap.c: Likewise.
44438
44439 2009-06-29  Bruno Haible  <bruno@clisp.org>
44440
44441         Define u32_casefold as a wrapper around u32_ct_casefold.
44442         * lib/unicase/u32-casefold.c: Update.
44443         * modules/unicase/u32-casefold (Depends-on): Add
44444         unicase/u32-ct-casefold, unicase/empty-prefix-context,
44445         unicase/empty-suffix-context. Clean up.
44446
44447         Define u16_casefold as a wrapper around u16_ct_casefold.
44448         * lib/unicase/u16-casefold.c: Update.
44449         * modules/unicase/u16-casefold (Depends-on): Add
44450         unicase/u16-ct-casefold, unicase/empty-prefix-context,
44451         unicase/empty-suffix-context. Clean up.
44452
44453         Define u8_casefold as a wrapper around u8_ct_casefold.
44454         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
44455         * lib/unicase/u8-casefold.c: Update.
44456         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
44457         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44458
44459         Define u32_totitle as a wrapper around u32_ct_totitle.
44460         * lib/unicase/u32-totitle.c: Update.
44461         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
44462         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44463
44464         Define u16_totitle as a wrapper around u16_ct_totitle.
44465         * lib/unicase/u16-totitle.c: Update.
44466         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
44467         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44468
44469         Define u8_totitle as a wrapper around u8_ct_totitle.
44470         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
44471         functions.
44472         (FUNC): Delegate to U_CT_TOTITLE.
44473         * lib/unicase/u8-totitle.c: Update.
44474         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
44475         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
44476
44477         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
44478         invocation.
44479         * modules/unicase/u32-tolower (Depends-on): Add
44480         unicase/empty-prefix-context, unicase/empty-suffix-context.
44481
44482         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
44483         invocation.
44484         * modules/unicase/u16-tolower (Depends-on): Add
44485         unicase/empty-prefix-context, unicase/empty-suffix-context.
44486
44487         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
44488         * modules/unicase/u8-tolower (Depends-on): Add
44489         unicase/empty-prefix-context, unicase/empty-suffix-context.
44490
44491         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
44492         invocation.
44493         * modules/unicase/u32-toupper (Depends-on): Add
44494         unicase/empty-prefix-context, unicase/empty-suffix-context.
44495
44496         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
44497         invocation.
44498         * modules/unicase/u16-toupper (Depends-on): Add
44499         unicase/empty-prefix-context, unicase/empty-suffix-context.
44500
44501         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
44502         * modules/unicase/u8-toupper (Depends-on): Add
44503         unicase/empty-prefix-context, unicase/empty-suffix-context.
44504
44505         New module 'unicase/u32-ct-casefold'.
44506         * lib/unicase/u32-ct-casefold.c: New file.
44507         * modules/unicase/u32-ct-casefold: New file.
44508
44509         New module 'unicase/u16-ct-casefold'.
44510         * lib/unicase/u16-ct-casefold.c: New file.
44511         * modules/unicase/u16-ct-casefold: New file.
44512
44513         New module 'unicase/u8-ct-casefold'.
44514         * lib/unicase/u8-ct-casefold.c: New file.
44515         * lib/unicase/u-ct-casefold.h: New file, derived from
44516         lib/unicase/u-casefold.h.
44517         * modules/unicase/u8-ct-casefold: New file.
44518
44519         New module 'unicase/u32-ct-totitle'.
44520         * lib/unicase/u32-ct-totitle.c: New file.
44521         * modules/unicase/u32-ct-totitle: New file.
44522
44523         New module 'unicase/u16-ct-totitle'.
44524         * lib/unicase/u16-ct-totitle.c: New file.
44525         * modules/unicase/u16-ct-totitle: New file.
44526
44527         New module 'unicase/u8-ct-totitle'.
44528         * lib/unicase/u8-ct-totitle.c: New file.
44529         * lib/unicase/u-ct-totitle.h: New file, derived from
44530         lib/unicase/u-totitle.h.
44531         * modules/unicase/u8-ct-totitle: New file.
44532
44533         New module 'unicase/u32-ct-tolower'.
44534         * lib/unicase/u32-ct-tolower.c: New file.
44535         * modules/unicase/u32-ct-tolower: New file.
44536
44537         New module 'unicase/u16-ct-tolower'.
44538         * lib/unicase/u16-ct-tolower.c: New file.
44539         * modules/unicase/u16-ct-tolower: New file.
44540
44541         New module 'unicase/u8-ct-tolower'.
44542         * lib/unicase/u8-ct-tolower.c: New file.
44543         * modules/unicase/u8-ct-tolower: New file.
44544
44545         New module 'unicase/u32-ct-toupper'.
44546         * lib/unicase/u32-ct-toupper.c: New file.
44547         * modules/unicase/u32-ct-toupper: New file.
44548
44549         New module 'unicase/u16-ct-toupper'.
44550         * lib/unicase/u16-ct-toupper.c: New file.
44551         * modules/unicase/u16-ct-toupper: New file.
44552
44553         New module 'unicase/u8-ct-toupper'.
44554         * lib/unicase/u8-ct-toupper.c: New file.
44555         * modules/unicase/u8-ct-toupper: New file.
44556
44557         Add context arguments to u*_casemap functions.
44558         * lib/unicase/unicasemap.h: Include unicase.h.
44559         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
44560         suffix_context arguments.
44561         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
44562         functions.
44563         (FUNC): Add prefix_context and suffix_context arguments. Use
44564         uc_is_cased and uc_is_case_ignorable.
44565         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
44566         * lib/unicase/u16-casemap.c: Likewise.
44567         * lib/unicase/u32-casemap.c: Likewise.
44568         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
44569         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44570         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
44571         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44572         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
44573         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
44574
44575         New module 'unicase/u32-suffix-context'.
44576         * lib/unicase/u32-suffix-context.c: New file.
44577         * modules/unicase/u32-suffix-context: New file.
44578
44579         New module 'unicase/u16-suffix-context'.
44580         * lib/unicase/u16-suffix-context.c: New file.
44581         * modules/unicase/u16-suffix-context: New file.
44582
44583         New module 'unicase/u8-suffix-context'.
44584         * lib/unicase/u8-suffix-context.c: New file.
44585         * lib/unicase/u-suffix-context.h: New file.
44586         * modules/unicase/u8-suffix-context: New file.
44587
44588         New module 'unicase/empty-suffix-context'.
44589         * lib/unicase/empty-suffix-context.c: New file.
44590         * modules/unicase/empty-suffix-context: New file.
44591
44592         New module 'unicase/u32-prefix-context'.
44593         * lib/unicase/u32-prefix-context.c: New file.
44594         * modules/unicase/u32-prefix-context: New file.
44595
44596         New module 'unicase/u16-prefix-context'.
44597         * lib/unicase/u16-prefix-context.c: New file.
44598         * modules/unicase/u16-prefix-context: New file.
44599
44600         New module 'unicase/u8-prefix-context'.
44601         * lib/unicase/u8-prefix-context.c: New file.
44602         * lib/unicase/u-prefix-context.h: New file.
44603         * lib/unicase/context.h: New file.
44604         * modules/unicase/u8-prefix-context: New file.
44605
44606         New module 'unicase/empty-prefix-context'.
44607         * lib/unicase/empty-prefix-context.c: New file.
44608         * modules/unicase/empty-prefix-context: New file.
44609
44610         New module 'unicase/ignorable'.
44611         * lib/unicase/ignorable.c: New file.
44612         * modules/unicase/ignorable: New file.
44613
44614         New module 'unicase/cased'.
44615         * lib/unicase/caseprop.h: New file.
44616         * lib/unicase/cased.c: New file.
44617         * modules/unicase/cased: New file.
44618
44619         New functions for case mapping of substrings.
44620         * lib/unicase.h (casing_prefix_context_t): New type.
44621         (unicase_empty_prefix_context): New variable.
44622         (u8_casing_prefix_context, u16_casing_prefix_context,
44623         u32_casing_prefix_context, u8_casing_prefixes_context,
44624         u16_casing_prefixes_context, u32_casing_prefixes_context): New
44625         declarations.
44626         (casing_suffix_context_t): New type.
44627         (unicase_empty_suffix_context): New variable.
44628         (u8_casing_suffix_context, u16_casing_suffix_context,
44629         u32_casing_suffix_context, u8_casing_suffixes_context,
44630         u16_casing_suffixes_context, u32_casing_suffixes_context,
44631         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
44632         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
44633         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
44634         declarations.
44635
44636 2009-06-28  Jim Meyering  <meyering@redhat.com>
44637
44638         boostrap: indent only with spaces
44639         * build-aux/bootstrap: Indent only with spaces, never TABs.
44640
44641         bootstrap: split long lines
44642         * build-aux/bootstrap: Keep line length < 80.
44643
44644         bootstrap: sync from coreutils
44645         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
44646         just as autoreconf does.  Verify a list of prerequisite
44647         package-name,version-number pairs if defined in bootstrap.conf.
44648         Refer to README-prereq, if prerequisites are not satisfied.
44649
44650 2009-06-27  Eric Blake  <ebb9@byu.net>
44651
44652         tests: add test for bogus NULL definition
44653         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
44654         * tests/test-stdlib.c: Likewise.
44655         * tests/test-string.c: Likewise.
44656         * tests/test-locale.c: Likewise.
44657         * tests/test-unistd.c: Likewise.
44658         * modules/stdio-tests (Depends-on): Add verify.
44659         * modules/stdlib-tests (Depends-on): Likewise.
44660         * modules/string-tests (Depends-on): Likewise.
44661         * modules/locale-tests (Depends-on): Likewise.
44662         * modules/unistd-tests (Depends-on): Likewise.
44663
44664 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
44665
44666         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
44667         self-explaining comment.
44668         * m4/selinux-selinux-h: Update serial.
44669         (gl_LIBSELINUX): New macro, adding a warning for missing development
44670         packages to code extracted from...
44671         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
44672         Add warning for missing development packages here, too.
44673
44674 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
44675
44676         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
44677
44678 2009-06-25  Eric Blake  <ebb9@byu.net>
44679
44680         version-etc: fix regression
44681         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
44682         gcc.
44683         (version_etc): Use it, to catch bugs with trailing NULL.
44684         * lib/version-etc.c (version_etc_arn): Delete unused argument.
44685         (version_etc_va): Fix logic bug.
44686         * modules/version-etc-tests: Add test.
44687         * tests/test-version-etc.c: New file.
44688         * tests/test-version-etc.sh: Likewise.
44689
44690 2009-06-25  Sam Steingold  <sds@gnu.org>
44691
44692         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
44693         mbtowc declaration.
44694
44695 2009-06-25  Eric Blake  <ebb9@byu.net>
44696
44697         fpurge: migrate into <stdio.h>
44698         * lib/fpurge.h: Delete...
44699         * lib/stdio.in.h (fpurge): ...and declare here, instead.
44700         * lib/fpurge.c (fpurge): Change declaring header.
44701         * modules/fpurge (Files): Drop deleted file.
44702         (Depends-on): Add stdio.
44703         (configure.ac): Set witness.
44704         * modules/stdio (Makefile.am): Support fpurge macros.
44705         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44706         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
44707         * lib/fflush.c: Update client.
44708         * tests/test-fpurge.c: Likewise.
44709         * NEWS: Mention the change.
44710
44711 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44712
44713         * lib/argp-version-etc.c (program_authors): Add const
44714         qualifier.
44715         * lib/version-etc.c: Fix typos in the comments.
44716         * modules/argp-version-etc: Depends on version-etc.
44717
44718 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44719
44720         argp-version-etc: new module.
44721
44722         * lib/argp-version-etc.c: New file.
44723         * lib/argp-version-etc.h: New file.
44724         * modules/argp-version-etc: New file.
44725         * modules/argp-version-etc-tests: New file.
44726         * tests/test-argp-version-etc.c: New test.
44727         * tests/test-argp-version-etc-1.sh: New test.
44728
44729 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
44730
44731         Provide additional interfaces and documentation for version-etc
44732         module.
44733
44734         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
44735         interfaces.
44736         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
44737         prototypes.
44738
44739 2009-06-24  Bruno Haible  <bruno@clisp.org>
44740
44741         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
44742         HAVE_LIB${NAME} macro.
44743         Reported by Sam Steingold <sds@gnu.org>.
44744
44745 2009-06-23  Simon Josefsson  <simon@josefsson.org>
44746
44747         * modules/hash-tests (test_hash_LDADD): Link to libintl when
44748         needed.
44749
44750 2009-06-21  Bruno Haible  <bruno@clisp.org>
44751
44752         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
44753         work.
44754         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
44755         together with LIB${NAME}, LTLIB${NAME}.
44756         Reported by Sam Steingold <sds@gnu.org>.
44757
44758 2009-06-20  Jim Meyering  <meyering@redhat.com>
44759
44760         tests: make sc_require_test_exit_idiom more generic
44761         * top/maint.mk (Exit_witness_file): New overridable variable.
44762         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
44763         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
44764
44765 2009-06-19  Jim Meyering  <meyering@redhat.com>
44766
44767         hash: reverse order of src/dst parameters in an internal interface
44768         * lib/hash.c (transfer_entries): Reverse order of parameters to
44769         put DST before SRC.  Adjust callers.
44770
44771         tests: test-hash: avoid wholesale duplication
44772         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
44773         Instead, use a loop and add a single conditional.
44774
44775         tests: test-hash: allow seed selection via a command line argument
44776         * tests/test-hash.c (get_seed): New function.
44777         (main): Use it.
44778
44779 2009-06-19  Eric Blake  <ebb9@byu.net>
44780
44781         hash: avoid memory leak on allocation failure
44782         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
44783         failure.  Factor repeated algorithm...
44784         (transfer_entries): ...into new helper routine.
44785         (hash_delete): React to hash_rehash return value.
44786
44787         hash: reduce memory pressure in hash_rehash no-op case
44788         * lib/hash.c (next_prime): Avoid overflow.
44789         (hash_initialize): Factor bucket size computation...
44790         (compute_bucket_size): ...into new helper function.
44791         (hash_rehash): Use new function and open coding to reduce memory
44792         pressure, and avoid a memory leak in USE_OBSTACK code.
44793         Reported by Jim Meyering.
44794
44795 2009-06-18  Eric Blake  <ebb9@byu.net>
44796
44797         hash: make rotation more obvious
44798         * modules/hash (Depends-on): Add bitrotate and stdint.
44799         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
44800         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
44801         (SIZE_MAX): Rely on headers for definition.
44802         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
44803         (raw_hasher): Use rotr_sz.
44804         Suggested by Jim Meyering.
44805
44806         hash: fix memory leak in last patch
44807         * lib/hash.c (hash_rehash): Avoid memory leak.
44808
44809         hash: avoid no-op rehashing
44810         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
44811
44812         hash: provide default callback functions
44813         * lib/hash.c (raw_hasher, raw_comparator): New functions.
44814         (hash_initialize): Use them as defaults.
44815         * tests/test-hash.c (main): Test this.
44816
44817         hash: minor optimization
44818         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
44819         when possible.
44820         (hash_initialize): Document this promise.
44821         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
44822         * tests/test-hash.c (hash_compare_strings): Test this.
44823
44824 2009-06-18  Bruno Haible  <bruno@clisp.org>
44825
44826         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
44827         going to be replaced anyway.
44828
44829 2009-06-18  Bruno Haible  <bruno@clisp.org>
44830
44831         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
44832         in one place.
44833         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
44834         be replaced anyway.
44835
44836 2009-06-18  Eric Blake  <ebb9@byu.net>
44837
44838         hash: check for resize before insertion
44839         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
44840         threshold before insertion, so that a pathological hash_rehash
44841         that fills every bucket can still trigger another rehash.
44842
44843 2009-06-18  Jim Meyering  <meyering@redhat.com>
44844
44845         hash-tests: add a loop around the small tests
44846         * tests/test-hash.c (main): Repeat small tests with selected
44847         small initial table sizes.
44848
44849 2009-06-17  Eric Blake  <ebb9@byu.net>
44850
44851         hash: minor cleanups
44852         * lib/hash.h (hash_entry): Make opaque, by moving...
44853         * lib/hash.c (hash_entry): ...here.
44854         (hash_insert): Clarify restrictions on what can be inserted.
44855         (hash_get_next): Clarify when it is safe to remove an element
44856         during traversal.
44857         (check_tuning): Skip verification when tuning is known safe.
44858         (hash_initialize): Clarify restrictions on tuning.
44859
44860 2009-06-17  Jim Meyering  <jim@meyering.net>
44861         and Eric Blake  <ebb9@byu.net>
44862
44863         hash-tests: new module
44864         * modules/hash-tests: New file.
44865         * tests/test-hash.c: New file.
44866
44867 2009-06-17  Eric Blake  <ebb9@byu.net>
44868
44869         strstr-simple: document new module
44870         * MODULES.html.sh: Document new module.
44871
44872         strstr, strcasestr: replace on platforms with broken memchr
44873         * modules/strstr: Split into...
44874         * modules/strstr-simple: ...new module that does not care about
44875         performance, but does care about glibc bug.
44876         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
44877         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
44878         if platform memchr is broken, per Debian bug 521737.
44879         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
44880         memchr.
44881         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
44882         * doc/posix-functions/strstr.texi (strstr): Document the fix.
44883         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
44884         * modules/mountlist (Depends-on): Add strstr-simple.
44885         * modules/gen-uni-tables (Depends-on): Likewise.
44886         * modules/argz (Depends-on): Add strstr.
44887
44888 2009-06-17  Bruno Haible  <bruno@clisp.org>
44889
44890         * modules/posix_spawn-internal (Depends-on): Add errno.
44891
44892 2009-06-17  Bruno Haible  <bruno@clisp.org>
44893
44894         Define missing ESTALE on Interix 3.5.
44895         * lib/errno.in.h (ESTALE): Assign a value if missing.
44896         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
44897         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
44898         missing.
44899         * doc/posix-headers/errno.texi: Mention the Interix bug.
44900         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
44901
44902 2009-06-15  Eric Blake  <ebb9@byu.net>
44903
44904         memchr, memchr2: add valgrind exception
44905         * lib/memchr.valgrind: New file.
44906         * lib/memchr2.valgrind: New file.
44907         * modules/memchr (Files): Distribute valgrind file.
44908         * modules/memchr2 (Files): Likewise.
44909
44910         docs: memchr is no longer obsolete
44911         * MODULES.html.sh: Move memchr from obsolete to string.h section.
44912         * lib/string.in.h (memchr): Simplify logic.
44913
44914 2009-06-14  Jim Meyering  <meyering@redhat.com>
44915
44916         link-follow: fix the "checking..." message to not mention trailing slash
44917         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
44918         never considered trailing slashes.
44919
44920 2009-06-14  Bruno Haible  <bruno@clisp.org>
44921
44922         * m4/memchr.m4: Mention also the bug on IA-64.
44923         * doc/posix-functions/memchr.texi: Likewise.
44924
44925 2009-06-12  Eric Blake  <ebb9@byu.net>
44926
44927         memchr: detect broken x86_64 and alpha implementations
44928         * modules/memchr-tests (Depends-on): Move mmap detection...
44929         * modules/memchr (Depends-on): ...here.
44930         (configure.ac): Set indicator.
44931         * lib/string.in.h (memchr): Declare replacement.
44932         * modules/string (Makefile.am): Trigger replacement.
44933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
44934         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
44935         bugs.
44936         * doc/posix-functions/memchr.texi (memchr): Document the bug.
44937         * modules/getpagesize (License): Relax license.
44938
44939 2009-06-11  Bruno Haible  <bruno@clisp.org>
44940
44941         * lib/idpriv.h: Add more references.
44942
44943 2009-06-08  Bruno Haible  <bruno@clisp.org>
44944
44945         Tests for module 'idpriv-droptemp'.
44946         * modules/idpriv-droptemp-tests: New file.
44947         * tests/test-idpriv-droptemp.sh: New file.
44948         * tests/test-idpriv-droptemp.su.sh: New file.
44949         * tests/test-idpriv-droptemp.c: New file.
44950
44951         New module 'idpriv-droptemp'.
44952         * lib/idpriv-droptemp.c: New file.
44953         * modules/idpriv-droptemp: New file.
44954
44955 2009-06-08  Bruno Haible  <bruno@clisp.org>
44956
44957         Tests for module 'idpriv-drop'.
44958         * modules/idpriv-drop-tests: New file.
44959         * tests/test-idpriv-drop.sh: New file.
44960         * tests/test-idpriv-drop.su.sh: New file.
44961         * tests/test-idpriv-drop.c: New file.
44962
44963         New module 'idpriv-drop'.
44964         * lib/idpriv.h: New file.
44965         * lib-idpriv-drop.c: New file.
44966         * m4/idpriv.m4: New file.
44967         * modules/idpriv-drop: New file.
44968
44969 2009-06-08  Bruno Haible  <bruno@clisp.org>
44970
44971         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
44972         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44973         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44974         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44975         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44976         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44977         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44978
44979 2009-06-08  Eric Blake  <ebb9@byu.net>
44980
44981         test-strstr: use memory fence, when possible
44982         * tests/test-strstr.c (main): Use memory fence, in order to be
44983         more likely to trigger Debian bug 521737.
44984         * modules/strstr-tests (Files): Pull in additional files.
44985
44986         memchr: no longer obsolete, for wider field testing
44987         * modules/memchr (Status, Notice): Delete, this module is no
44988         longer obsolete.
44989         * modules/vasnprintf (Depends-on): Add memchr.
44990
44991 2009-06-07  Jim Meyering  <meyering@redhat.com>
44992
44993         hash: declare some functions with the warn_unused_result attribute
44994         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
44995
44996 2009-06-07  Bruno Haible  <bruno@clisp.org>
44997
44998         * tests/test-alignof.c: Don't test int64_t if it does not exist.
44999         Reported by Eric Blake.
45000
45001 2009-06-06  Eric Blake  <ebb9@byu.net>
45002
45003         test-alignof: fix typo with long double
45004         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45005         compiler error.
45006
45007 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45008
45009         Escape non-texinfo { and }s.
45010         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45011         markup error.
45012
45013 2009-06-04  Jim Meyering  <meyering@redhat.com>
45014
45015         gitlog-to-changelog: don't infloop on an empty commit log
45016         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45017         Reported by Boris Petersen <transacid@centerim.org>.
45018
45019 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45020
45021         version-etc: extend for packagers
45022         Add three new configure options, intended for packagers:
45023           --with-packager="packager name"
45024           --with-packager-version="packager-specific version"
45025           --with-packager-bug-reports="packager bug reporting"
45026         An example with coreutils:
45027           $ ./configure \
45028             --with-packager=Gentoo \
45029             --with-packager-bug-report=http://bugs.gentoo.org/ \
45030             --with-packager-version="patchset 1.6"
45031           $ ./src/ls --version | head -n2
45032           ls (GNU coreutils) 7.1-dirty
45033           Packaged by Gentoo (patchset 1.6)
45034         Note that the bug reporting info via --help doesn't show up because
45035         coreutils uses its own custom emit_bug_reporting_address() implementation
45036         in src/system.h.  If it didn't, it'd look like:
45037           $ ./src/ls --help | tail -n4
45038           Report bugs to <bug-coreutils@gnu.org>.
45039           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45040           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45041           General help using GNU software: <http://www.gnu.org/gethelp/>.
45042         * lib/version-etc.c: Print new information, if provided.
45043         * m4/version-etc.m4: New file.
45044         * modules/version-etc (Files): Add m4/version-etc.m4.
45045         (configure.ac): Add gl_VERSION_ETC.
45046
45047 2009-05-31  Bruno Haible  <bruno@clisp.org>
45048
45049         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45050         and 'int64_t'.
45051         * modules/alignof-tests (Dependencies): Add stdint.
45052         Reported by Eric Blake.
45053
45054 2009-05-31  Bruno Haible  <bruno@clisp.org>
45055
45056         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45057         restriction due to compiler bugs.
45058         Reported by Eric Blake.
45059
45060 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45061             Bruno Haible  <bruno@clisp.org>
45062
45063         Fix test-alignof failure.
45064         * lib/alignof.h (alignof_slot): New macro.
45065         (alignof_type): New macro, with the same semantics as the previous
45066         'alignof'.
45067         (alignof): Alias to alignof_slot.
45068         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45069         check that the results are usable as constant expressions.
45070
45071 2009-05-31  Bruno Haible  <bruno@clisp.org>
45072
45073         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45074         * tests/test-memchr.c (main): Check that memchr does not read past the
45075         first occurrence of the byte.
45076         * tests/test-strstr.c (main): Update comment.
45077         Suggested by Eric Blake.
45078
45079 2009-05-30  Bruno Haible  <bruno@clisp.org>
45080
45081         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45082         detail how to use dumpbin.
45083         Reported by David Byron <dbyron@dbyron.com>.
45084
45085 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45086
45087         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45088
45089 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45090
45091         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45092
45093 2009-05-28  Bruno Haible  <bruno@clisp.org>
45094
45095         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45096         build-aux/ files.
45097
45098 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45099
45100         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45101
45102 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45103
45104         * gnulib-tool (sed_transform_main_lib_file)
45105         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45106         regexps.
45107
45108 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45109
45110         * tests/test-strstr.c: Add another self-test.
45111         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45112         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45113
45114 2009-05-23  Bruno Haible  <bruno@clisp.org>
45115
45116         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45117         change.
45118
45119 2009-05-21  Bruno Haible  <bruno@clisp.org>
45120
45121         Simplify use of mode_t varargs.
45122         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45123         uses 'mode_t' or 'int'.
45124         * lib/openat.c (openat): Likewise.
45125         * lib/open-safer.c (open_safer): Likewise.
45126         * m4/mode_t.m4: New file.
45127         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45128         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45129         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45130         * modules/open (Files): Add m4/mode_t.m4.
45131         * modules/openat (Files): Likewise.
45132         * modules/fcntl-safer (Files): Likewise.
45133         Suggested by Eric Blake.
45134
45135 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45136
45137         * doc/glibc-functions/fallocate.texi: New file.
45138         * doc/gnulib.texi: Include it.
45139
45140 2009-05-21  Eric Blake  <ebb9@byu.net>
45141             Bruno Haible  <bruno@clisp.org>
45142
45143         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45144         invocations.
45145         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45146
45147 2009-05-21  Eric Blake  <ebb9@byu.net>
45148             Bruno Haible  <bruno@clisp.org>
45149
45150         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45151         include_next. Fix of 2008-11-20 commit.
45152         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45153         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45154         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45155         NEXT_MATH_H.
45156         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45157         instead of NEXT_MATH_H.
45158
45159 2009-05-21  Bruno Haible  <bruno@clisp.org>
45160
45161         Avoid redefinition warnings for SIZE_MAX.
45162         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45163         Reported by Simon Josefsson.
45164
45165 2009-05-21  Bruno Haible  <bruno@clisp.org>
45166
45167         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45168         AC_CACHE_VAL.
45169
45170 2009-05-20  Bruno Haible  <bruno@clisp.org>
45171
45172         Make zeroptr.h work on mingw.
45173         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
45174         mprotect.
45175         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
45176         * modules/memchr2-tests (configure.ac): Likewise.
45177         * modules/memcmp-tests (configure.ac): Likewise.
45178         * modules/memmem-tests (configure.ac): Likewise.
45179         * modules/memrchr-tests (configure.ac): Likewise.
45180         Reported by Simon Josefsson.
45181
45182 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45183
45184         * tests/test-glob.c: Include string.h for strcmp prototype.
45185
45186 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45187
45188         * modules/getdelim (Depends-on): Add explicit stdint, although it
45189         was implicitly already pulled in via realloc-posix.
45190         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
45191
45192 2009-05-20  Simon Josefsson  <simon@josefsson.org>
45193
45194         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
45195         G. Christensen" <tgc@jupiterrise.com>.
45196         * m4/sys_socket_h.m4: Check for sa_family_t.
45197         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
45198         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
45199         * tests/test-sys_socket.c: Check that sa_family_t works.
45200
45201 2009-05-18  Eric Blake  <ebb9@byu.net>
45202
45203         maint.mk: allow gnulib_dir in VPATH build
45204         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
45205
45206 2009-05-15  Jim Meyering  <meyering@redhat.com>
45207
45208         maint.mk: Give gnulib_dir a default definition.
45209         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
45210         Thus, most packages no longer need to specify this variable in cfg.mk
45211
45212 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
45213
45214         rename.m4: fix typos that would make non-mingw cross-configure fail
45215         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
45216
45217 2009-05-13  Eric Blake  <ebb9@byu.net>
45218
45219         mmap-anon: avoid out-of-order autoconf expansion
45220         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
45221         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
45222         * modules/memchr-tests (Depends-on): Add extensions.
45223         * modules/memchr2-tests (Depends-on): Add extensions.
45224         * modules/memcmp-tests (Depends-on): Add extensions.
45225         * modules/memmem-tests (Depends-on): Add extensions.
45226         * modules/memrchr-tests (Depends-on): Add extensions.
45227
45228 2009-05-13  Bruno Haible  <bruno@clisp.org>
45229
45230         Make some tests ISO C 99 compliant.
45231         * tests/zerosize-ptr.h: New file.
45232         * tests/test-memchr.c: Include zerosize-ptr.h.
45233         (main): Use a zero-size object pointer instead of NULL.
45234         * tests/test-memchr2.c: Include zerosize-ptr.h.
45235         (main): Use a zero-size object pointer instead of NULL.
45236         * tests/test-memcmp.c: Include zerosize-ptr.h.
45237         (main): Use a zero-size object pointer instead of NULL.
45238         * tests/test-memmem.c: Include zerosize-ptr.h.
45239         (main): Use a zero-size object pointer instead of NULL.
45240         * tests/test-memrchr.c: Include zerosize-ptr.h.
45241         (main): Use a zero-size object pointer instead of NULL.
45242         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
45243         m4/mmap-anon.m4.
45244         (Depends-on): Add getpagesize.
45245         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45246         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
45247         m4/mmap-anon.m4.
45248         (Depends-on): Add getpagesize.
45249         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45250         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
45251         m4/mmap-anon.m4.
45252         (Depends-on): Add getpagesize.
45253         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45254         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
45255         m4/mmap-anon.m4.
45256         (Depends-on): Add getpagesize.
45257         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45258         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
45259         m4/mmap-anon.m4.
45260         (Depends-on): Add getpagesize.
45261         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
45262
45263 2009-05-12  Bruno Haible  <bruno@clisp.org>
45264
45265         Tests for module 'alignof'.
45266         * modules/alignof-tests: New file.
45267         * tests/test-alignof.c: New file.
45268
45269 2009-05-12  Bruno Haible  <bruno@clisp.org>
45270
45271         Fix alignof macro.
45272         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
45273         vendor compilers that are always correct.
45274
45275 2009-05-12  Bruno Haible  <bruno@clisp.org>
45276
45277         Make the MAP_ANONYMOUS detection work on HP-UX 11.
45278         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
45279         not whether its fully works.
45280
45281 2009-05-12  Bruno Haible  <bruno@clisp.org>
45282
45283         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
45284
45285 2009-05-12  Jim Meyering  <meyering@redhat.com>
45286
45287         * top/maint.mk: Adjust backslash alignment.
45288
45289 2009-05-11  Simon Josefsson  <simon@josefsson.org>
45290
45291         * top/maint.mk: Make $(srcdir)/build-aux configurable.
45292
45293 2009-05-11  Eric Blake  <ebb9@byu.net>
45294
45295         argp: avoid undefined behavior
45296         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
45297         macros.
45298
45299 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45300
45301         * tests/test-vc-list-files-git.sh: Do git config of user.email and
45302         user.name to prevent git commit from complaining.
45303
45304 2009-05-10  Bruno Haible  <bruno@clisp.org>
45305
45306         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
45307         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
45308         it rewrites every file name only once.
45309         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
45310
45311 2009-05-08  Bruno Haible  <bruno@clisp.org>
45312
45313         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
45314         instead of 'max'.
45315
45316 2009-05-08  Simon Josefsson  <simon@josefsson.org>
45317
45318         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
45319         sockaddr_storage test.
45320
45321 2009-05-07  Simon Josefsson  <simon@josefsson.org>
45322
45323         * modules/sys_socket (Makefile.am): Substitute
45324         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
45325         * m4/sys_socket_h.m4: Check for sockaddr_storage.
45326         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
45327         * tests/test-sys_socket.c: Check sockaddr_storage.
45328
45329 2009-05-08  Bruno Haible  <bruno@clisp.org>
45330
45331         New module 'alignof'.
45332         * lib/alignof.h: New file.
45333         * modules/alignof: New file.
45334
45335 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45336             Bruno Haible  <bruno@clisp.org>
45337
45338         Fix test-file-has-acl on FreeBSD.
45339         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
45340         mask is implicitly added.
45341         * tests/test-file-has-acl.c: Include <signal.h>.
45342         (main): Terminate the test after 5 seconds.
45343         * modules/acl-tests (configure.ac): Check for alarm function.
45344
45345 2009-05-04  Bruno Haible  <bruno@clisp.org>
45346
45347         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
45348         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
45349         * modules/errno (configure.ac): Drop AC_REQUIRE.
45350         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
45351         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
45352
45353 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45354
45355         * modules/glob-tests: New module.
45356         * tests/test-glob.c: Add.
45357
45358 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45359
45360         * modules/fnmatch-tests: New module.
45361         * tests/test-fnmatch.c: Add.
45362
45363 2009-05-04  Eric Blake  <ebb9@byu.net>
45364
45365         maint: make the new no-submodule-changes rule VPATH-safe
45366         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
45367
45368 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45369             Bruno Haible  <bruno@clisp.org>
45370
45371         acl: Fix infinite loop on FreeBSD.
45372         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
45373         of return value from acl_get_entry.
45374         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
45375         Likewise.
45376
45377 2009-05-03  Bruno Haible  <bruno@clisp.org>
45378
45379         * lib/acl-internal.h (acl_entries): Clarify return value.
45380         * lib/acl_entries.c (acl_entries): Likewise.
45381
45382 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45383
45384         Bug fix in acl module.
45385         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
45386
45387 2009-05-03  Bruno Haible  <bruno@clisp.org>
45388
45389         Create gperf-generated file in the source dir, not in the build dir.
45390         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
45391         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
45392         * modules/unicase/locale-language (unicase/locale-languages.h):
45393         Likewise.
45394         * modules/unicase/special-casing (unicase/special-casing-table.h):
45395         Likewise.
45396         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
45397         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
45398         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
45399         Reported by Ralf Wildenhues.
45400
45401 2009-05-03  Bruno Haible  <bruno@clisp.org>
45402
45403         * modules/fnmatch (Description, configure.ac): Taken from
45404         fnmatch-posix.
45405         * modules/fnmatch-posix: Turn into a symbolic reference to the
45406         'fnmatch' module, and deprecate.
45407         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
45408
45409 2009-05-03  Bruno Haible  <bruno@clisp.org>
45410
45411         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
45412         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
45413         Reported by Ralf Wildenhues.
45414
45415 2009-05-04  Simon Josefsson  <simon@josefsson.org>
45416
45417         * m4/fnmatch.m4: Fix fnmatch re-define.
45418
45419 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
45420
45421         priv-set: new module and tests; adapt write-any-file
45422         * lib/priv-set.c: New file.
45423         * lib/priv-set.h: New file.
45424         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
45425         * lib/write-any-file.c: Simplify by using priv-set module.
45426         * m4/priv-set.m4: New file.
45427         * modules/priv-set: New file.
45428         * modules/unlinkdir: Add dependency on priv-set module.
45429         * modules/write-any-file: Likewise.
45430
45431         Tests for module 'priv-set'.
45432         * modules/priv-set-tests: New file.
45433         * tests/test-priv-set.c: New file.
45434
45435 2009-05-03  Jim Meyering  <meyering@redhat.com>
45436             Bruno Haible  <bruno@clisp.org>
45437
45438         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
45439         use the converted UTF-8 variant of the name instead.
45440
45441 2009-05-03  Jim Meyering  <meyering@redhat.com>
45442
45443         tests: tighten some getdate tests
45444         * tests/test-getdate.c (main): Tighten tests: require equality,
45445         not just greater than.  Set TZ envvar to UTC0.
45446
45447 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
45448
45449         getdate: correctly interpret "next monday" when run on a Monday
45450         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
45451         that e.g., "next tues" (when run on a tuesday) results in a date
45452         that is one week in the future, and not today's date.
45453         I.e., add a week when the wday is the same as the current one.
45454         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
45455         and earlier by Martin Bernreuther and Jan Minář.
45456         * tests/test-getdate.c (main): Check that "next DAY" is always in
45457         the future and that "last DAY" is always in the past.
45458
45459 2009-05-02  Jim Meyering  <meyering@redhat.com>
45460
45461         build: ensure that a release build fails when a submodule is unclean
45462         * top/maint.mk (no-submodule-changes): New rule.
45463         (alpha beta major): Depend on it.
45464
45465 2009-05-02  Bruno Haible  <bruno@clisp.org>
45466
45467         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
45468         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
45469         shell variable gl_fnmatch_required to detect which variant is
45470         requested.
45471         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
45472         gl_FUNC_FNMATCH_POSIX.
45473         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
45474         exclude fnmatch-posix.
45475
45476 2009-05-02  Bruno Haible  <bruno@clisp.org>
45477
45478         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
45479         * modules/mbsrtowcs (License): Change to LGPLv2+.
45480         * modules/strnlen1 (License): Likewise.
45481         Reported by Simon Josefsson.
45482
45483 2009-05-02  Bruno Haible  <bruno@clisp.org>
45484
45485         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
45486         "cross".
45487         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
45488         gnulib-tool was called with option --source-base=lib.
45489
45490 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45491
45492         Use automake *-local hooks without commands, for extensibility.
45493         * modules/localcharset (Makefile.am): Rename install-exec-local
45494         rule to install-exec-localcharset, and make it a prerequisite of
45495         install-exec-local.  Likewise, rename the uninstall-local rule to
45496         uninstall-localcharset, and make it a prerequisite of the former.
45497
45498 2009-05-01  Bruno Haible  <bruno@clisp.org>
45499
45500         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
45501         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45502         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
45503         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
45504         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
45505         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45506         m4/locale-zh.m4, m4/codeset.m4.
45507
45508         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
45509         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
45510         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
45511         m4/locale-zh.m4.
45512
45513         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
45514         REPLACE_WCRTOMB if mbstate_t must be replaced.
45515         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
45516         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
45517
45518 2009-05-01  Bruno Haible  <bruno@clisp.org>
45519
45520         Avoid compiler warnings when redefining macros defined by <libintl.h>.
45521         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
45522         dngettext, dcngettext, textdomain, bindtextdomain,
45523         bind_textdomain_codeset): Undefine before redefining.
45524
45525 2009-04-30  Bruno Haible  <bruno@clisp.org>
45526
45527         Fix bug introduced on 2009-04-25.
45528         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
45529         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
45530         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
45531         is defined.
45532         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
45533         is defined.
45534         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
45535         is defined.
45536         Reported by Elbert_Pol <elbert.pol@gmail.com>.
45537
45538 2009-04-28  Bruno Haible  <bruno@clisp.org>
45539
45540         Comment tweaks.
45541         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
45542         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
45543         * lib/unicase.h (u*_casexfrm): Likewise.
45544         Reported by Paolo Bonzini.
45545
45546 2009-04-28  Bruno Haible  <bruno@clisp.org>
45547
45548         Fix a compilation error.
45549         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
45550         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45551         Reported by Jim Meyering.
45552
45553 2009-04-27  Bruno Haible  <bruno@clisp.org>
45554
45555         New module 'libunistring'.
45556         * modules/libunistring: New file.
45557         * m4/libunistring.m4: New file.
45558         * MODULES.html.sh (Unicode string functions): Add it.
45559
45560 2009-04-27  Eric Blake  <ebb9@byu.net>
45561
45562         maint.mk: allow package-specific header to provide <config.h>
45563         * top/maint.mk (sc_require_config_h): New variable.
45564         (sc_require_config_h, sc_require_config_h_first): Use it.
45565
45566 2009-04-27  Simon Josefsson  <simon@josefsson.org>
45567
45568         * top/maint.mk (sc_avoid_if_before_free): Except
45569         useless-if-before-free script.
45570
45571 2009-04-27  Eric Blake  <ebb9@byu.net>
45572
45573         maintainer-makefile: depend on all required helper scripts
45574         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
45575         useless-if-before-free.
45576         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
45577         version, rather than assuming gnulib checkout is available.
45578         Reported by Simen Josefsson.
45579
45580 2009-04-26  Bruno Haible  <bruno@clisp.org>
45581
45582         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
45583         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
45584         "../" or "..".
45585
45586 2009-04-26  Bruno Haible  <bruno@clisp.org>
45587
45588         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
45589         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
45590         AC_LIB_HAVE_LINKFLAGS.
45591
45592 2009-04-26  Bruno Haible  <bruno@clisp.org>
45593
45594         Simplify calling convention of u*_conv_from_encoding.
45595         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
45596         u32_conv_from_encoding): Expect a resultbuf argument and return the
45597         result directly as a pointer.
45598         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
45599         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
45600         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
45601         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
45602         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
45603         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45604         Update.
45605         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
45606         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
45607         * lib/vasnprintf.c (VASNPRINTF): Update.
45608         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
45609         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
45610         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
45611         * NEWS: Mention the change.
45612
45613 2009-04-26  Bruno Haible  <bruno@clisp.org>
45614
45615         Simplify calling convention of u*_conv_to_encoding.
45616         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
45617         u32_conv_to_encoding): Expect a resultbuf argument and return the
45618         result directly as a pointer.
45619         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45620         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
45621         freeing scaled_offsets if mem_iconveha failed.
45622         * lib/unicase/u-casexfrm.h (FUNC): Update.
45623         * lib/uninorm/u-normxfrm.h (FUNC): Update.
45624         * lib/vasnprintf.c (VASNPRINTF): Update.
45625         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
45626         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
45627         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
45628         * NEWS: Mention the change.
45629
45630 2009-04-26  Bruno Haible  <bruno@clisp.org>
45631
45632         Avoid test failures on AIX and OSF/1.
45633         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
45634         malloc(0).
45635         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
45636         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
45637         Likewise.
45638         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
45639         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
45640         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
45641         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
45642         * doc/posix-functions/malloc.texi: Document the portability problem
45643         related to malloc(0).
45644
45645 2009-04-26  Bruno Haible  <bruno@clisp.org>
45646
45647         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
45648         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
45649         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
45650
45651 2009-04-25  Bruno Haible  <bruno@clisp.org>
45652
45653         Avoid link error when creating a namespace clean library.
45654         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
45655         as macro with arguments if already defined as an alias.
45656         * lib/signbitf.c (gl_signbitf): Don't undefine.
45657         * lib/signbitd.c (gl_signbitd): Don't undefine.
45658         * lib/signbitl.c (gl_signbitl): Don't undefine.
45659
45660 2009-04-25  Jim Meyering  <meyering@redhat.com>
45661
45662         vc-list-files: fix another quoting bug
45663         * build-aux/vc-list-files: Avoid sed backslash expansion
45664         of pathological directory names.
45665
45666 2009-04-25  Eric Blake  <ebb9@byu.net>
45667
45668         vc-list-files: fix shell quoting error
45669         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
45670         timestamp.
45671
45672 2009-04-25  Jim Meyering  <meyering@redhat.com>
45673
45674         vc-list-files: restore lost functionality with subdir argument
45675         * build-aux/vc-list-files: When given a non-"." sub-directory
45676         argument, substitute the $dir/ prefix back onto each resulting name.
45677         Otherwise, coreutils' root_tests check would fail.
45678
45679 2009-04-24  Eric Blake  <ebb9@byu.net>
45680
45681         vc-list-files: ignore git symlinks
45682         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
45683         than ls-files, to ignore git symlinks.
45684
45685         maint.mk: import improvements from m4
45686         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
45687         (move_if_change): Delete unused macro.
45688         (news-date-check, vc-diff-check): Support VPATH builds.
45689         (announcement): Likewise.  Split --bootstrap-tools list...
45690         (boostrap-tools): ...into separate list, which can be overridden
45691         in cfg.mk.
45692         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
45693         requiring dependency on useless-if-before-free module.
45694         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
45695         Support VPATH builds.
45696
45697 2009-04-24  Jim Meyering  <meyering@redhat.com>
45698
45699         maint.mk: remove coreutils-specific rules and variables
45700         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
45701         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
45702         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
45703
45704         maint.mk: remove obsolete rule
45705         * top/maint.mk (rel-check): Remove rule.
45706         (WGET, WGETFLAGS): Remove now-unused variables.
45707
45708 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45709
45710         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
45711         consistency.
45712
45713         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
45714         '$(PATH_SEPARATOR)' instead of ':'.
45715
45716 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45717
45718         * lib/getopt1.c (main): Use 'const' for static array.
45719
45720 2009-04-24  Simon Josefsson  <simon@josefsson.org>
45721
45722         * top/maint.mk: Sync with coreutils.
45723         * NEWS: Explain incompatibilities.
45724
45725 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45726             Bruno Haible  <bruno@clisp.org>
45727
45728         Fix cross-compilation results.
45729         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
45730         statement, as third argument of AC_TRY_RUN.
45731         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45732         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
45733         Likewise.
45734         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45735         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45736         Likewise.
45737         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45738         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
45739         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
45740
45741 2009-04-20  Bruno Haible  <bruno@clisp.org>
45742
45743         Avoid test failure on mingw.
45744         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
45745
45746 2009-04-20  Bruno Haible  <bruno@clisp.org>
45747
45748         Avoid compilation error on mingw.
45749         * modules/localename-tests (Depends-on): Add locale.
45750
45751 2009-04-19  Bruno Haible  <bruno@clisp.org>
45752
45753         Support for building a shared library on Windows platforms.
45754         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
45755         (main): Test the presence of UNINORM_NFC here.
45756         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
45757         (main): Test the presence of UNINORM_NFD here.
45758         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
45759         (main): Test the presence of UNINORM_NFKC here.
45760         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
45761         (main): Test the presence of UNINORM_NFKD here.
45762
45763 2009-04-19  Bruno Haible  <bruno@clisp.org>
45764
45765         Avoid a compiler warning.
45766         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
45767         Change type of variable 'sequence'.
45768
45769 2009-04-19  Bruno Haible  <bruno@clisp.org>
45770
45771         * modules/configmake (Makefile.am): When the contents of configmake.h
45772         does not change, arrange to preserve its modification time.
45773
45774 2009-04-17  Simon Josefsson  <simon@josefsson.org>
45775
45776         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
45777         gettext domain.
45778
45779 2009-04-16  Jim Meyering  <meyering@redhat.com>
45780
45781         useless-if-before-free: improve conversion code
45782         * build-aux/useless-if-before-free: Adjust code-in-comment to match
45783         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
45784
45785 2009-04-14  Bruno Haible  <bruno@clisp.org>
45786
45787         * modules/fcntl (Depends-on): Add extensions.
45788         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
45789
45790 2009-04-12  Ben Pfaff  <blp@gnu.org>
45791
45792         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
45793         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
45794
45795 2009-03-20  Ben Pfaff  <blp@gnu.org>
45796
45797         Make rename replace existing destinations on Windows.
45798         * m4/rename.m4: Add test for Mingw.
45799         * lib/rename.c: Add rename replacement that uses MoveFileEx with
45800         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
45801         * doc/posix-functions/rename.texi: Document.
45802
45803 2009-04-10  Bruno Haible  <bruno@clisp.org>
45804
45805         New include file "iconveh.h".
45806         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
45807         * lib/striconveh.h: Include it.
45808         (enum iconv_ilseq_handler): Remove definition.
45809         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
45810         striconveh.h.
45811         * lib/striconveha.c: Include striconveh.h.
45812         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
45813         * modules/striconveh (Files): Add lib/iconveh.h.
45814         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
45815         lib/striconveh.h.
45816
45817 2009-04-10  Bruno Haible  <bruno@clisp.org>
45818
45819         * lib/uniconv.h: Update comment.
45820
45821 2009-04-10  Bruno Haible  <bruno@clisp.org>
45822
45823         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
45824         always.
45825         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45826         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45827         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45828         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
45829         "unistring-notinline.h", so that the function gets defined always.
45830         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45831         * lib/unistr/u8-uctomb.c: Likewise.
45832         * lib/unistr/u16-mbtouc.c: Likewise.
45833         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45834         * lib/unistr/u16-uctomb.c: Likewise.
45835         * lib/unistr/u32-mbtouc.c: Likewise.
45836         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45837         * lib/unistr/u32-uctomb.c: Likewise.
45838
45839 2009-04-10  Bruno Haible  <bruno@clisp.org>
45840
45841         Mark 'utime' obsolete.
45842         * modules/utime (Status, Notice): New sections.
45843         Suggested by Jim Meyering.
45844
45845         Fix cross-compile guess for utime test.
45846         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
45847         autoconf.
45848         * doc/posix-functions/utime.texi: Give more precisions.
45849         Reported by Jan <ipif@ymail.com>.
45850
45851 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
45852
45853         filevercmp: correct today's change
45854         * lib/filevercmp.c: Also handle coreutils' test inputs.
45855         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
45856
45857         Fix regression in 'filevercmp' module. Thanks Sven Joachim
45858         for reporting it.
45859         * lib/filevercmp.c: Special handle for "", "." and "..".
45860         * tests/test-filevercmp.c: Enlarge the set suite.
45861
45862 2009-04-07  Jim Meyering  <meyering@redhat.com>
45863
45864         useless-if-before-free: show how to remove braced useless free, too
45865         * build-aux/useless-if-before-free: still only in a comment, though.
45866
45867 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
45868
45869         maint.mk: import changes to syntax-check macros from coreutils
45870         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
45871         Use them in the relevant macros.
45872
45873 2009-04-06  Bruno Haible  <bruno@clisp.org>
45874
45875         Fix unportable use of bit-fields.
45876         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
45877         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
45878         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
45879
45880 2009-04-06  Bruno Haible  <bruno@clisp.org>
45881
45882         Avoid test failures on AIX and OSF/1.
45883         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
45884         that malloc(0) = NULL.
45885         * tests/unicase/test-u8-tolower.c (check): Likewise.
45886         * tests/unicase/test-u8-totitle.c (check): Likewise.
45887         * tests/unicase/test-u8-toupper.c (check): Likewise.
45888         * tests/unicase/test-u16-casefold.c (check): Likewise.
45889         * tests/unicase/test-u16-tolower.c (check): Likewise.
45890         * tests/unicase/test-u16-totitle.c (check): Likewise.
45891         * tests/unicase/test-u16-toupper.c (check): Likewise.
45892         * tests/unicase/test-u32-casefold.c (check): Likewise.
45893         * tests/unicase/test-u32-tolower.c (check): Likewise.
45894         * tests/unicase/test-u32-totitle.c (check): Likewise.
45895         * tests/unicase/test-u32-toupper.c (check): Likewise.
45896         * tests/uninorm/test-u8-nfc.c (check): Likewise.
45897         * tests/uninorm/test-u8-nfd.c (check): Likewise.
45898         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
45899         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
45900         * tests/uninorm/test-u16-nfc.c (check): Likewise.
45901         * tests/uninorm/test-u16-nfd.c (check): Likewise.
45902         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
45903         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
45904         * tests/uninorm/test-u32-nfc.c (check): Likewise.
45905         * tests/uninorm/test-u32-nfd.c (check): Likewise.
45906         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
45907         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
45908
45909 2009-04-05  Bruno Haible  <bruno@clisp.org>
45910
45911         Work around an autoconf limitation.
45912         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
45913         comment line if it would be longer than 3 KB.
45914
45915 2009-04-05  Bruno Haible  <bruno@clisp.org>
45916
45917         Avoid test failure with libiconv-1.13.
45918         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
45919         of the expected test results.
45920
45921 2009-04-05  Bruno Haible  <bruno@clisp.org>
45922
45923         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
45924         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
45925         that it should be installed.
45926
45927 2009-04-05  Bruno Haible  <bruno@clisp.org>
45928
45929         * gnulib-tool: New option --copy-file.
45930         (func_usage): Document it.
45931         (func_dest_tmpfilename): Moved out of func_import.
45932         (func_add_file, func_update_file): New functions, extracted from
45933         func_import.
45934         (func_import): Update.
45935
45936 2009-04-05  Karl Berry  <karl@gnu.org>
45937
45938         * README: prominently mention gnulib-tool.
45939         Rearrange sections so getting the code is near the top.
45940
45941 2009-04-05  Bruno Haible  <bruno@clisp.org>
45942
45943         * lib/unicase.h: Mention u*_cmp2.
45944         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45945         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
45946         * lib/unicase/ulc-casecmp.c: Likewise.
45947         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
45948         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
45949         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
45950         unistr/u8-cmp.
45951         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
45952         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
45953         unistr/u16-cmp.
45954         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
45955         unistr/u32-cmp.
45956
45957         * lib/uninorm.h: Mention u*_cmp2.
45958         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
45959         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
45960         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
45961         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
45962         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
45963         unistr/u8-cmp.
45964         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
45965         unistr/u16-cmp.
45966         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
45967         unistr/u32-cmp.
45968
45969         New module 'unistr/u32-cmp2'.
45970         * lib/unistr/u32-cmp2.c: New file.
45971         * modules/unistr/u32-cmp2: New file.
45972
45973         New module 'unistr/u16-cmp2'.
45974         * lib/unistr/u16-cmp2.c: New file.
45975         * modules/unistr/u16-cmp2: New file.
45976
45977         New module 'unistr/u8-cmp2'.
45978         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
45979         * lib/unistr/u8-cmp2.c: New file.
45980         * lib/unistr/u-cmp2.h: New file.
45981         * modules/unistr/u8-cmp2: New file.
45982
45983 2009-04-05  Bruno Haible  <bruno@clisp.org>
45984
45985         * lib/unictype.h (uc_property_is_valid): New macro.
45986         * tests/unictype/test-pr_byname.c (main): Use it.
45987
45988         * lib/unistr.h: Doc fixes.
45989         * lib/uniconv.h: Doc fixes.
45990         * lib/unictype.h: Doc fixes.
45991
45992 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
45993
45994         Port coreutils 7.2 to Solaris 8.
45995
45996         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
45997         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
45998         for Solaris 8.  This is a bit of a hack, as it means it's the
45999         caller's responsibility to add -lnsl if needed, but most likely it
46000         won't be needed since only getaddrinfo uses this and getaddrinfo
46001         isn't needed on Solaris 8.
46002
46003         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46004         problem to Solaris 8 encountered with coreutils 7.2, which
46005         resulted in a message "fnmatch.c:292: warning: passing argument 4
46006         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46007         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46008
46009 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46010
46011         * m4/ld-version-script.m4: Add FIXME comment.
46012
46013 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46014
46015         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46016         SOVERSION variable.
46017
46018 2009-04-02  Bruno Haible  <bruno@clisp.org>
46019
46020         * Makefile (info, html, dvi, pdf): Combine the rules.
46021         Suggested by Jim Meyering.
46022
46023 2009-04-01  Bruno Haible  <bruno@clisp.org>
46024
46025         * Makefile (info, html, dvi, pdf): New targets.
46026         Reported by Reuben Thomas <rrt@sc3d.org>.
46027
46028 2009-04-01  Bruno Haible  <bruno@clisp.org>
46029
46030         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46031         can be put into PATH.
46032         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46033
46034 2009-04-01  Bruno Haible  <bruno@clisp.org>
46035
46036         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46037
46038 2009-04-01  Bruno Haible  <bruno@clisp.org>
46039
46040         Rename module 'visibility'.
46041         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46042         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46043         * doc/gnulib.texi: Update.
46044         * MODULES.html.sh (Misc): Update.
46045         * NEWS: Mention the change.
46046
46047 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46048
46049         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46050         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46051         Eric Blake <ebb9@byu.net> for review.
46052         * MODULES.html.sh: Add lib-msvc-compat.
46053         * doc/gnulib.texi: Link to new section.
46054         * m4/ld-output-def.m4: New file.
46055         * doc/ld-output-def.texi: New file.
46056
46057 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46058
46059         Rename ld-version-script to lib-symbol-versions.  Suggested by
46060         Bruno Haible <bruno@clisp.org>.
46061         * modules/ld-version-script: Renamed to lib-symbol-versions.
46062         * doc/ld-version-script.texi: Fix module name.
46063         * MODULES.html.sh: Add lib-symbol-versions.
46064
46065 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46066
46067         * modules/u64-tests: New file.
46068         * tests/test-u64.c: New file.
46069
46070 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46071
46072         * MODULES.html.sh: Mention u64.
46073         * modules/u64: New module.
46074         * modules/crypto/sha512: Depend on u64 module instead of providing
46075         u64.h.
46076
46077 2009-03-27  Eric Blake  <ebb9@byu.net>
46078
46079         test-strerror: make debugging EAI_SYSTEM easier
46080         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46081         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46082         failure was EAI_SYSTEM.
46083
46084 2009-03-25  Bruno Haible  <bruno@clisp.org>
46085
46086         Fix a problem with --enable-relocatable on Solaris 7.
46087         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46088         since 2008-02-24.
46089
46090 2009-03-25  Eric Blake  <ebb9@byu.net>
46091
46092         test-sockets: avoid gcc warning
46093         * tests/test-sockets.c (main): Silence compiler warning.
46094
46095 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46096
46097         New modules nproc, pthread, contributed by Glen Lenker.
46098
46099         * MODULES.html.sh: Add pthread, nproc.
46100         * lib/nproc.c: New file.
46101         * lib/nproc.h: New file.
46102         * lib/pthread.in.h: New file.
46103         * m4/pthread.m4: New file.
46104         * modules/nproc: New file.
46105         * modules/pthread: New file.
46106
46107 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46108
46109         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46110         New variable.
46111
46112 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46113
46114         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46115         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46116         * tests/test-filevercmp.c: Add tests for backup suffixes.
46117
46118 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46119
46120         * modules/stdlib (Depends-on): Add stdint, needed when defining
46121         struct random_data on, for example, HP-UX 10.20.  Reported by
46122         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46123
46124 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46125
46126         * lib/readline.c (readline): Call fflush on stdout after printing
46127         prompt.
46128
46129 2009-03-20  Bruno Haible  <bruno@clisp.org>
46130
46131         Remove dependency from 'close' module to -lws2_32 on native Windows.
46132         * lib/close-hook.h: New file.
46133         * lib/close-hook.c: New file.
46134         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46135         w32sock.h.
46136         (_gl_close_fd_maybe_socket): Remove function.
46137         (rpl_close): Invoke execute_all_close_hooks instead of
46138         _gl_close_fd_maybe_socket.
46139         * lib/sockets.c: Include close-hook.h, w32sock.h.
46140         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46141         (close_sockets_hook): New variable.
46142         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46143         (gl_sockets_cleanup): Unregister it.
46144         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46145         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46146         * modules/close-hook: New file.
46147         * modules/close (Files): Remove lib/w32sock.h.
46148         (Depends-on): Add close-hook.
46149         (Link): Remove section.
46150         * modules/sockets (Files): Add lib/w32sock.h.
46151         (Depends-on): Add close-hook.
46152         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46153         invocation.
46154         * NEWS: Mention that LIB_CLOSE is gone.
46155
46156 2009-03-23  Eric Blake  <ebb9@byu.net>
46157
46158         signal-tests: test previous patch
46159         * tests/test-signal.c: New file.
46160         * modules/signal-tests: Likewise.
46161
46162         signal.h: always support 'volatile sig_atomic_t'
46163         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46164         (gl_SIGNAL_H_DEFAULTS): Add a default.
46165         * modules/signal (Makefile.am): Substitute if needed.
46166         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46167         users can blindly add volatile.
46168         * doc/posix-headers/signal.texi (signal.h): Document it.
46169         Reported by Matthew Woehlke.
46170
46171 2009-03-23  Jim Meyering  <meyering@redhat.com>
46172
46173         pathmax: PATH_MAX: use pathconf only when available
46174         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
46175         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
46176         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
46177         This avoids a link failure in a PSP cross-compilation environment
46178         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
46179
46180         * lib/vasnprintf.c (divide): Fix typo in comment.
46181
46182 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46183
46184         * gnulib-tool (func_filter_filelist): Fix comment.
46185
46186 2009-03-20  Bruno Haible  <bruno@clisp.org>
46187
46188         Make sockets.h self-contained.
46189         * lib/sockets.c: Include sockets.h first.
46190         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
46191
46192 2009-03-19  Eric Blake  <ebb9@byu.net>
46193
46194         doc: mention more functions added in cygwin 1.7.0
46195         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
46196         addition.
46197         * doc/posix-functions/log2f.texi: Likewise.
46198
46199 2009-03-19  Jim Meyering  <meyering@redhat.com>
46200
46201         fsusage: avoid syntax error due to statement-before-declaration
46202         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
46203         after all declarations.  Reported by Matthew Woehlke in
46204         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
46205
46206 2009-03-18  Eric Blake  <ebb9@byu.net>
46207
46208         build-aux/compile: sync from automake
46209         * build-aux/compile: New file, from automake.
46210         * config/srclist.txt: Mention build-aux/compile.
46211
46212 2009-03-17  Bruno Haible  <bruno@clisp.org>
46213
46214         * lib/git-merge-changelog.c: Fix typo in comment.
46215         Reported by Reuben Thomas <rrt@sc3d.org>.
46216
46217 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
46218
46219         * m4/regex.m4: update and improve help for
46220         --without-included-regex.
46221
46222 2009-03-17  Simon Josefsson  <simon@josefsson.org>
46223
46224         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
46225         failure on missing include files.
46226
46227 2009-03-17  Eric Blake  <ebb9@byu.net>
46228
46229         doc: mention more functions added in cygwin 1.7.0
46230         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
46231         addition.
46232         * doc/posix-functions/fwscanf.texi: Likewise.
46233         * doc/posix-functions/swprintf.texi: Likewise.
46234         * doc/posix-functions/swscanf.texi: Likewise.
46235         * doc/posix-functions/vfwprintf.texi: Likewise.
46236         * doc/posix-functions/vfwscanf.texi: Likewise.
46237         * doc/posix-functions/vswprintf.texi: Likewise.
46238         * doc/posix-functions/vswscanf.texi: Likewise.
46239         * doc/posix-functions/vwprintf.texi: Likewise.
46240         * doc/posix-functions/vwscanf.texi: Likewise.
46241         * doc/posix-functions/wcscasecmp.texi: Likewise.
46242         * doc/posix-functions/wcsdup.texi: Likewise.
46243         * doc/posix-functions/wcsftime.texi: Likewise.
46244         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46245         * doc/posix-functions/wprintf.texi: Likewise.
46246         * doc/posix-functions/wscanf.texi: Likewise.
46247         * doc/glibc-functions/gethostbyname2.texi: Likewise.
46248
46249 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46250
46251         maint.mk: really add $(AM_MAKEFLAGS)
46252         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
46253         was inadvertently omitted in the last commit.
46254         Spotted by Bruno Haible.
46255
46256         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
46257         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
46258         $(AM_MAKEFLAGS)' rather than plain `make'.
46259
46260         gnulib-tool: execute $MAKE not make
46261         * gnulib-tool: Default $MAKE to 'make'.
46262         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
46263         than make.  Initialize $MAKE in the do-autobuild script.
46264
46265         gnulib-tool: use $MAKE not make in generated files
46266         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
46267         make, in generated files.  Initialize $MAKE in the do-autobuild
46268         script.
46269
46270         * top/GNUmakefile (_have-git-version-gen): Fix typo.
46271
46272         GNUmakefile: disable parallelism only for multiple, recursive targets
46273         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
46274         additions in the Makefile.
46275         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
46276         by Automake.
46277         (.NOTPARALLEL): Only disable parallel builds if multiple targets
46278         are listed on the command line and at least one of them is
46279         listed in $(ALL_RECURSIVE_TARGETS).
46280
46281 2009-03-14  Bruno Haible  <bruno@clisp.org>
46282
46283         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
46284         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
46285         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
46286         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
46287         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
46288         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
46289         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
46290         unistr/u8-uctomb.
46291         * modules/unistr/u8-strchr (Depends-on): Likewise.
46292         * modules/unistr/u8-strrchr (Depends-on): Likewise.
46293         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
46294         unistr/u16-uctomb.
46295         * modules/unistr/u16-strchr (Depends-on): Likewise.
46296         * modules/unistr/u16-strrchr (Depends-on): Likewise.
46297
46298 2009-03-12  Bruno Haible  <bruno@clisp.org>
46299
46300         Work around select() bug on Interix 3.5.
46301         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
46302         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
46303         * m4/select.m4: New file.
46304         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
46305         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
46306         * modules/select (Files): Add m4/select.m4.
46307         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
46308         * modules/nanosleep (Depends-on): Add select.
46309         * modules/poll (Depends-on): Likewise.
46310         * doc/posix-functions/select.texi: Mention the Interix bug.
46311         Reported by Markus Duft <mduft@gentoo.org>.
46312
46313         * lib/select.c: Renamed from lib/winsock-select.c.
46314         * modules/select (Files): Add lib/select.c, remove
46315         lib/winsock-select.c.
46316         (configure.ac): Update.
46317
46318 2009-03-12  Jim Meyering  <meyering@redhat.com>
46319
46320         avoid gcc warnings about unused macro definitions
46321         * lib/readtokens.c (STREQ): Remove unused definition.
46322         * lib/xmalloc.c (SIZE_MAX): Likewise.
46323         * lib/openat-die.c (N_): Likewise.
46324         * lib/mountlist.c (SIZE_MAX): Remove definition.
46325         Instead, include <stdint.h>.
46326         * lib/readutmp.c: Likewise.
46327         * modules/readutmp (Depends-on): Add stdint.
46328         * modules/mountlist (Depends-on): Add stdint.
46329         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
46330
46331 2009-03-10  Bruno Haible  <bruno@clisp.org>
46332
46333         Tests for module 'mbmemcasecoll'.
46334         * modules/mbmemcasecoll-tests: New file.
46335         * tests/test-mbmemcasecoll1.sh: New file.
46336         * tests/test-mbmemcasecoll2.sh: New file.
46337         * tests/test-mbmemcasecoll3.sh: New file.
46338         * tests/test-mbmemcasecoll.c: New file.
46339
46340         New module 'mbmemcasecoll'.
46341         * lib/mbmemcasecoll.h: New file.
46342         * lib/mbmemcasecoll.c: New file.
46343         * modules/mbmemcasecoll: New file.
46344
46345         * tests/test-mbmemcasecmp.h: New file, extracted from
46346         tests/test-mbmemcasecmp.c.
46347         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
46348         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
46349         (main): Update.
46350         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
46351
46352 2009-03-09  Bruno Haible  <bruno@clisp.org>
46353
46354         Tests for module 'mbmemcasecmp'.
46355         * modules/mbmemcasecmp-tests: New file.
46356         * tests/test-mbmemcasecmp1.sh: New file.
46357         * tests/test-mbmemcasecmp2.sh: New file.
46358         * tests/test-mbmemcasecmp3.sh: New file.
46359         * tests/test-mbmemcasecmp.c: New file.
46360
46361         New module 'mbmemcasecmp'.
46362         * lib/mbmemcasecmp.h: New file.
46363         * lib/mbmemcasecmp.c: New file.
46364         * modules/mbmemcasecmp: New file.
46365
46366 2009-03-09  Bruno Haible  <bruno@clisp.org>
46367
46368         Tests for module 'unicase/ulc-casecoll'.
46369         * modules/unicase/ulc-casecoll-tests: New file.
46370         * tests/unicase/test-ulc-casecoll1.sh: New file.
46371         * tests/unicase/test-ulc-casecoll2.sh: New file.
46372         * tests/unicase/test-ulc-casecoll.c: New file.
46373
46374         New module 'unicase/ulc-casecoll'.
46375         * lib/unicase.h (ulc_casecoll): New declaration.
46376         * lib/unicase/ulc-casecoll.c: New file.
46377         * modules/unicase/ulc-casecoll: New file.
46378
46379         New module 'unicase/ulc-casexfrm'.
46380         * lib/unicase.h (ulc_casexfrm): New declaration.
46381         * lib/unicase/ulc-casexfrm.c: New file.
46382         * modules/unicase/ulc-casexfrm: New file.
46383
46384 2009-03-09  Bruno Haible  <bruno@clisp.org>
46385
46386         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
46387         invocations.
46388
46389         * m4/mbscasecmp.m4: Remove file.
46390         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
46391         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
46392
46393         * m4/mbscasestr.m4: Remove file.
46394         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
46395         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
46396
46397         * m4/mbschr.m4: Remove file.
46398         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
46399         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
46400
46401         * m4/mbscspn.m4: Remove file.
46402         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
46403         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
46404
46405         * m4/mbslen.m4: Remove file.
46406         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
46407         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
46408
46409         * m4/mbsncasecmp.m4: Remove file.
46410         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
46411         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
46412
46413         * m4/mbsnlen.m4: Remove file.
46414         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
46415         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
46416
46417         * m4/mbspbrk.m4: Remove file.
46418         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
46419         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
46420
46421         * m4/mbspcasecmp.m4: Remove file.
46422         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
46423         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
46424
46425         * m4/mbsrchr.m4: Remove file.
46426         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
46427         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
46428
46429         * m4/mbssep.m4: Remove file.
46430         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
46431         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
46432
46433         * m4/mbsspn.m4: Remove file.
46434         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
46435         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
46436
46437         * m4/mbsstr.m4: Remove file.
46438         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
46439         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
46440
46441         * m4/mbstok_r.m4: Remove file.
46442         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
46443         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
46444
46445         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
46446
46447         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
46448         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
46449
46450         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
46451
46452 2009-03-08  Bruno Haible  <bruno@clisp.org>
46453
46454         Tests for module 'unicase/ulc-casecmp'.
46455         * modules/unicase/ulc-casecmp-tests: New file.
46456         * tests/unicase/test-ulc-casecmp1.sh: New file.
46457         * tests/unicase/test-ulc-casecmp2.sh: New file.
46458         * tests/unicase/test-ulc-casecmp.c: New file.
46459
46460         New module 'unicase/ulc-casecmp'.
46461         * lib/unicase.h (ulc_casecmp): New declaration.
46462         * lib/unicase/ulc-casecmp.c: New file.
46463         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
46464         'const SRC_UNIT *'.
46465         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
46466         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
46467         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
46468         * modules/unicase/ulc-casecmp: New file.
46469
46470         Tests for module 'unicase/u32-is-cased'.
46471         * modules/unicase/u32-is-cased-tests: New file.
46472         * tests/unicase/test-u32-is-cased.c: New file.
46473
46474         Tests for module 'unicase/u16-is-cased'.
46475         * modules/unicase/u16-is-cased-tests: New file.
46476         * tests/unicase/test-u16-is-cased.c: New file.
46477
46478         Tests for module 'unicase/u8-is-cased'.
46479         * modules/unicase/u8-is-cased-tests: New file.
46480         * tests/unicase/test-u8-is-cased.c: New file.
46481         * tests/unicase/test-is-cased.h: New file.
46482
46483         New module 'unicase/u32-is-cased'.
46484         * lib/unicase/u32-is-cased.c: New file.
46485         * modules/unicase/u32-is-cased: New file.
46486
46487         New module 'unicase/u16-is-cased'.
46488         * lib/unicase/u16-is-cased.c: New file.
46489         * modules/unicase/u16-is-cased: New file.
46490
46491         New module 'unicase/u8-is-cased'.
46492         * lib/unicase/u8-is-cased.c: New file.
46493         * lib/unicase/u-is-cased.h: New file.
46494         * modules/unicase/u8-is-cased: New file.
46495
46496         Tests for module 'unicase/u32-is-casefolded'.
46497         * modules/unicase/u32-is-casefolded-tests: New file.
46498         * tests/unicase/test-u32-is-casefolded.c: New file.
46499
46500         Tests for module 'unicase/u16-is-casefolded'.
46501         * modules/unicase/u16-is-casefolded-tests: New file.
46502         * tests/unicase/test-u16-is-casefolded.c: New file.
46503
46504         Tests for module 'unicase/u8-is-casefolded'.
46505         * modules/unicase/u8-is-casefolded-tests: New file.
46506         * tests/unicase/test-u8-is-casefolded.c: New file.
46507         * tests/unicase/test-is-casefolded.h: New file.
46508
46509         New module 'unicase/u32-is-casefolded'.
46510         * lib/unicase/u32-is-casefolded.c: New file.
46511         * modules/unicase/u32-is-casefolded: New file.
46512
46513         New module 'unicase/u16-is-casefolded'.
46514         * lib/unicase/u16-is-casefolded.c: New file.
46515         * modules/unicase/u16-is-casefolded: New file.
46516
46517         New module 'unicase/u8-is-casefolded'.
46518         * lib/unicase/u8-is-casefolded.c: New file.
46519         * modules/unicase/u8-is-casefolded: New file.
46520
46521         Tests for module 'unicase/u32-is-titlecase'.
46522         * modules/unicase/u32-is-titlecase-tests: New file.
46523         * tests/unicase/test-u32-is-titlecase.c: New file.
46524
46525         Tests for module 'unicase/u16-is-titlecase'.
46526         * modules/unicase/u16-is-titlecase-tests: New file.
46527         * tests/unicase/test-u16-is-titlecase.c: New file.
46528
46529         Tests for module 'unicase/u8-is-titlecase'.
46530         * modules/unicase/u8-is-titlecase-tests: New file.
46531         * tests/unicase/test-u8-is-titlecase.c: New file.
46532         * tests/unicase/test-is-titlecase.h: New file.
46533
46534         New module 'unicase/u32-is-titlecase'.
46535         * lib/unicase/u32-is-titlecase.c: New file.
46536         * modules/unicase/u32-is-titlecase: New file.
46537
46538         New module 'unicase/u16-is-titlecase'.
46539         * lib/unicase/u16-is-titlecase.c: New file.
46540         * modules/unicase/u16-is-titlecase: New file.
46541
46542         New module 'unicase/u8-is-titlecase'.
46543         * lib/unicase/u8-is-titlecase.c: New file.
46544         * modules/unicase/u8-is-titlecase: New file.
46545
46546         Tests for module 'unicase/u32-is-lowercase'.
46547         * modules/unicase/u32-is-lowercase-tests: New file.
46548         * tests/unicase/test-u32-is-lowercase.c: New file.
46549
46550         Tests for module 'unicase/u16-is-lowercase'.
46551         * modules/unicase/u16-is-lowercase-tests: New file.
46552         * tests/unicase/test-u16-is-lowercase.c: New file.
46553
46554         Tests for module 'unicase/u8-is-lowercase'.
46555         * modules/unicase/u8-is-lowercase-tests: New file.
46556         * tests/unicase/test-u8-is-lowercase.c: New file.
46557         * tests/unicase/test-is-lowercase.h: New file.
46558
46559         New module 'unicase/u32-is-lowercase'.
46560         * lib/unicase/u32-is-lowercase.c: New file.
46561         * modules/unicase/u32-is-lowercase: New file.
46562
46563         New module 'unicase/u16-is-lowercase'.
46564         * lib/unicase/u16-is-lowercase.c: New file.
46565         * modules/unicase/u16-is-lowercase: New file.
46566
46567         New module 'unicase/u8-is-lowercase'.
46568         * lib/unicase/u8-is-lowercase.c: New file.
46569         * modules/unicase/u8-is-lowercase: New file.
46570
46571         Tests for module 'unicase/u32-is-uppercase'.
46572         * modules/unicase/u32-is-uppercase-tests: New file.
46573         * tests/unicase/test-u32-is-uppercase.c: New file.
46574
46575         Tests for module 'unicase/u16-is-uppercase'.
46576         * modules/unicase/u16-is-uppercase-tests: New file.
46577         * tests/unicase/test-u16-is-uppercase.c: New file.
46578
46579         Tests for module 'unicase/u8-is-uppercase'.
46580         * modules/unicase/u8-is-uppercase-tests: New file.
46581         * tests/unicase/test-u8-is-uppercase.c: New file.
46582         * tests/unicase/test-is-uppercase.h: New file.
46583
46584         New module 'unicase/u32-is-uppercase'.
46585         * lib/unicase/u32-is-uppercase.c: New file.
46586         * modules/unicase/u32-is-uppercase: New file.
46587
46588         New module 'unicase/u16-is-uppercase'.
46589         * lib/unicase/u16-is-uppercase.c: New file.
46590         * modules/unicase/u16-is-uppercase: New file.
46591
46592         New module 'unicase/u8-is-uppercase'.
46593         * lib/unicase/u8-is-uppercase.c: New file.
46594         * modules/unicase/u8-is-uppercase: New file.
46595
46596         New module 'unicase/u32-is-invariant'.
46597         * lib/unicase/u32-is-invariant.c: New file.
46598         * modules/unicase/u32-is-invariant: New file.
46599
46600         New module 'unicase/u16-is-invariant'.
46601         * lib/unicase/u16-is-invariant.c: New file.
46602         * modules/unicase/u16-is-invariant: New file.
46603
46604         New module 'unicase/u8-is-invariant'.
46605         * lib/unicase/u8-is-invariant.c: New file.
46606         * lib/unicase/invariant.h: New file.
46607         * lib/unicase/u-is-invariant.h: New file.
46608         * modules/unicase/u8-is-invariant: New file.
46609
46610         Tests for module 'unicase/u32-casecoll'.
46611         * modules/unicase/u32-casecoll-tests: New file.
46612         * tests/unicase/test-u32-casecoll.c: New file.
46613
46614         Tests for module 'unicase/u16-casecoll'.
46615         * modules/unicase/u16-casecoll-tests: New file.
46616         * tests/unicase/test-u16-casecoll.c: New file.
46617
46618         Tests for module 'unicase/u8-casecoll'.
46619         * modules/unicase/u8-casecoll-tests: New file.
46620         * tests/unicase/test-u8-casecoll.c: New file.
46621
46622         New module 'unicase/u32-casecoll'.
46623         * lib/unicase/u32-casecoll.c: New file.
46624         * modules/unicase/u32-casecoll: New file.
46625
46626         New module 'unicase/u16-casecoll'.
46627         * lib/unicase/u16-casecoll.c: New file.
46628         * modules/unicase/u16-casecoll: New file.
46629
46630         New module 'unicase/u8-casecoll'.
46631         * lib/unicase/u8-casecoll.c: New file.
46632         * lib/unicase/u-casecoll.h: New file.
46633         * modules/unicase/u8-casecoll: New file.
46634
46635         New module 'unicase/u32-casexfrm'.
46636         * lib/unicase/u32-casexfrm.c: New file.
46637         * modules/unicase/u32-casexfrm: New file.
46638
46639         New module 'unicase/u16-casexfrm'.
46640         * lib/unicase/u16-casexfrm.c: New file.
46641         * modules/unicase/u16-casexfrm: New file.
46642
46643         New module 'unicase/u8-casexfrm'.
46644         * lib/unicase/u8-casexfrm.c: New file.
46645         * lib/unicase/u-casexfrm.h: New file.
46646         * modules/unicase/u8-casexfrm: New file.
46647
46648         Tests for module 'unicase/u32-casecmp'.
46649         * modules/unicase/u32-casecmp-tests: New file.
46650         * tests/unicase/test-u32-casecmp.c: New file.
46651
46652         Tests for module 'unicase/u16-casecmp'.
46653         * modules/unicase/u16-casecmp-tests: New file.
46654         * tests/unicase/test-u16-casecmp.c: New file.
46655
46656         Tests for module 'unicase/u8-casecmp'.
46657         * modules/unicase/u8-casecmp-tests: New file.
46658         * tests/unicase/test-u8-casecmp.c: New file.
46659         * tests/unicase/test-casecmp.h: New file.
46660
46661         New module 'unicase/u32-casecmp'.
46662         * lib/unicase/u32-casecmp.c: New file.
46663         * modules/unicase/u32-casecmp: New file.
46664
46665         New module 'unicase/u16-casecmp'.
46666         * lib/unicase/u16-casecmp.c: New file.
46667         * modules/unicase/u16-casecmp: New file.
46668
46669         New module 'unicase/u8-casecmp'.
46670         * lib/unicase/u8-casecmp.c: New file.
46671         * lib/unicase/u-casecmp.h: New file.
46672         * modules/unicase/u8-casecmp: New file.
46673
46674         Tests for module 'unicase/u32-casefold'.
46675         * modules/unicase/u32-casefold-tests: New file.
46676         * tests/unicase/test-u32-casefold.c: New file.
46677
46678         Tests for module 'unicase/u16-casefold'.
46679         * modules/unicase/u16-casefold-tests: New file.
46680         * tests/unicase/test-u16-casefold.c: New file.
46681
46682         Tests for module 'unicase/u8-casefold'.
46683         * modules/unicase/u8-casefold-tests: New file.
46684         * tests/unicase/test-u8-casefold.c: New file.
46685
46686         New module 'unicase/u32-casefold'.
46687         * lib/unicase/u32-casefold.c: New file.
46688         * modules/unicase/u32-casefold: New file.
46689
46690         New module 'unicase/u16-casefold'.
46691         * lib/unicase/u16-casefold.c: New file.
46692         * modules/unicase/u16-casefold: New file.
46693
46694         New module 'unicase/u8-casefold'.
46695         * lib/unicase/u8-casefold.c: New file.
46696         * lib/unicase/u-casefold.h: New file.
46697         * modules/unicase/u8-casefold: New file.
46698
46699         New module 'unicase/tocasefold'.
46700         * lib/unicase/casefold.h: New file.
46701         * lib/unicase/tocasefold.c: New file.
46702         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
46703         * modules/unicase/tocasefold: New file.
46704
46705         Tests for module 'unicase/u32-totitle'.
46706         * modules/unicase/u32-totitle-tests: New file.
46707         * tests/unicase/test-u32-totitle.c: New file.
46708
46709         Tests for module 'unicase/u16-totitle'.
46710         * modules/unicase/u16-totitle-tests: New file.
46711         * tests/unicase/test-u16-totitle.c: New file.
46712
46713         Tests for module 'unicase/u8-totitle'.
46714         * modules/unicase/u8-totitle-tests: New file.
46715         * tests/unicase/test-u8-totitle.c: New file.
46716
46717         New module 'unicase/u32-totitle'.
46718         * lib/unicase/u32-totitle.c: New file.
46719         * modules/unicase/u32-totitle: New file.
46720
46721         New module 'unicase/u16-totitle'.
46722         * lib/unicase/u16-totitle.c: New file.
46723         * modules/unicase/u16-totitle: New file.
46724
46725         New module 'unicase/u8-totitle'.
46726         * lib/unicase/u8-totitle.c: New file.
46727         * lib/unicase/u-totitle.h: New file.
46728         * modules/unicase/u8-totitle: New file.
46729
46730         Tests for module 'unicase/u32-tolower'.
46731         * modules/unicase/u32-tolower-tests: New file.
46732         * tests/unicase/test-u32-tolower.c: New file.
46733
46734         Tests for module 'unicase/u16-tolower'.
46735         * modules/unicase/u16-tolower-tests: New file.
46736         * tests/unicase/test-u16-tolower.c: New file.
46737
46738         Tests for module 'unicase/u8-tolower'.
46739         * modules/unicase/u8-tolower-tests: New file.
46740         * tests/unicase/test-u8-tolower.c: New file.
46741
46742         New module 'unicase/u32-tolower'.
46743         * lib/unicase/u32-tolower.c: New file.
46744         * modules/unicase/u32-tolower: New file.
46745
46746         New module 'unicase/u16-tolower'.
46747         * lib/unicase/u16-tolower.c: New file.
46748         * modules/unicase/u16-tolower: New file.
46749
46750         New module 'unicase/u8-tolower'.
46751         * lib/unicase/u8-tolower.c: New file.
46752         * modules/unicase/u8-tolower: New file.
46753
46754         Tests for module 'unicase/u32-toupper'.
46755         * modules/unicase/u32-toupper-tests: New file.
46756         * tests/unicase/test-u32-toupper.c: New file.
46757
46758         Tests for module 'unicase/u16-toupper'.
46759         * modules/unicase/u16-toupper-tests: New file.
46760         * tests/unicase/test-u16-toupper.c: New file.
46761
46762         Tests for module 'unicase/u8-toupper'.
46763         * modules/unicase/u8-toupper-tests: New file.
46764         * tests/unicase/test-u8-toupper.c: New file.
46765
46766         New module 'unicase/u32-toupper'.
46767         * lib/unicase/u32-toupper.c: New file.
46768         * modules/unicase/u32-toupper: New file.
46769
46770         New module 'unicase/u16-toupper'.
46771         * lib/unicase/u16-toupper.c: New file.
46772         * modules/unicase/u16-toupper: New file.
46773
46774         New module 'unicase/u8-toupper'.
46775         * lib/unicase/u8-toupper.c: New file.
46776         * modules/unicase/u8-toupper: New file.
46777
46778         New module 'unicase/u32-casemap'.
46779         * lib/unicase/u32-casemap.c: New file.
46780         * modules/unicase/u32-casemap: New file.
46781
46782         New module 'unicase/u16-casemap'.
46783         * lib/unicase/u16-casemap.c: New file.
46784         * modules/unicase/u16-casemap: New file.
46785
46786         New module 'unicase/u8-casemap'.
46787         * lib/unicase/unicasemap.h: New file.
46788         * lib/unicase/u8-casemap.c: New file.
46789         * lib/unicase/u-casemap.h: New file.
46790         * modules/unicase/u8-casemap: New file.
46791
46792         New module 'unicase/special-casing'.
46793         * lib/unicase/special-casing.h: New file.
46794         * lib/unicase/special-casing.c: New file.
46795         * lib/unicase/special-casing-table.gperf: New file, generated by
46796         gen-uni-tables.c.
46797         * modules/unicase/special-casing: New file.
46798
46799         Tests for module 'unicase/locale-language'.
46800         * modules/unicase/locale-language-tests: New file.
46801         * tests/unicase/test-locale-language.sh: New file.
46802         * tests/unicase/test-locale-language.c: New file.
46803
46804         New module 'unicase/locale-language'.
46805         * lib/unicase/locale-language.c: New file.
46806         * lib/unicase/locale-languages.gperf: New file.
46807         * modules/unicase/locale-language: New file.
46808
46809         Generate more tables for case conversion and case folding.
46810         * lib/gen-uni-tables.c (SCC_*): New enum items.
46811         (struct special_casing_rule): New type.
46812         (casing_rules, num_casing_rules, allocated_casing_rules): New
46813         variables.
46814         (add_casing_rule, fill_casing_rules): New functions.
46815         (struct casefold_rule): New type.
46816         (casefolding_rules, num_casefolding_rules,
46817         allocated_casefolding_rules): New variables.
46818         (fill_casefolding_rules): New function.
46819         (unicode_casefold): New variable.
46820         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
46821         sort_casing_rules, output_casing_rules): New functions.
46822         (main): Accept to more arguments: SpecialCasing.txt and
46823         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
46824         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
46825         Output mapping for casefolding.
46826
46827         * lib/unicase.h: Include stdbool.h, uninorm.h.
46828         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
46829         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
46830         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
46831         arguments.
46832         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
46833         resultp arguments.
46834         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
46835         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
46836         resultp arguments.
46837         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
46838         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
46839         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
46840         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
46841         declarations.
46842         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
46843
46844 2009-03-08  Bruno Haible  <bruno@clisp.org>
46845
46846         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46847         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
46848         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
46849         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46850
46851 2009-03-07  Bruno Haible  <bruno@clisp.org>
46852
46853         Adjust u*_normcmp, u*_normcoll API.
46854         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
46855         u16_normcoll, u32_normcoll): Change failure conventions.
46856         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
46857         errno and return -1.
46858         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
46859
46860 2009-03-07  Bruno Haible  <bruno@clisp.org>
46861
46862         Tests for module 'uninorm/u32-normcoll'.
46863         * modules/uninorm/u32-normcoll-tests: New file.
46864         * tests/uninorm/test-u32-normcoll.c: New file.
46865
46866         Tests for module 'uninorm/u16-normcoll'.
46867         * modules/uninorm/u16-normcoll-tests: New file.
46868         * tests/uninorm/test-u16-normcoll.c: New file.
46869
46870         Tests for module 'uninorm/u8-normcoll'.
46871         * modules/uninorm/u8-normcoll-tests: New file.
46872         * tests/uninorm/test-u8-normcoll.c: New file.
46873
46874 2009-03-07  Bruno Haible  <bruno@clisp.org>
46875
46876         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
46877         tests/uninorm/test-u32-normcmp.c.
46878         * tests/uninorm/test-u32-normcmp.c: Include it.
46879         (test_nonascii): New function, extracted from main. Add some more
46880         tests.
46881         (main): Invoke test_ascii and test_nonascii.
46882         * modules/uninorm/u32-normcmp-tests (Files): Add
46883         tests/uninorm/test-u32-normcmp.h.
46884         (Depends-on): Remove uninorm/u32-normcmp.
46885
46886         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
46887         tests/uninorm/test-u16-normcmp.c.
46888         * tests/uninorm/test-u16-normcmp.c: Include it.
46889         (test_nonascii): New function, extracted from main. Add some more
46890         tests.
46891         (main): Invoke test_ascii and test_nonascii.
46892         * modules/uninorm/u16-normcmp-tests (Files): Add
46893         tests/uninorm/test-u16-normcmp.h.
46894         (Depends-on): Remove uninorm/u16-normcmp.
46895
46896         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
46897         tests/uninorm/test-u8-normcmp.c.
46898         * tests/uninorm/test-u8-normcmp.c: Include it.
46899         (test_nonascii): New function, extracted from main. Add some more
46900         tests.
46901         (main): Invoke test_ascii and test_nonascii.
46902         * modules/uninorm/u8-normcmp-tests (Files): Add
46903         tests/uninorm/test-u8-normcmp.h.
46904         (Depends-on): Remove uninorm/u8-normcmp.
46905
46906 2009-03-07  Bruno Haible  <bruno@clisp.org>
46907
46908         New module 'uninorm/u32-normcoll'.
46909         * lib/uninorm/u32-normcoll.c: New file.
46910         * modules/uninorm/u32-normcoll: New file.
46911
46912         New module 'uninorm/u16-normcoll'.
46913         * lib/uninorm/u16-normcoll.c: New file.
46914         * modules/uninorm/u16-normcoll: New file.
46915
46916         New module 'uninorm/u8-normcoll'.
46917         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
46918         declarations.
46919         * lib/uninorm/u8-normcoll.c: New file.
46920         * lib/uninorm/u-normcoll.h: New file.
46921         * modules/uninorm/u8-normcoll: New file.
46922
46923         New module 'uninorm/u32-normxfrm'.
46924         * lib/uninorm/u32-normxfrm.c: New file.
46925         * modules/uninorm/u32-normxfrm: New file.
46926
46927         New module 'uninorm/u16-normxfrm'.
46928         * lib/uninorm/u16-normxfrm.c: New file.
46929         * modules/uninorm/u16-normxfrm: New file.
46930
46931         New module 'uninorm/u8-normxfrm'.
46932         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
46933         declarations.
46934         * lib/uninorm/u8-normxfrm.c: New file.
46935         * lib/uninorm/u-normxfrm.h: New file.
46936         * modules/uninorm/u8-normxfrm: New file.
46937
46938 2009-03-07  Bruno Haible  <bruno@clisp.org>
46939
46940         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
46941         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
46942         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
46943
46944 2009-03-07  Bruno Haible  <bruno@clisp.org>
46945
46946         New module 'memxfrm'.
46947         * lib/memxfrm.h: New file.
46948         * lib/memxfrm.c: New file.
46949         * modules/memxfrm: New file.
46950
46951 2009-03-07  Bruno Haible  <bruno@clisp.org>
46952
46953         New module 'memcmp2'.
46954         * lib/memcmp2.h: New file.
46955         * lib/memcmp2.c: New file.
46956         * modules/memcmp2: New file.
46957
46958 2009-03-07  Bruno Haible  <bruno@clisp.org>
46959
46960         Tests for module 'uninorm/decomposing-form'.
46961         * modules/uninorm/decomposing-form-tests: New file.
46962         * tests/uninorm/test-decomposing-form.c: New file.
46963
46964         New module 'uninorm/decomposing-form'.
46965         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
46966         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
46967         Add 'decomposing_variant' field.
46968         * lib/uninorm/decomposing-form.c: New file.
46969         * lib/uninorm/nfc.c (uninorm_nfc): Update.
46970         * lib/uninorm/nfd.c (uninorm_nfd): Update.
46971         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
46972         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
46973         * modules/uninorm/decomposing-form: New file.
46974         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
46975         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
46976
46977 2009-03-07  Bruno Haible  <bruno@clisp.org>
46978
46979         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
46980         strings.
46981
46982 2009-03-06  Bruno Haible  <bruno@clisp.org>
46983
46984         Tests for module 'uninorm/u32-normcmp'.
46985         * tests/uninorm/test-u32-normcmp.c: New file.
46986         * modules/uninorm/u32-normcmp-tests: New file.
46987
46988         Tests for module 'uninorm/u16-normcmp'.
46989         * tests/uninorm/test-u16-normcmp.c: New file.
46990         * modules/uninorm/u16-normcmp-tests: New file.
46991
46992         Tests for module 'uninorm/u8-normcmp'.
46993         * tests/uninorm/test-u8-normcmp.c: New file.
46994         * modules/uninorm/u8-normcmp-tests: New file.
46995
46996         New module 'uninorm/u32-normcmp'.
46997         * lib/uninorm/u32-normcmp.c: New file.
46998         * modules/uninorm/u32-normcmp: New file.
46999
47000         New module 'uninorm/u16-normcmp'.
47001         * lib/uninorm/u16-normcmp.c: New file.
47002         * modules/uninorm/u16-normcmp: New file.
47003
47004         New module 'uninorm/u8-normcmp'.
47005         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47006         declarations.
47007         * lib/uninorm/u8-normcmp.c: New file.
47008         * lib/uninorm/u-normcmp.h: New file.
47009         * modules/uninorm/u8-normcmp: New file.
47010
47011 2009-03-06  Bruno Haible  <bruno@clisp.org>
47012
47013         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47014         Reported by Eric Blake.
47015
47016 2009-03-06  Eric Blake  <ebb9@byu.net>
47017             Bruno Haible  <bruno@clisp.org>
47018
47019         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47020         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47021         condition.
47022         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47023         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47024         condition.
47025         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47026
47027 2009-03-06  Eric Blake  <ebb9@byu.net>
47028
47029         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47030         to avoid compiler warnings.
47031         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47032
47033 2009-03-05  Bruno Haible  <bruno@clisp.org>
47034
47035         * tests/test-ftell.c (main): Disable test beyond end of file on
47036         FreeMiNT.
47037         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47038
47039 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47040
47041         * lib/filevercmp.c: Move hidden files up in ordering.
47042         * tests/test-filevercmp.c: Add tests for hidden files.
47043
47044 2009-03-04  Bruno Haible  <bruno@clisp.org>
47045
47046         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47047         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47048         AM_CFLAGS.
47049         Reported by Simon Josefsson.
47050
47051 2009-03-03  Bruno Haible  <bruno@clisp.org>
47052
47053         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47054         Reported by Simon Josefsson.
47055
47056         * doc/ld-version-script.texi: Update node reference.
47057
47058 2009-03-03  Bruno Haible  <bruno@clisp.org>
47059
47060         * modules/visibility (License): Change to 'unlimited'.
47061         Suggested by Simon Josefsson.
47062
47063 2009-03-03  Jim Meyering  <meyering@redhat.com>
47064
47065         unlinkdir: cannot_unlink_dir may modify process state
47066         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47067         it's neither thread-safe nor appropriate for use in a library.
47068
47069 2009-03-03  Eric Blake  <ebb9@byu.net>
47070
47071         test-closein: silence test under Darwin
47072         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47073         care if it dies from EPIPE or EBADF.
47074
47075 2009-03-03  Bruno Haible  <bruno@clisp.org>
47076
47077         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47078         earlier.
47079         * doc/visibility.texi: Fix @node and @section.
47080
47081 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47082
47083         * doc/gnulib.texi: Link to sections for ld version script and
47084         visibility.
47085         * doc/visibility.texi: Add @node and @section.
47086         * modules/ld-version-script: New module.
47087         * m4/ld-version-script.m4: New file.
47088         * doc/ld-version-script.texi: New file.
47089
47090 2009-03-02  David Lutterkort  <lutter@redhat.com>
47091
47092         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47093         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47094
47095 2009-03-02  Bruno Haible  <bruno@clisp.org>
47096
47097         * doc/visibility.texi: Mention libtool's -export-symbols option.
47098
47099 2009-03-02  Jim Meyering  <meyering@redhat.com>
47100
47101         announce-gen: new option: --no-print-checksums
47102         * build-aux/announce-gen (usage): Describe it.
47103         (print_checksums): Print a newline here, not in the [*] footnote.
47104         (main): Honor it.
47105
47106 2009-03-01  Bruno Haible  <bruno@clisp.org>
47107
47108         Use socklen_t in the native Windows replacements prototypes.
47109         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47110         instead of 'int'.
47111         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47112         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47113         * modules/getsockopt (Depends-on): Add socklen.
47114         * modules/setsockopt (Depends-on): Add socklen.
47115
47116 2009-03-01  Bruno Haible  <bruno@clisp.org>
47117
47118         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47119         least 4.2.
47120
47121 2009-03-01  Eric Blake  <ebb9@byu.net>
47122             Bruno Haible  <bruno@clisp.org>
47123
47124         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47125         error messages.
47126         * lib/wait-process.c (wait_subprocess): Omit error message about
47127         deadly signal sent to the child of termsigp != NULL.
47128
47129 2009-03-01  Eric Blake  <ebb9@byu.net>
47130
47131         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47132
47133 2009-03-01  Bruno Haible  <bruno@clisp.org>
47134
47135         Avoid a gcc warning.
47136         * tests/test-sched.c (b): Make global.
47137         Reported by Eric Blake.
47138
47139 2009-01-19  Martin Lambers  <marlam@marlam.de>
47140
47141         Provide POSIX semantics for socket timeout options on W32.
47142         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47143         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47144         * modules/setsockopt: Depend on sys_time module for struct timeval.
47145         * modules/getsockopt: Depend on sys_time module for struct timeval.
47146
47147 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47148
47149         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47150         __USE_GNU, for consistency with netdb.in.h.
47151         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47152
47153 2009-03-01  Bruno Haible  <bruno@clisp.org>
47154
47155         More support for FreeMiNT.
47156         * lib/fseeko.c (rpl_fseeko): Complete last commit.
47157         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47158
47159 2009-03-01  Bruno Haible  <bruno@clisp.org>
47160
47161         More support for FreeMiNT.
47162         * lib/fpurge.c (fpurge): Correct last commit.
47163         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47164
47165 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47166
47167         Fix unportable awk script in vc-list-files.
47168         * build-aux/vc-list-files: In the replacement awk script, use
47169         substr with a second argument of 1, not zero.
47170         Report by Simon Josefsson.
47171
47172 2009-02-28  Bruno Haible  <bruno@clisp.org>
47173
47174         More support for FreeMiNT.
47175         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
47176         to FreeMiNT today.
47177         * lib/fwriting.c (fwriting): Likewise.
47178         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
47179
47180 2009-02-28  Bruno Haible  <bruno@clisp.org>
47181
47182         * tests/test-freadseek.c (main): Disable test beyond end of file on
47183         FreeMiNT.
47184         * tests/test-ftello.c (main): Likewise.
47185         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47186
47187 2009-02-28  Bruno Haible  <bruno@clisp.org>
47188
47189         Add tentative support for FreeMiNT.
47190         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
47191         * lib/fpurge.c (fpurge): Likewise.
47192         * lib/freadable.c (freadable): Likewise.
47193         * lib/freading.c (freading): Likewise.
47194         * lib/freadptr.c (freadptr): Likewise.
47195         * lib/freadseek.c (freadptrinc): Likewise.
47196         * lib/fseeko.c (rpl_fseeko): Likewise.
47197         * lib/fseterr.c (fseterr): Likewise.
47198         * lib/fwritable.c (fwritable): Likewise.
47199         * lib/fwriting.c (fwriting): Likewise.
47200         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
47201         Hourihane.
47202         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47203
47204 2009-02-28  Bruno Haible  <bruno@clisp.org>
47205
47206         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
47207         SIGCHLD.
47208         Reported by Jim Meyering.
47209
47210 2009-02-28  Bruno Haible  <bruno@clisp.org>
47211
47212         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
47213         Mention the results of these tests on various platforms.
47214         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
47215         order.
47216         * doc/posix-functions/printf.texi: Likewise.
47217         * doc/posix-functions/snprintf.texi: Likewise.
47218         * doc/posix-functions/sprintf.texi: Likewise.
47219         * doc/posix-functions/vfprintf.texi: Likewise.
47220         * doc/posix-functions/vprintf.texi: Likewise.
47221         * doc/posix-functions/vsnprintf.texi: Likewise.
47222         * doc/posix-functions/vsprintf.texi: Likewise.
47223         * doc/glibc-functions/obstack_printf.texi: Likewise.
47224         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47225
47226 2009-02-28  Bruno Haible  <bruno@clisp.org>
47227
47228         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
47229         Reported by Loïc Minier <lool@dooz.org>.
47230
47231 2009-02-27  Bruno Haible  <bruno@clisp.org>
47232
47233         * gnulib-tool (func_import): Make the sed expression used to create the
47234         sed script for updating the .gitignore file POSIX compliant.
47235         Reported by Eric Blake.
47236
47237 2009-02-27  Bruno Haible  <bruno@clisp.org>
47238
47239         * gnulib-tool (sed): Don't alias as "sed --posix".
47240         Reported by Eric Blake.
47241
47242 2009-02-27  Bruno Haible  <bruno@clisp.org>
47243
47244         Avoid test link errors.
47245         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
47246         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
47247         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
47248         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
47249         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47250
47251 2009-02-27  Bruno Haible  <bruno@clisp.org>
47252
47253         Avoid spurious "(cached)" in configure output.
47254         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
47255         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
47256         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
47257         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
47258         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
47259         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
47260         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
47261         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
47262         Reported by Eric Blake.
47263
47264 2009-02-27  Eric Blake  <ebb9@byu.net>
47265
47266         printf: fix regression in previous patch
47267         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
47268
47269 2009-02-27  Bruno Haible  <bruno@clisp.org>
47270
47271         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
47272         value.
47273         * lib/stdint.in.h: Likewise.
47274         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
47275
47276 2009-02-27  Eric Blake  <ebb9@byu.net>
47277
47278         doc: mention more functions added in cygwin 1.7.0
47279         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
47280         addition.
47281         * doc/posix-functions/open_wmemstream.texi: Likewise.
47282         * doc/posix-functions/wcsnlen.texi: Likewise.
47283         * doc/posix-functions/wcsnrtombs.texi: Likewise.
47284         * doc/posix-functions/wcstod.texi: Likewise.
47285         * doc/posix-functions/wcstof.texi: Likewise.
47286         * doc/posix-functions/wcstoimax.texi: Likewise.
47287         * doc/posix-functions/wcstok.texi: Likewise.
47288         * doc/posix-functions/wcstoumax.texi: Likewise.
47289
47290         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
47291         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
47292         * doc/posix-functions/fprintf.texi: Update.
47293         * doc/posix-functions/printf.texi: Update.
47294         * doc/posix-functions/snprintf.texi: Update.
47295         * doc/posix-functions/sprintf.texi: Update.
47296         * doc/posix-functions/vfprintf.texi: Update.
47297         * doc/posix-functions/vprintf.texi: Update.
47298         * doc/posix-functions/vsnprintf.texi: Update.
47299         * doc/posix-functions/vsprintf.texi: Update.
47300         * doc/glibc-functions/obstack_printf.texi: Update.
47301         * doc/glibc-functions/obstack_vprintf.texi: Update.
47302
47303 2009-02-26  Eric Blake  <ebb9@byu.net>
47304
47305         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
47306         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
47307         compilation bug by using runtime conversion.
47308         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
47309         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
47310         * modules/ceill-tests (Files): Use nan.h.
47311         * modules/floorl-tests (Files): Likewise.
47312         * modules/frexpl-tests (Files): Likewise.
47313         * modules/isnanl-tests (Files): Likewise.
47314         * modules/ldexpl-tests (Files): Likewise.
47315         * modules/roundl-tests (Files): Likewise.
47316         * modules/truncl-tests (Files): Likewise.
47317         * tests/test-ceill.c (main): Use a working NaN.
47318         * tests/test-floorl.c (main): Likewise.
47319         * tests/test-frexpl.c (main): Likewise.
47320         * tests/test-isnan.c (test_long_double): Likewise.
47321         * tests/test-isnanl.h (main): Likewise.
47322         * tests/test-ldexpl.h (main): Likewise.
47323         * tests/test-roundl.h (main): Likewise.
47324         * tests/test-truncl.h (main): Likewise.
47325         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
47326
47327 2009-02-26  Eric Blake  <ebb9@byu.net>
47328             Bruno Haible  <bruno@clisp.org>
47329
47330         Work around a *printf bug with %ls on Solaris.
47331         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
47332         precision is specified, sprintf stops converting the wide string
47333         argument when the number of bytes that have been produced by this
47334         conversion equals or exceeds the precision.
47335         * doc/posix-functions/fprintf.texi: Update.
47336         * doc/posix-functions/printf.texi: Update.
47337         * doc/posix-functions/snprintf.texi: Update.
47338         * doc/posix-functions/sprintf.texi: Update.
47339         * doc/posix-functions/vfprintf.texi: Update.
47340         * doc/posix-functions/vprintf.texi: Update.
47341         * doc/posix-functions/vsnprintf.texi: Update.
47342         * doc/posix-functions/vsprintf.texi: Update.
47343         * doc/glibc-functions/obstack_printf.texi: Update.
47344         * doc/glibc-functions/obstack_vprintf.texi: Update.
47345
47346 2009-02-26  Eric Blake  <ebb9@byu.net>
47347
47348         stdlib: favor compiler check of random.h
47349         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
47350         to avoid an ObjC random.h installed by Swarm.
47351
47352 2009-02-26  Bruno Haible  <bruno@clisp.org>
47353
47354         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
47355         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
47356         Reported by Gary V. Vaughan <gary@gnu.org>.
47357
47358 2009-02-26  Bruno Haible  <bruno@clisp.org>
47359
47360         Fix *printf behaviour regarding the %ls directive.
47361         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
47362         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
47363         NEED_PRINTF_DIRECTIVE_LS.
47364         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
47365         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
47366         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
47367         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
47368         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
47369         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
47370         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
47371         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
47372         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
47373         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
47374         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
47375         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
47376         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
47377         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
47378         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
47379         * doc/posix-functions/fprintf.texi: Update.
47380         * doc/posix-functions/printf.texi: Update.
47381         * doc/posix-functions/snprintf.texi: Update.
47382         * doc/posix-functions/sprintf.texi: Update.
47383         * doc/posix-functions/vfprintf.texi: Update.
47384         * doc/posix-functions/vprintf.texi: Update.
47385         * doc/posix-functions/vsnprintf.texi: Update.
47386         * doc/posix-functions/vsprintf.texi: Update.
47387         * doc/glibc-functions/obstack_printf.texi: Update.
47388         * doc/glibc-functions/obstack_vprintf.texi: Update.
47389         Reported by Eric Blake.
47390
47391 2009-02-25  Bruno Haible  <bruno@clisp.org>
47392
47393         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
47394         with known value.
47395         Reported by Gary V. Vaughan <gary@gnu.org>.
47396
47397 2009-02-25  Bruno Haible  <bruno@clisp.org>
47398
47399         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
47400         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
47401         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
47402         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
47403         Reported by Gary V. Vaughan <gary@gnu.org>.
47404
47405 2009-02-25  Bruno Haible  <bruno@clisp.org>
47406
47407         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
47408         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
47409         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
47410         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
47411         Reported by Gary V. Vaughan <gary@gnu.org>.
47412
47413 2009-02-25  Eric Blake  <ebb9@byu.net>
47414
47415         tests: skip fseek/ftell tests if ungetc is broken
47416         * m4/ungetc.m4: New file.
47417         * modules/fseek-tests: Split test, so ungetc dependency is
47418         separate from rest of test.
47419         * modules/fseeko-tests: Likewise.
47420         * modules/ftell-tests: Likewise.
47421         * modules/ftello-tests: Likewise.
47422         * tests/test-fseek.c (main): Isolate ungetc dependency.
47423         * tests/test-fseeko.c (main): Likewise.
47424         * tests/test-ftell.c (main): Likewise.
47425         * tests/test-ftello.c (main): Likewise.
47426         * tests/test-fseek2.sh: New file.
47427         * tests/test-fseeko2.sh: Likewise.
47428         * tests/test-ftell2.sh: Likewise.
47429         * tests/test-ftello2.sh: Likewise.
47430
47431 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
47432
47433         test-getaddrinfo: fix usage of skip return code 77
47434         * tests/test-gettaddrinfo.c: Return skip code 77 only
47435         for first occurrence of skip (4x77 is not 77)
47436
47437 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
47438
47439         strtod: avoid C99 decl-after-statement
47440         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
47441
47442 2009-02-24  Eric Blake  <ebb9@byu.net>
47443
47444         strtod: detect HP-UX 11.31 bug
47445         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
47446         Reported by Gary V. Vaughan.
47447
47448 2009-02-23  Bruno Haible  <bruno@clisp.org>
47449
47450         Fix invalid read past end of memory block.
47451         * lib/vasnprintf.c (DCHAR_SET): Define.
47452         (local_wcslen): Define only when needed.
47453         (local_strnlen, local_wcsnlen): New functions.
47454         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
47455         directives that involve a conversion ourselves.
47456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
47457         wcsnlen, mbrtowc, wcrtomb.
47458         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
47459         * tests/test-vasprintf-posix.c (test_function): Likewise.
47460         * tests/test-snprintf-posix.h (test_function): Likewise.
47461         * tests/test-sprintf-posix.h (test_function): Likewise.
47462         Reported by Ben Pfaff <blp@cs.stanford.edu>.
47463
47464 2009-02-22  Bruno Haible  <bruno@clisp.org>
47465
47466         Implement new clarified decomposition of Hangul syllables.
47467         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
47468         of type LTV, return only a pairwise decomposition.
47469         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
47470         Likewise.
47471         * tests/uninorm/test-decomposition.c (main): Updated expected result.
47472         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
47473         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
47474
47475 2009-02-22  Bruno Haible  <bruno@clisp.org>
47476
47477         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
47478         zero-length results and shrink excess allocated memory.
47479         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
47480         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
47481         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
47482         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
47483         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
47484         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
47485         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
47486         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
47487         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
47488         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
47489         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
47490         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
47491
47492 2009-02-21  Bruno Haible  <bruno@clisp.org>
47493
47494         * doc/gnulib.texi: Include safe-alloc.texi earlier.
47495         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
47496         spaces after a period. Put a space between a macro name and its
47497         argument list. Trivial rewordings.
47498         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
47499         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
47500         (main): Return 0 explicitly.
47501
47502 2009-02-21  Bruno Haible  <bruno@clisp.org>
47503
47504         Tests for module 'uninorm/filter'.
47505         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
47506         * modules/uninorm/filter-tests: New file.
47507
47508         New module 'uninorm/filter'.
47509         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
47510         uninorm_filter_flush, uninorm_filter_free): New declarations.
47511         * lib/uninorm/uninorm-filter.c: New file.
47512         * modules/uninorm/filter: New file.
47513
47514 2009-02-21  Bruno Haible  <bruno@clisp.org>
47515
47516         Tests for module 'uninorm/nfkc'.
47517         * tests/uninorm/test-nfkc.c: New file.
47518         * tests/uninorm/test-u8-nfkc.c: New file.
47519         * tests/uninorm/test-u16-nfkc.c: New file.
47520         * tests/uninorm/test-u32-nfkc.c: New file.
47521         * tests/uninorm/test-u32-nfkc-big.sh: New file.
47522         * tests/uninorm/test-u32-nfkc-big.c: New file.
47523         * modules/uninorm/nfkc-tests: New file.
47524
47525         New module 'uninorm/nfkc'.
47526         * lib/uninorm/nfkc.c: New file.
47527         * modules/uninorm/nfkc: New file.
47528
47529         Tests for module 'uninorm/nfkd'.
47530         * tests/uninorm/test-nfkd.c: New file.
47531         * tests/uninorm/test-u8-nfkd.c: New file.
47532         * tests/uninorm/test-u16-nfkd.c: New file.
47533         * tests/uninorm/test-u32-nfkd.c: New file.
47534         * tests/uninorm/test-u32-nfkd-big.sh: New file.
47535         * tests/uninorm/test-u32-nfkd-big.c: New file.
47536         * modules/uninorm/nfkd-tests: New file.
47537
47538         New module 'uninorm/nfkd'.
47539         * lib/uninorm/nfkd.c: New file.
47540         * modules/uninorm/nfkd: New file.
47541
47542         Tests for module 'uninorm/nfc'.
47543         * tests/uninorm/test-nfc.c: New file.
47544         * tests/uninorm/test-u8-nfc.c: New file.
47545         * tests/uninorm/test-u16-nfc.c: New file.
47546         * tests/uninorm/test-u32-nfc.c: New file.
47547         * tests/uninorm/test-u32-nfc-big.sh: New file.
47548         * tests/uninorm/test-u32-nfc-big.c: New file.
47549         * modules/uninorm/nfc-tests: New file.
47550
47551         New module 'uninorm/nfc'.
47552         * lib/uninorm/nfc.c: New file.
47553         * modules/uninorm/nfc: New file.
47554
47555         Tests for module 'uninorm/nfd'.
47556         * tests/uninorm/test-nfd.c: New file.
47557         * tests/uninorm/test-u8-nfd.c: New file.
47558         * tests/uninorm/test-u16-nfd.c: New file.
47559         * tests/uninorm/test-u32-nfd.c: New file.
47560         * tests/uninorm/test-u32-nfd-big.sh: New file.
47561         * tests/uninorm/test-u32-nfd-big.c: New file.
47562         * tests/uninorm/test-u32-normalize-big.h: New file.
47563         * tests/uninorm/test-u32-normalize-big.c: New file.
47564         * tests/uninorm/NormalizationTest.txt: New file, created from
47565         Unicode 5.1.0 NormalizationTest.txt.
47566         * modules/uninorm/nfd-tests: New file.
47567
47568         New module 'uninorm/nfd'.
47569         * lib/uninorm/nfd.c: New file.
47570         * modules/uninorm/nfd: New file.
47571
47572         New module 'uninorm/u32-normalize'.
47573         * lib/uninorm/u32-normalize.c: New file.
47574         * modules/uninorm/u32-normalize: New file.
47575
47576         New module 'uninorm/u16-normalize'.
47577         * lib/uninorm/u16-normalize.c: New file.
47578         * modules/uninorm/u16-normalize: New file.
47579
47580         New module 'uninorm/u8-normalize'.
47581         * lib/uninorm/u8-normalize.c: New file.
47582         * lib/uninorm/normalize-internal.h: New file.
47583         * lib/uninorm/u-normalize-internal.h: New file.
47584         * modules/uninorm/u8-normalize: New file.
47585
47586         New module 'uninorm/decompose-internal'.
47587         * lib/uninorm/decompose-internal.c: New file.
47588         * modules/uninorm/decompose-internal: New file.
47589
47590         Tests for module 'uninorm/composition'.
47591         * tests/uninorm/test-composition.c: New file.
47592         * modules/uninorm/composition-tests: New file.
47593
47594         New module 'uninorm/composition'.
47595         * lib/uninorm/composition.c: New file.
47596         * lib/uninorm/composition-table.gperf: New file, generated by
47597         gen-uni-tables.
47598         * modules/uninorm/composition: New file.
47599
47600         Tests for module 'uninorm/compat-decomposition'.
47601         * tests/uninorm/test-compat-decomposition.c: New file.
47602         * modules/uninorm/compat-decomposition-tests: New file.
47603
47604         New module 'uninorm/compat-decomposition'.
47605         * lib/uninorm/decompose-internal.h: New file.
47606         * lib/uninorm/compat-decomposition.c: New file.
47607         * modules/uninorm/compat-decomposition: New file.
47608
47609         Tests for module 'uninorm/canonical-decomposition'.
47610         * tests/uninorm/test-canonical-decomposition.c: New file.
47611         * modules/uninorm/canonical-decomposition-tests: New file.
47612
47613         New module 'uninorm/canonical-decomposition'.
47614         * lib/uninorm/canonical-decomposition.c: New file.
47615         * modules/uninorm/canonical-decomposition: New file.
47616
47617         Tests for module 'uninorm/decomposition'.
47618         * tests/uninorm/test-decomposition.c: New file.
47619         * modules/uninorm/decomposition-tests: New file.
47620
47621         New module 'uninorm/decomposition'.
47622         * lib/uninorm/decomposition.c: New file.
47623         * modules/uninorm/decomposition: New file.
47624
47625         New module 'uninorm/decomposition-table'.
47626         * lib/uninorm/decomposition-table.h: New file.
47627         * lib/uninorm/decomposition-table.c: New file.
47628         * lib/uninorm/decomposition-table1.h: New file, generated by
47629         gen-uni-tables.
47630         * lib/uninorm/decomposition-table2.h: New file, generated by
47631         gen-uni-tables.
47632         * modules/uninorm/decomposition-table: New file.
47633
47634         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
47635         (UC_DECOMP_*): New enumeration items.
47636         (get_decomposition): New function.
47637         (struct decomp_table): New type.
47638         (output_decomposition, output_decomposition_tables): New functions.
47639         (unicode_composition_exclusions): New variable.
47640         (fill_composition_exclusions, debug_output_composition_tables): New
47641         functions.
47642         (main): Accept one more argument. Invoke fill_composition_exclusions.
47643         Output decomposition and composition tables.
47644
47645         New module 'uninorm/base'.
47646         * lib/uninorm.h: New file.
47647         * lib/unictype.h: Update comment.
47648         * modules/uninorm/base: New file.
47649
47650 2009-02-21  David Lutterkort  <lutter@redhat.com>
47651
47652         Tests for module 'safe-alloc'.
47653         * tests/test-safe-alloc.c: New file.
47654         * modules/safe-alloc-tests: New file.
47655
47656         New module 'safe-alloc'.
47657         * lib/safe-alloc.h: New file.
47658         * lib/safe-alloc.c: New file.
47659         * m4/safe-alloc.m4: New file.
47660         * modules/safe-alloc: New file.
47661         * doc/safe-alloc.texi: New file.
47662         * doc/gnulib.texi: Include it.
47663         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
47664         safe-alloc.
47665
47666 2009-02-18  Bruno Haible  <bruno@clisp.org>
47667
47668         Fix link error on non-glibc systems.
47669         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
47670         variable.
47671         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47672
47673 2009-02-18  Jim Meyering  <meyering@redhat.com>
47674
47675         fts: avoid used-uninitialized error due to recent change
47676         * lib/fts.c (fts_read): Guard uses of the new member,
47677         parent->fts_n_dirs_remaining, since it's not relevant for
47678         the parent of a directory specified on the command-line.
47679
47680 2009-02-17  James Youngman  <jay@gnu.org>
47681             Bruno Haible  <bruno@clisp.org>
47682
47683         * m4/include_next.m4: Reformulate comment.
47684
47685 2009-02-16  Jim Meyering  <meyering@redhat.com>
47686
47687         fts: add #if guards so that the fts_lgpl module still builds
47688         * lib/fts.c: Guard just-added hash-table-using parts with
47689         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
47690         Reported by Simon Josefsson.
47691
47692 2009-02-15  Bruno Haible  <bruno@clisp.org>
47693
47694         * modules/array-mergesort-tests: New file.
47695         * tests/test-array-mergesort.c: New file.
47696
47697         New module 'array-mergesort'.
47698         * modules/array-mergesort: New file.
47699         * lib/array-mergesort.h: New file.
47700
47701 2009-02-15  Bruno Haible  <bruno@clisp.org>
47702
47703         Fix 2009-02-07 commit.
47704         * lib/gen-uni-tables.c (output_predicate, output_category,
47705         output_combclass, output_bidi_category, output_decimal_digit,
47706         output_digit, output_numeric, output_mirror, output_scripts,
47707         output_ident_category, output_simple_mapping): Fix format directives.
47708         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
47709
47710 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
47711
47712         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
47713         fixes are available from IBM.
47714
47715 2009-02-13  Jim Meyering  <meyering@redhat.com>
47716
47717         fts: arrange not to stat non-directories in more cases
47718         This makes GNU find (when it doesn't need to stat each file)
47719         *much* more efficient at traversing reiserfs file systems.
47720         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
47721         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
47722         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
47723         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
47724         (leaf_optimization_applies): New function.
47725         (LCO_hash, LCO_compare): New helper functions.
47726         (link_count_optimize_ok): New function.
47727         (fts_stat): Initialize new member (if dir).
47728         (fts_read): Decrement parent's fts_n_dirs_remaining count if
47729         we've just stat'ed a directory.  Skip the stat call when possible.
47730         ---
47731         Note this AFS-related exchange:
47732         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
47733         and note find's pioctl call in find/fstype.c.
47734         But that is necessary only if you want to enable the
47735         optimization for AFS, and for now, I don't.
47736
47737         fts: move a function definition "up" (no semantic change)
47738         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
47739         "up" to precede upcoming use of a related function.
47740
47741 2009-02-11  Jim Meyering  <meyering@redhat.com>
47742
47743         fts: correct internal computation of nlinks (optimization-related)
47744         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
47745         whether the current entry is a directory, so don't test it.
47746
47747 2009-02-10  Bruno Haible  <bruno@clisp.org>
47748
47749         Tests for module 'uniwbrk/ulc-wordbreaks'.
47750         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
47751         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
47752         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
47753
47754         Tests for module 'uniwbrk/u32-wordbreaks'.
47755         * modules/uniwbrk/u32-wordbreaks-tests: New file.
47756         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
47757
47758         Tests for module 'uniwbrk/u16-wordbreaks'.
47759         * modules/uniwbrk/u16-wordbreaks-tests: New file.
47760         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
47761
47762         Tests for module 'uniwbrk/u8-wordbreaks'.
47763         * modules/uniwbrk/u8-wordbreaks-tests: New file.
47764         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
47765
47766 2009-02-10  Bruno Haible  <bruno@clisp.org>
47767
47768         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
47769         property.
47770         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
47771         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
47772         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
47773
47774 2009-02-10  Simon Josefsson  <simon@josefsson.org>
47775
47776         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
47777         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
47778
47779 2009-02-10  Bruno Haible  <bruno@clisp.org>
47780
47781         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
47782         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
47783         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
47784         * lib/unilbrk/u8-possible-linebreaks.c: Update.
47785         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
47786         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
47787
47788 2009-02-09  Simon Josefsson  <simon@josefsson.org>
47789
47790         * lib/sockets.h (gl_fd_to_handle): New function.
47791
47792         * tests/test-sockets.c: Call gl_fd_to_handle.
47793
47794 2009-02-09  Bruno Haible  <bruno@clisp.org>
47795
47796         * doc/havelib.texi: Document the conventions on bi-arch systems.
47797
47798 2009-02-08  Bruno Haible  <bruno@clisp.org>
47799
47800         Document the AC_LIB_LINKFLAGS macro.
47801         * doc/havelib.texi: New file, mostly written on 2005-05-24.
47802         * doc/gnulib.texi: Include it.
47803
47804 2009-02-08  Bruno Haible  <bruno@clisp.org>
47805
47806         Fix wrong order of sections, compared to TOC.
47807         * doc/gnulib.texi: Include relocatable-maint.texi after the
47808         "Regular expressions" node, not before.
47809
47810 2009-02-08  Bruno Haible  <bruno@clisp.org>
47811
47812         Tests for module 'unicase/totitle'.
47813         * modules/unicase/totitle-tests: New file.
47814
47815         Tests for module 'unicase/tolower'.
47816         * modules/unicase/tolower-tests: New file.
47817
47818         Tests for module 'unicase/toupper'.
47819         * modules/unicase/toupper-tests: New file.
47820         * tests/unicase/test-mapping-part1.h: New file.
47821         * tests/unicase/test-mapping-part2.h: New file.
47822
47823         New module 'unicase/totitle'.
47824         * modules/unicase/totitle: New file.
47825         * lib/unicase/totitle.c: New file.
47826
47827         New module 'unicase/tolower'.
47828         * modules/unicase/tolower: New file.
47829         * lib/unicase/tolower.c: New file.
47830
47831         New module 'unicase/toupper'.
47832         * modules/unicase/toupper: New file.
47833         * lib/unicase/toupper.c: New file.
47834         * lib/unicase/simple-mapping.h: New file.
47835
47836         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
47837         (mapping_table): New structure.
47838         (output_simple_mapping): New function.
47839         (main): Invoke output_simple_mapping_test and output_simple_mapping.
47840         * modules/gen-uni-tables (Description): Update.
47841         * lib/unicase/toupper.h: New file, automatically generated by
47842         gen-uni-tables.
47843         * lib/unicase/tolower.h: New file, automatically generated by
47844         gen-uni-tables.
47845         * lib/unicase/totitle.h: New file, automatically generated by
47846         gen-uni-tables.
47847         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
47848         gen-uni-tables.
47849         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
47850         gen-uni-tables.
47851         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
47852         gen-uni-tables.
47853
47854         New module 'unicase/base'.
47855         * modules/unicase/base: New file.
47856         * lib/unicase.h: New file.
47857
47858 2009-02-08  Bruno Haible  <bruno@clisp.org>
47859
47860         New module 'uniwbrk/ulc-wordbreaks'.
47861         * modules/uniwbrk/ulc-wordbreaks: New file.
47862         * lib/uniwbrk/ulc-wordbreaks.c: New file.
47863
47864         New module 'uniwbrk/u32-wordbreaks'.
47865         * modules/uniwbrk/u32-wordbreaks: New file.
47866         * lib/uniwbrk/u32-wordbreaks.c: New file.
47867
47868         New module 'uniwbrk/u16-wordbreaks'.
47869         * modules/uniwbrk/u16-wordbreaks: New file.
47870         * lib/uniwbrk/u16-wordbreaks.c: New file.
47871
47872         New module 'uniwbrk/u8-wordbreaks'.
47873         * modules/uniwbrk/u8-wordbreaks: New file.
47874         * lib/uniwbrk/u8-wordbreaks.c: New file.
47875         * lib/uniwbrk/u-wordbreaks.h: New file.
47876
47877         New module 'uniwbrk/table'.
47878         * modules/uniwbrk/table: New file.
47879         * lib/uniwbrk/wbrktable.h: New file.
47880         * lib/uniwbrk/wbrktable.c: New file.
47881
47882         New module 'uniwbrk/wordbreak-property'.
47883         * modules/uniwbrk/wordbreak-property: New file.
47884         * lib/uniwbrk/wordbreak-property.c: New file.
47885
47886         * lib/gen-uni-tables.c (WBP_*): New enum items.
47887         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
47888         (unicode_org_wbp): New variable.
47889         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
47890         New functions.
47891         (wbp_table): New structure.
47892         (output_wbp, output_wbrk_tables): New functions.
47893         (main): Accept additional argument. Invoke fill_org_wbp,
47894         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
47895         output_wbrk_tables.
47896         * modules/gen-uni-tables (Description): Update.
47897         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
47898         gen-uni-tables.
47899
47900         New module 'uniwbrk/base'.
47901         * modules/uniwbrk/base: New file.
47902         * lib/uniwbrk.h: New file.
47903
47904 2009-02-08  Bruno Haible  <bruno@clisp.org>
47905
47906         Update to Unicode 5.1.0.
47907         * lib/gen-uni-tables.c (is_property_alphabetic): Include
47908         U+2185..U+2188.
47909         (is_property_default_ignorable_code_point): Don't include characters
47910         of category Cc or Cs and not-a-characters.
47911         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
47912         U+0D79, U+109E, U+109F, U+A60C.
47913         * lib/unictype/bidi_of.h: Regenerated.
47914         * lib/unictype/blocks.h: Regenerated.
47915         * lib/unictype/categ_C.h: Regenerated.
47916         * lib/unictype/categ_Cf.h: Regenerated.
47917         * lib/unictype/categ_Cn.h: Regenerated.
47918         * lib/unictype/categ_L.h: Regenerated.
47919         * lib/unictype/categ_Ll.h: Regenerated.
47920         * lib/unictype/categ_Lm.h: Regenerated.
47921         * lib/unictype/categ_Lo.h: Regenerated.
47922         * lib/unictype/categ_Lu.h: Regenerated.
47923         * lib/unictype/categ_M.h: Regenerated.
47924         * lib/unictype/categ_Mc.h: Regenerated.
47925         * lib/unictype/categ_Me.h: Regenerated.
47926         * lib/unictype/categ_Mn.h: Regenerated.
47927         * lib/unictype/categ_N.h: Regenerated.
47928         * lib/unictype/categ_Nd.h: Regenerated.
47929         * lib/unictype/categ_Nl.h: Regenerated.
47930         * lib/unictype/categ_No.h: Regenerated.
47931         * lib/unictype/categ_P.h: Regenerated.
47932         * lib/unictype/categ_Pd.h: Regenerated.
47933         * lib/unictype/categ_Pe.h: Regenerated.
47934         * lib/unictype/categ_Pf.h: Regenerated.
47935         * lib/unictype/categ_Pi.h: Regenerated.
47936         * lib/unictype/categ_Po.h: Regenerated.
47937         * lib/unictype/categ_Ps.h: Regenerated.
47938         * lib/unictype/categ_S.h: Regenerated.
47939         * lib/unictype/categ_Sk.h: Regenerated.
47940         * lib/unictype/categ_Sm.h: Regenerated.
47941         * lib/unictype/categ_So.h: Regenerated.
47942         * lib/unictype/categ_of.h: Regenerated.
47943         * lib/unictype/combining.h: Regenerated.
47944         * lib/unictype/ctype_alnum.h: Regenerated.
47945         * lib/unictype/ctype_alpha.h: Regenerated.
47946         * lib/unictype/ctype_graph.h: Regenerated.
47947         * lib/unictype/ctype_lower.h: Regenerated.
47948         * lib/unictype/ctype_print.h: Regenerated.
47949         * lib/unictype/ctype_punct.h: Regenerated.
47950         * lib/unictype/ctype_upper.h: Regenerated.
47951         * lib/unictype/decdigit.h: Regenerated.
47952         * lib/unictype/digit.h: Regenerated.
47953         * lib/unictype/mirror.h: Regenerated.
47954         * lib/unictype/numeric.h: Regenerated.
47955         * lib/unictype/pr_alphabetic.h: Regenerated.
47956         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
47957         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
47958         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
47959         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
47960         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
47961         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
47962         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
47963         * lib/unictype/pr_combining.h: Regenerated.
47964         * lib/unictype/pr_dash.h: Regenerated.
47965         * lib/unictype/pr_decimal_digit.h: Regenerated.
47966         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
47967         * lib/unictype/pr_deprecated.h: Regenerated.
47968         * lib/unictype/pr_diacritic.h: Regenerated.
47969         * lib/unictype/pr_extender.h: Regenerated.
47970         * lib/unictype/pr_format_control.h: Regenerated.
47971         * lib/unictype/pr_grapheme_base.h: Regenerated.
47972         * lib/unictype/pr_grapheme_extend.h: Regenerated.
47973         * lib/unictype/pr_grapheme_link.h: Regenerated.
47974         * lib/unictype/pr_id_continue.h: Regenerated.
47975         * lib/unictype/pr_id_start.h: Regenerated.
47976         * lib/unictype/pr_ideographic.h: Regenerated.
47977         * lib/unictype/pr_ignorable_control.h: Regenerated.
47978         * lib/unictype/pr_lowercase.h: Regenerated.
47979         * lib/unictype/pr_math.h: Regenerated.
47980         * lib/unictype/pr_numeric.h: Regenerated.
47981         * lib/unictype/pr_other_alphabetic.h: Regenerated.
47982         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
47983         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
47984         * lib/unictype/pr_other_id_continue.h: Regenerated.
47985         * lib/unictype/pr_other_lowercase.h: Regenerated.
47986         * lib/unictype/pr_other_math.h: Regenerated.
47987         * lib/unictype/pr_punctuation.h: Regenerated.
47988         * lib/unictype/pr_sentence_terminal.h: Regenerated.
47989         * lib/unictype/pr_soft_dotted.h: Regenerated.
47990         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
47991         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
47992         * lib/unictype/pr_unified_ideograph.h: Regenerated.
47993         * lib/unictype/pr_uppercase.h: Regenerated.
47994         * lib/unictype/pr_xid_continue.h: Regenerated.
47995         * lib/unictype/pr_xid_start.h: Regenerated.
47996         * lib/unictype/pr_zero_width.h: Regenerated.
47997         * lib/unictype/scripts.h: Regenerated.
47998         * lib/unictype/scripts_byname.gperf: Regenerated.
47999         * lib/unictype/sy_java_ident.h: Regenerated.
48000         * lib/unilbrk/lbrkprop1.h: Regenerated.
48001         * lib/unilbrk/lbrkprop2.h: Regenerated.
48002         * tests/unictype/test-categ_C.c: Regenerated.
48003         * tests/unictype/test-categ_Cf.c: Regenerated.
48004         * tests/unictype/test-categ_Cn.c: Regenerated.
48005         * tests/unictype/test-categ_L.c: Regenerated.
48006         * tests/unictype/test-categ_Ll.c: Regenerated.
48007         * tests/unictype/test-categ_Lm.c: Regenerated.
48008         * tests/unictype/test-categ_Lo.c: Regenerated.
48009         * tests/unictype/test-categ_Lu.c: Regenerated.
48010         * tests/unictype/test-categ_M.c: Regenerated.
48011         * tests/unictype/test-categ_Mc.c: Regenerated.
48012         * tests/unictype/test-categ_Me.c: Regenerated.
48013         * tests/unictype/test-categ_Mn.c: Regenerated.
48014         * tests/unictype/test-categ_N.c: Regenerated.
48015         * tests/unictype/test-categ_Nd.c: Regenerated.
48016         * tests/unictype/test-categ_Nl.c: Regenerated.
48017         * tests/unictype/test-categ_No.c: Regenerated.
48018         * tests/unictype/test-categ_P.c: Regenerated.
48019         * tests/unictype/test-categ_Pd.c: Regenerated.
48020         * tests/unictype/test-categ_Pe.c: Regenerated.
48021         * tests/unictype/test-categ_Pf.c: Regenerated.
48022         * tests/unictype/test-categ_Pi.c: Regenerated.
48023         * tests/unictype/test-categ_Po.c: Regenerated.
48024         * tests/unictype/test-categ_Ps.c: Regenerated.
48025         * tests/unictype/test-categ_S.c: Regenerated.
48026         * tests/unictype/test-categ_Sk.c: Regenerated.
48027         * tests/unictype/test-categ_Sm.c: Regenerated.
48028         * tests/unictype/test-categ_So.c: Regenerated.
48029         * tests/unictype/test-ctype_alnum.c: Regenerated.
48030         * tests/unictype/test-ctype_alpha.c: Regenerated.
48031         * tests/unictype/test-ctype_graph.c: Regenerated.
48032         * tests/unictype/test-ctype_lower.c: Regenerated.
48033         * tests/unictype/test-ctype_print.c: Regenerated.
48034         * tests/unictype/test-ctype_punct.c: Regenerated.
48035         * tests/unictype/test-ctype_upper.c: Regenerated.
48036         * tests/unictype/test-decdigit.h: Regenerated.
48037         * tests/unictype/test-digit.h: Regenerated.
48038         * tests/unictype/test-numeric.h: Regenerated.
48039         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48040         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48041         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48042         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48043         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48044         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48045         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48046         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48047         * tests/unictype/test-pr_combining.c: Regenerated.
48048         * tests/unictype/test-pr_dash.c: Regenerated.
48049         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48050         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48051         * tests/unictype/test-pr_deprecated.c: Regenerated.
48052         * tests/unictype/test-pr_diacritic.c: Regenerated.
48053         * tests/unictype/test-pr_extender.c: Regenerated.
48054         * tests/unictype/test-pr_format_control.c: Regenerated.
48055         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48056         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48057         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48058         * tests/unictype/test-pr_id_continue.c: Regenerated.
48059         * tests/unictype/test-pr_id_start.c: Regenerated.
48060         * tests/unictype/test-pr_ideographic.c: Regenerated.
48061         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48062         * tests/unictype/test-pr_lowercase.c: Regenerated.
48063         * tests/unictype/test-pr_math.c: Regenerated.
48064         * tests/unictype/test-pr_numeric.c: Regenerated.
48065         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48066         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48067         Regenerated.
48068         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48069         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48070         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48071         * tests/unictype/test-pr_other_math.c: Regenerated.
48072         * tests/unictype/test-pr_punctuation.c: Regenerated.
48073         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48074         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48075         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48076         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48077         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48078         * tests/unictype/test-pr_uppercase.c: Regenerated.
48079         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48080         * tests/unictype/test-pr_xid_start.c: Regenerated.
48081         * tests/unictype/test-pr_zero_width.c: Regenerated.
48082
48083         Update to Unicode 5.1.0.
48084         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48085         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48086         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48087         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48088         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48089         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48090         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48091         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48092         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48093         (nonspacing_table_ind): Update.
48094         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48095
48096         Update to Unicode 5.1.0.
48097         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48098         code transform.
48099         * lib/uniname/uniname.c (unicode_character_name,
48100         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48101         * lib/uniname/uninames.h: Regenerated.
48102         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48103
48104 2009-02-07  Bruno Haible  <bruno@clisp.org>
48105
48106         Merge gen-ctype and gen-lbrk into a single program.
48107         * lib/gen-uni-tables.c: New file, incorporating
48108         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48109         Add directory prefixes to the names of the generated files.
48110         * lib/unictype/gen-ctype.c: Remove file.
48111         * lib/unilbrk/gen-lbrk.c: Remove file.
48112         * modules/gen-uni-tables: New file.
48113         * modules/unictype/gen-ctype: Remove file.
48114         * modules/unilbrk/gen-lbrk: Remove file.
48115
48116 2009-02-07  Bruno Haible  <bruno@clisp.org>
48117
48118         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48119
48120         New module 'unistr/u32-strcoll'.
48121         * modules/unistr/u32-strcoll: New file.
48122         * lib/unistr/u32-strcoll.c: New file.
48123
48124         New module 'unistr/u16-strcoll'.
48125         * modules/unistr/u16-strcoll: New file.
48126         * lib/unistr/u16-strcoll.c: New file.
48127
48128         New module 'unistr/u8-strcoll'.
48129         * modules/unistr/u8-strcoll: New file.
48130         * lib/unistr/u8-strcoll.c: New file.
48131         * lib/unistr/u-strcoll.h: New file.
48132
48133 2009-02-07  Bruno Haible  <bruno@clisp.org>
48134
48135         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48136         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48137         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48138         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48139         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48140         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48141
48142 2009-02-07  Bruno Haible  <bruno@clisp.org>
48143
48144         Make 64-bit clean.
48145         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48146         output_combclass, output_bidi_category, output_decimal_digit,
48147         output_digit, output_numeric, output_mirror, output_scripts,
48148         output_ident_category): Use proper width specifier in format strings.
48149
48150 2009-02-07  Bruno Haible  <bruno@clisp.org>
48151
48152         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48153         failure behaviour.
48154
48155 2009-02-07  Jim Meyering  <meyering@redhat.com>
48156
48157         regex: avoid compilation failure with upcoming gcc-4.4
48158         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48159         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48160         "... error: integer overflow in preprocessor expression".
48161
48162 2009-02-05  Ben Pfaff  <blp@gnu.org>
48163
48164         Fix link errors on Windows when close module is used.
48165         * modules/close: Add $(LIB_CLOSE) to Link section.
48166         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48167         $(LIB_CLOSE) on Windows.
48168
48169 2009-02-05  Jim Meyering  <meyering@redhat.com>
48170
48171         still avoid unused-parameter warnings, but do it cleanly
48172         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
48173         (get_fs_usage): Cast to void instead.
48174         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
48175         (dev_from_mount_options, read_file_system_list): Cast to void.
48176         Prompted by Bruno Haible.
48177
48178 2009-02-04  Jim Meyering  <meyering@redhat.com>
48179
48180         fsusage.c: correct copyright year
48181         * lib/fsusage.c: Reflect year in which the change is pushed into
48182
48183         avoid misc. warnings
48184         * lib/fsusage.c (UNUSED_PARAM): Define.
48185         (get_fs_usage): Mark parameter "disk" as unused.
48186         * lib/getugroups.c (getgrent): Use "void" in prototype.
48187         * lib/mountlist.c: Mark unused parameters.
48188         (read_file_system_list): Declare a local with "const".
48189         * lib/nanosleep.c (getnow): Declare static.
48190         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
48191
48192         dirfd: set errno upon failure
48193         * lib/dirfd.c: Include <errno.h>.
48194         Set errno to ENOTSUP when returning -1.
48195         * modules/dirfd (Depends-on): Add errno.
48196         Suggested by John Kodis <kodis@comcast.net>.
48197
48198 2009-02-01  Bruno Haible  <bruno@clisp.org>
48199
48200         Don't assume sizeof (long) >= sizeof (void *).
48201         * lib/memcmp.c: Include stdint.h.
48202         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
48203         srcp2 to 'const byte *'.
48204         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
48205         types to uintptr_t.
48206         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
48207         * modules/memcmp (Depends-on): Add stdint.
48208         Reported by Ozkan Sezer <sezeroz@gmail.com>.
48209
48210 2009-01-30  Eric Blake  <ebb9@byu.net>
48211
48212         fix more require-before-expand issues
48213         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
48214         expand, AC_PROG_AWK.
48215         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
48216
48217 2009-01-28  Eric Blake  <ebb9@byu.net>
48218
48219         version-etc: use consistent URL formatting
48220         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
48221         Improve formatting.  Use fputs for string without %.
48222
48223 2009-01-28  Jim Meyering  <meyering@redhat.com>
48224
48225         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
48226         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
48227         "underquoted definition of NAME" from autoconf-2.59.
48228
48229 2009-01-28  Bruno Haible  <bruno@clisp.org>
48230
48231         * doc/gnulib.texi: Add "Obsolete modules" to index.
48232
48233 2009-01-28  Jim Meyering  <meyering@redhat.com>
48234
48235         useless-if-before-free: recognize more variants
48236         * build-aux/useless-if-before-free: Also recognize e.g.,
48237         if (NULL != p) free (p);
48238
48239 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
48240
48241         test-getaddrinfo: skip (don't fail) this test when there's no network
48242         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
48243         on the presumption that it means you lack network access.
48244
48245 2009-01-26  Jim Meyering  <meyering@redhat.com>
48246
48247         fflush: avoid warnings on modern systems
48248         * lib/fflush.c (rpl_fflush): Move declarations of locals,
48249         pos and result, into scopes where they're used.
48250
48251 2009-01-26  Eric Blake  <ebb9@byu.net>
48252
48253         Silence warning reintroduced by recent extensions patch.
48254         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
48255         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
48256         autoconf.
48257
48258         Backport improved autoconf semantics of AC_DEFUN_ONCE.
48259         * m4/00gnulib.m4: New file.
48260         * gnulib-tool (func_get_filelist): Always use it.
48261         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
48262         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
48263
48264 2009-01-25  Bruno Haible  <bruno@clisp.org>
48265
48266         Make test-quotearg work on MacOS X and AIX.
48267         * tests/test-quotearg.sh: New file.
48268         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
48269         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
48270         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
48271         include <libintl.h>.
48272         (fake_locale): Remove variable.
48273         (gettext, dgettext, dcgettext): Remove functions.
48274         (main): Instead of setting a fake locale, set a real locale. Call
48275         textdomain and bindtextdomain.
48276         * modules/quotearg-tests (Files): Add the new files.
48277         (Depends-on): Add gettext, setenv, unsetenv.
48278         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
48279         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
48280         Augment TESTS_ENVIRONMENT.
48281
48282 2009-01-25  Bruno Haible  <bruno@clisp.org>
48283
48284         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
48285         fr_FR.ISO8859-1 locale on MacOS X.
48286         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
48287         ja_JP.eucJP locale on MacOS X.
48288         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
48289         zh_CN.GB18030 locale on MacOS X.
48290
48291 2009-01-25  Bruno Haible  <bruno@clisp.org>
48292
48293         Avoid link errors on MacOS X 10.3.
48294         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
48295         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48296
48297 2009-01-25  Bruno Haible  <bruno@clisp.org>
48298
48299         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48300         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
48301         * modules/pipe (Files): Remove m4/posix_spawn.m4.
48302         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48303         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
48304         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48305         posix_spawnattr_init, posix_spawnattr_setsigmask,
48306         posix_spawnattr_setflags, posix_spawnattr_destroy.
48307
48308         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
48309         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
48310         * modules/execute (Files): Remove m4/posix_spawn.m4.
48311         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
48312         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
48313         posix_spawnattr_init, posix_spawnattr_setsigmask,
48314         posix_spawnattr_setflags, posix_spawnattr_destroy.
48315
48316 2009-01-25  Bruno Haible  <bruno@clisp.org>
48317
48318         * lib/glthread/threadlib.c: Include <stdlib.h>.
48319
48320 2009-01-25  Bruno Haible  <bruno@clisp.org>
48321
48322         * lib/glthread/threadlib.c (dummy): New declaration.
48323
48324 2009-01-25  Bruno Haible  <bruno@clisp.org>
48325
48326         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
48327         multibyte characters also for the GB18030 encoding. Don't crash when
48328         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
48329
48330 2009-01-25  Bruno Haible  <bruno@clisp.org>
48331
48332         Avoid redefining 'struct random_data' on OSF/1 5.1.
48333         * lib/stdlib.in.h: Include <random.h> if it exists.
48334         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
48335         HAVE_RANDOM_H. Include <random.h> when testing whether
48336         'struct random_data' exists.
48337         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
48338
48339 2009-01-25  Bruno Haible  <bruno@clisp.org>
48340
48341         Don't install charset.alias on MacOS X >= 10.3.
48342         * lib/localcharset.c (DARWIN7): New macro.
48343         (get_charset_aliases): Hardcode the result for Darwin7.
48344         * modules/localcharset (install-exec-local): Don't install
48345         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
48346
48347 2009-01-25  Bruno Haible  <bruno@clisp.org>
48348
48349         Don't install charset.alias on mingw and Cygwin.
48350         * modules/localcharset (install-exec-local): Don't install
48351         charset.alias on mingw and Cygwin, if the file does not yet exist.
48352         The result for these platforms is hardcoded in localcharset.c.
48353
48354 2009-01-25  Bruno Haible  <bruno@clisp.org>
48355
48356         Make it possible again to use AC_GNU_SOURCE together with gnulib.
48357         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
48358         before requiring AC_USE_SYSTEM_EXTENSIONS.
48359
48360 2009-01-25  Jim Meyering  <meyering@redhat.com>
48361
48362         c-strtod: avoid warnings
48363         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
48364         "assignment discards qualifiers from pointer target type" warnings.
48365
48366 2009-01-24  Bruno Haible  <bruno@clisp.org>
48367
48368         Add support for non-UTF-8 locales on MacOS X.
48369         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
48370         canonical encodings. For Darwin 7 and newer, don't map traditional
48371         encodings to UTF-8.
48372         Reported by Vincent Lefevre <vincent@vinc17.org>
48373         at <http://savannah.gnu.org/bugs/?25235>.
48374
48375 2009-01-24  Bruno Haible  <bruno@clisp.org>
48376
48377         * doc/gnulib.texi (Obsolete modules): New section.
48378         Reported by Mike Frysinger <vapier@gentoo.org>.
48379
48380 2009-01-24  Bruno Haible  <bruno@clisp.org>
48381
48382         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
48383         (%.dvi): New rule.
48384
48385 2009-01-24  Bruno Haible  <bruno@clisp.org>
48386
48387         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
48388         Reported by Eric Blake.
48389
48390 2009-01-24  Bruno Haible  <bruno@clisp.org>
48391
48392         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
48393         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
48394         Reported by Gary V. Vaughan <gary@gnu.org>.
48395
48396 2009-01-24  Bruno Haible  <bruno@clisp.org>
48397
48398         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
48399
48400 2009-01-23  Bruno Haible  <bruno@clisp.org>
48401
48402         Make c-strtod, c-strtold usable in libraries.
48403         * lib/c-strtod.c: Include string.h instead of xalloc.h.
48404         (C_STRTOD): Call strdup instead of xstrdup.
48405         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
48406         * modules/c-strtold (Depends-on): Likewise.
48407         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
48408         * NEWS: Mention the change.
48409         Reported by Michael Gold <mgold@ncf.ca>.
48410
48411 2009-01-23  Jim Meyering  <meyering@redhat.com>
48412
48413         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
48414         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
48415         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
48416
48417 2009-01-23  Simon Josefsson  <simon@josefsson.org>
48418
48419         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
48420         GNU CoreUtils.
48421         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
48422         * modules/version-etc (Description): Update.
48423
48424 2009-01-22  Bruno Haible  <bruno@clisp.org>
48425
48426         Cache the C locale object.
48427         * lib/c-strtod.c (c_locale_cache): New variable.
48428         (c_locale): New function.
48429         (C_STRTOD): Use it, and don't call freelocale.
48430         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
48431         Suggested by Paolo Bonzini.
48432
48433 2009-01-21  Bruno Haible  <bruno@clisp.org>
48434
48435         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
48436         conditions other than overflow.
48437
48438 2009-01-21  Bruno Haible  <bruno@clisp.org>
48439
48440         * lib/c-strtod.c: Include errno.h.
48441         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
48442         value from STRTOD_L and STRTOD.
48443
48444 2009-01-21  Bruno Haible  <bruno@clisp.org>
48445         and Jim Meyering  <meyering@redhat.com>
48446
48447         nanosleep: skip configure test (fail it) for apple universal builds
48448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
48449         universal builds, assume that nanosleep does not work.
48450         * modules/nanosleep (Depends-on): Add multiarch.
48451
48452         mktime: skip configure test (fail it) for apple universal builds
48453         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
48454         universal builds, assume that mktime does not work.
48455         * modules/mktime (Depends-on): Add multiarch.
48456
48457 2009-01-21  Eric Blake  <ebb9@byu.net>
48458
48459         multiarch: avoid expand-before-require warning
48460         * modules/multiarch (configure.ac): Require, rather than expand,
48461         gl_MULTIARCH.
48462         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
48463         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
48464         enforce that all clients require it.  Partial reversion of
48465         2008-12-29 patch.
48466
48467         error: avoid expand-before-require warning
48468         * modules/errno (configure.ac): Require, rather than expand,
48469         gl_HEADER_ERRNO_H.
48470         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
48471         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
48472         enforce that all clients require it.
48473
48474         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
48475         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
48476         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
48477         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
48478
48479 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
48480
48481         Revert:
48482         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48483
48484         regex: do not depend on obsolete modules.
48485         * modules/regex: Remove memcmp and memmove.
48486
48487 2009-01-20  Bruno Haible  <bruno@clisp.org>
48488
48489         Make the 'link' module link on Windows NT 4.
48490         * lib/link.c (_WIN32_WINNT): Don't define.
48491         (CreateHardLinkFuncType): New type.
48492         (CreateHardLinkFunc, initialized): New variables.
48493         (initialize): New function.
48494         (link): Invoke CreateHardLink indirectly through the function pointer.
48495
48496 2009-01-20  Bruno Haible  <bruno@clisp.org>
48497
48498         Fix compilation failure on mingw.
48499         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
48500
48501 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
48502
48503         * doc/c-strtod.texi: Mention a couple of restrictions.
48504
48505 2009-01-20  Jim Meyering  <meyering@redhat.com>
48506
48507         gettimeofday: move more declarations out of functions
48508         * lib/gettimeofday.c: Move extern declarations of tzset and
48509         gmtime out of containing functions.  Prompted by Bruno Haible.
48510
48511 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
48512
48513         regex: do not depend on obsolete modules.
48514         * modules/regex: Remove memcmp and memmove.
48515
48516 2009-01-19  Bruno Haible  <bruno@clisp.org>
48517
48518         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48519         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
48520         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48521         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
48522         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
48523
48524 2009-01-19  Bruno Haible  <bruno@clisp.org>
48525
48526         * tests/test-link.c: Include <errno.h>.
48527         (main): Exit with code 77 when a hard link cannot be created due to
48528         the file system.
48529         * tests/test-link.sh: Skip test when a hard link cannot be created due
48530         to the file system.
48531         Suggested by Eric Blake.
48532
48533 2009-01-19  Martin Lambers  <marlam@marlam.de>
48534
48535         * modules/link-tests: New file.
48536         * tests/test-link.sh: New file.
48537         * tests/test-link.c: New file.
48538
48539 2009-01-19  Eric Blake  <ebb9@byu.net>
48540
48541         doc: mention another function added in cygwin 1.7.0
48542         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
48543         Another new function in cygwin 1.7.
48544
48545 2009-01-19  Bruno Haible  <bruno@clisp.org>
48546
48547         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
48548         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
48549         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
48550         gl_BIGENDIAN, not AC_C_BIGENDIAN.
48551         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
48552         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
48553         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
48554         * m4/md4.m4 (gl_MD4): Likewise.
48555         * m4/md5.m4 (gl_MD5): Likewise.
48556         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
48557         * m4/sha1.m4 (gl_SHA1): Likewise.
48558         * m4/sha256.m4 (gl_SHA256): Likewise.
48559         * m4/sha512.m4 (gl_SHA512): Likewise.
48560
48561 2009-01-19  Bruno Haible  <bruno@clisp.org>
48562
48563         * modules/uniname/uniname-tests (Depends-on): Add progname.
48564         * tests/uniname/test-uninames.c: Include progname.h.
48565         (main): Call set_program_name.
48566
48567         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
48568         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
48569         (main): Call set_program_name.
48570
48571         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
48572         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
48573         (main): Call set_program_name.
48574
48575         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
48576         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
48577         (main): Call set_program_name.
48578
48579         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
48580         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
48581         (main): Call set_program_name.
48582
48583         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
48584         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
48585         (main): Call set_program_name.
48586
48587         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
48588         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
48589         (main): Call set_program_name.
48590
48591         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
48592         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
48593         (main): Call set_program_name.
48594
48595         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
48596         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
48597         (main): Call set_program_name.
48598
48599 2009-01-19  Eric Blake  <ebb9@byu.net>
48600
48601         test-unistd: test previous patch
48602         * tests/test-unistd.c: Test *_FILENO macros.
48603
48604         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
48605         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48606         Guarantee a definition.
48607         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
48608         * modules/unistd-safer (Depends-on): Add dependency on unistd.
48609         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
48610         * lib/dup-safer.c (STDERR_FILENO): Likewise.
48611         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48612         Likewise.
48613         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
48614         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
48615         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
48616         Likewise.
48617         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
48618         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
48619         (STDERR_FILENO): Likewise.
48620         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
48621         (STDERR_FILENO): Likewise.
48622         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
48623         (STDERR_FILENO): Likewise.
48624         Reported by Elbert Pol.
48625
48626 2009-01-19  Eric Blake  <ebb9@byu.net>
48627
48628         doc: mention more functions added in cygwin 1.7.0
48629         * doc/posix-functions/abort.texi (abort): Update wording related
48630         to cygwin.
48631         * doc/posix-functions/daylight.texi (daylight): Likewise.
48632         * doc/posix-functions/optarg.texi (optarg): Likewise.
48633         * doc/posix-functions/optarg.texi (opterr): Likewise.
48634         * doc/posix-functions/optarg.texi (optind): Likewise.
48635         * doc/posix-functions/optarg.texi (optopt): Likewise.
48636         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
48637         worked in 1.5.x, and was withdrawn in 1.7.
48638         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
48639         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
48640         cygwin versions.
48641         * doc/posix-functions/perror.texi (perror): Likewise.
48642         * doc/posix-functions/printf.texi (printf): Likewise.
48643         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
48644         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
48645         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
48646         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
48647         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
48648         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
48649         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
48650         Likewise.
48651         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
48652         Likewise.
48653         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
48654         this function.
48655         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
48656         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
48657         Likewise.
48658         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
48659         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
48660         * doc/posix-functions/confstr.texi (confstr): Likewise.
48661         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
48662         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
48663         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
48664         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
48665         * doc/posix-functions/fputws.texi (fputws): Likewise.
48666         * doc/posix-functions/fwide.texi (fwide): Likewise.
48667         * doc/posix-functions/getwc.texi (getwc): Likewise.
48668         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
48669         * doc/posix-functions/putwc.texi (putwc): Likewise.
48670         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
48671         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
48672         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
48673         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
48674         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
48675         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
48676         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
48677         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
48678         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
48679         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
48680         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
48681
48682 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48683
48684         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
48685         * lib/ioctl.c: Include <sys/ioctl.h>.
48686
48687 2009-01-19  Simon Josefsson  <simon@josefsson.org>
48688
48689         * modules/getdate-tests (Depends-on): Add progname.
48690         * tests/test-getdate.c: Use progname module, to avoid link errors
48691         on non-glibc systems.
48692
48693 2009-01-18  Simon Josefsson  <simon@josefsson.org>
48694
48695         * modules/filenamecat-tests (Depends-on): Add progname.
48696         * modules/fstrcmp-tests (Depends-on): Likewise.
48697
48698         * tests/test-filenamecat.c: Use progname module, to avoid link
48699         errors on non-glibc systems.
48700         * tests/test-fstrcmp.c: Likewise.
48701
48702 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
48703
48704         gettimeofday: avoid warning: nested extern declaration of 'localtime'
48705         * lib/gettimeofday.c: Move extern declaration out of function.
48706
48707 2009-01-18  Bruno Haible  <bruno@clisp.org>
48708
48709         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
48710         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
48711         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
48712
48713 2009-01-18  Bruno Haible  <bruno@clisp.org>
48714
48715         * lib/strftime.c (MEMPCPY): Remove unused macro.
48716         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
48717
48718 2009-01-18  Martin Lambers  <marlam@marlam.de>
48719
48720         New module 'link'.
48721         * lib/unistd.in.h (link): New declaration.
48722         * lib/link.c: New file.
48723         * m4/link.m4: New file.
48724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
48725         HAVE_LINK.
48726         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
48727         * modules/link: New file.
48728         * doc/posix-functions/link.texi: Mention the new module.
48729
48730 2009-01-18  Bruno Haible  <bruno@clisp.org>
48731
48732         * tests/test-avltree_list.c (main): Call set_program_name.
48733         * tests/test-avltree_oset.c (main): Likewise.
48734         * tests/test-obstack-printf.c: Include progname.h.
48735         (main): Call set_program_name.
48736         * tests/test-quotearg.c: Include progname.h.
48737         (main): Call set_program_name.
48738         * tests/test-xmemdup0.c: Include progname.h.
48739         (main): Call set_program_name.
48740
48741 2009-01-18  Bruno Haible  <bruno@clisp.org>
48742
48743         New module 'alphasort'.
48744         * lib/dirent.in.h (alphasort): New declaration.
48745         * lib/alphasort.c: New file, from glibc with modifications.
48746         * m4/alphasort.m4: New file.
48747         * modules/alphasort: New file.
48748         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
48749         HAVE_ALPHASORT.
48750         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
48751         HAVE_ALPHASORT.
48752         * doc/posix-functions/alphasort.texi: Mention the new module and the
48753         portability problems.
48754
48755 2009-01-18  Bruno Haible  <bruno@clisp.org>
48756
48757         New module 'scandir'.
48758         * lib/dirent.in.h (scandir): New declaration.
48759         * lib/scandir.c: New file, from glibc with modifications.
48760         * m4/scandir.m4: New file.
48761         * modules/scandir: New file.
48762         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
48763         HAVE_SCANDIR.
48764         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
48765         HAVE_SCANDIR.
48766         * doc/posix-functions/scandir.texi: Mention the new module and the
48767         portability problems.
48768
48769 2009-01-17  Bruno Haible  <bruno@clisp.org>
48770
48771         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
48772         Update documentation.
48773         (func_remove_suffix): Escape all dots in the suffix. Update
48774         documentation.
48775         (func_filter_filelist): Update documentation.
48776         Reported by Ralf Wildenhues.
48777
48778 2009-01-17  Bruno Haible  <bruno@clisp.org>
48779
48780         * modules/dprintf-posix-tests: New file.
48781         * tests/test-dprintf-posix.sh: New file.
48782         * tests/test-dprintf-posix.c: New file.
48783
48784         New modules 'dprintf', 'dprintf-posix'.
48785         * lib/stdio.in.h (dprintf): New declaration.
48786         * lib/dprintf.c: New file.
48787         * m4/dprintf.m4: New file.
48788         * m4/dprintf-posix.m4: New file.
48789         * modules/dprintf: New file.
48790         * modules/dprintf-posix: New file.
48791         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
48792         HAVE_DPRINTF, REPLACE_DPRINTF.
48793         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
48794         HAVE_DPRINTF, REPLACE_DPRINTF.
48795         * doc/posix-functions/dprintf.texi: Mention the new modules.
48796
48797 2009-01-17  Bruno Haible  <bruno@clisp.org>
48798
48799         * modules/vdprintf-posix-tests: New file.
48800         * tests/test-vdprintf-posix.sh: New file.
48801         * tests/test-vdprintf-posix.c: New file.
48802
48803         New modules 'vdprintf', 'vdprintf-posix'.
48804         * lib/stdio.in.h (vdprintf): New declaration.
48805         * lib/vdprintf.c: New file.
48806         * m4/vdprintf.m4: New file.
48807         * m4/vdprintf-posix.m4: New file.
48808         * modules/vdprintf: New file.
48809         * modules/vdprintf-posix: New file.
48810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
48811         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48812         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
48813         HAVE_VDPRINTF, REPLACE_VDPRINTF.
48814         * doc/posix-functions/vdprintf.texi: Mention the new modules.
48815
48816 2009-01-17  Bruno Haible  <bruno@clisp.org>
48817
48818         Fix replacement of fopen on mingw.
48819         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
48820         mingw.
48821
48822 2009-01-17  Bruno Haible  <bruno@clisp.org>
48823
48824         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
48825         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
48826
48827 2009-01-17  Bruno Haible  <bruno@clisp.org>
48828
48829         Avoid test-fflush2.sh failure on mingw.
48830         * tests/test-fflush2.c: Include binary-io.h.
48831         (main): Put standard input into binary mode.
48832         * modules/fflush-tests (Depends-on): Add binary-io.
48833
48834 2009-01-17  Bruno Haible  <bruno@clisp.org>
48835
48836         * lib/wchar.in.h: In another particular situation, include only the
48837         system's <wchar.h> file.
48838         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
48839         Reported by Albert Chin-A-Young <china@thewrittenword.com>
48840         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
48841
48842 2009-01-17  Bruno Haible  <bruno@clisp.org>
48843
48844         Support for stripping executables in --enable-relocatable.
48845         * build-aux/install-reloc: Expect one more argument, or an environment
48846         variable RELOC_STRIP_PROG. If set, strip the destination program and
48847         its wrapper.
48848         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
48849         RELOC_STRIP_PROG.
48850         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
48851         to set RELOCATABLE_STRIP.
48852         * NEWS: Mention the new Makefile requirement.
48853
48854 2009-01-17  Bruno Haible  <bruno@clisp.org>
48855
48856         * build-aux/install-reloc: Remove debugging information left over by
48857         C compiler on MacOS X.
48858
48859 2009-01-17  Bruno Haible  <bruno@clisp.org>
48860
48861         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
48862         * lib/progreloc.c (find_executable): Fix type of pointer passed to
48863         _NSGetExecutablePath.
48864
48865 2009-01-16  Jim Meyering  <meyering@redhat.com>
48866
48867         strerror: avoid warnings about discarding "const"
48868         * lib/strerror.c (rpl_strerror): Instead of returning a const
48869         string from each and every "case", use a variable, and add a single
48870         cast after the switch.
48871
48872 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
48873
48874         * lib/arpa_inet.in.h: Add extern "C" block for C++.
48875
48876 2009-01-16  Bruno Haible  <bruno@clisp.org>
48877
48878         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
48879         array initializer syntax that also works in C++ mode.
48880         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48881
48882 2009-01-16  Jim Meyering  <meyering@redhat.com>
48883
48884         poll: suppress a warning
48885         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
48886         to ignore "...unsigned expression < 0 is always false" warnings.
48887
48888 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
48889
48890         poll: remove declarations of unused variables
48891         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
48892         sockbuf and optlen.
48893
48894 2009-01-15  Bruno Haible  <bruno@clisp.org>
48895
48896         Make fflush-after-ungetc POSIX compliant on BSD systems.
48897         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
48898         (clear_ungetc_buffer): Implement also for other systems.
48899         (rpl_fflush): On glibc systems, invoke
48900         clear_ungetc_buffer_preserving_position. Otherwise, invoke
48901         clear_ungetc_buffer after fetching the stream's position, not before.
48902
48903 2009-01-15  Bruno Haible  <bruno@clisp.org>
48904
48905         Make fflush-after-ungetc POSIX compliant on glibc systems.
48906         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
48907         after ungetc.
48908         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
48909         (rpl_fflush): On glibc systems, simply call the system's fflush
48910         function after clearing the ungetc buffer.
48911         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
48912         Instead, lseek only to the end of file, then use the system's fseeko
48913         for the rest. On glibc systems, reset the EOF indicator bit.
48914
48915 2009-01-15  Jim Meyering  <meyering@redhat.com>
48916
48917         openmp.m4: revert quote-adding change, for portability to older autoconf
48918         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
48919         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
48920         Simon Josefsson noticed the problem when using autoconf-2.61.
48921
48922 2009-01-15  Bruno Haible  <bruno@clisp.org>
48923
48924         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
48925         * tests/test-fflush2.c (ASSERT): Always fail.
48926         (main): Add two tests for fflush() after ungetc(), taking into account
48927         the Austin Group's clarification.
48928         Suggested by Eric Blake.
48929
48930 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
48931
48932         mktime.m4: remove K&R-style function prototypes
48933         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
48934         for the Sun C++ compiler.
48935
48936 2009-01-14  Bruno Haible  <bruno@clisp.org>
48937
48938         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
48939         while including <wchar.h>.
48940         * lib/wchar.in.h: In two particular situations on HP-UX, include only
48941         the system's <wchar.h> file.
48942         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48943
48944 2009-01-14  Bruno Haible  <bruno@clisp.org>
48945
48946         * m4/csharp.m4: Don't mention gettext on the serial number line.
48947         * m4/csharpexec.m4: Likewise.
48948         * m4/eaccess.m4: Likewise.
48949         * m4/javaexec.m4: Likewise.
48950         * m4/sig_atomic_t.m4: Likewise.
48951         * m4/tmpdir.m4: Likewise.
48952         * m4/intldir.m4: Bump gettext version.
48953         * m4/lib-ld.m4: Likewise.
48954
48955 2009-01-14  Bruno Haible  <bruno@clisp.org>
48956
48957         * lib/progname.c (set_program_name): Add more comments.
48958         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
48959
48960 2009-01-14  Simon Josefsson  <simon@josefsson.org>
48961
48962         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
48963         were sys/stat.h does not define it.
48964
48965 2009-01-14  Jim Meyering  <meyering@redhat.com>
48966
48967         many *.m4 files: improve m4 quoting
48968         99% of this change was performed by running the following commands:
48969         git ls-files | grep '\.m4$' | xargs perl -pi \
48970           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
48971           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48972           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
48973           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
48974         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
48975         The remainder were to add Copyright dates, increment serial numbers,
48976         undo some changes in comments, exclude m4/intl.m4, and add quotes
48977         around the "1" in ",1" where the unusual spacing prohibited the
48978         above regexps from doing the job.  For more details, see
48979         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
48980         * m4/acl.m4: Modified.
48981         * m4/afs.m4: Likewise.
48982         * m4/alloca.m4: Likewise.
48983         * m4/argp.m4: Likewise.
48984         * m4/argz.m4: Likewise.
48985         * m4/atexit.m4: Likewise.
48986         * m4/bison-i18n.m4: Likewise.
48987         * m4/bison.m4: Likewise.
48988         * m4/byteswap.m4: Likewise.
48989         * m4/c-stack.m4: Likewise.
48990         * m4/c-strtod.m4: Likewise.
48991         * m4/calloc.m4: Likewise.
48992         * m4/canonicalize-lgpl.m4: Likewise.
48993         * m4/chown.m4: Likewise.
48994         * m4/clock_time.m4: Likewise.
48995         * m4/codeset.m4: Likewise.
48996         * m4/copy-file.m4: Likewise.
48997         * m4/csharp.m4: Likewise.
48998         * m4/csharpcomp.m4: Likewise.
48999         * m4/csharpexec.m4: Likewise.
49000         * m4/d-ino.m4: Likewise.
49001         * m4/d-type.m4: Likewise.
49002         * m4/dirfd.m4: Likewise.
49003         * m4/double-slash-root.m4: Likewise.
49004         * m4/eaccess.m4: Likewise.
49005         * m4/eealloc.m4: Likewise.
49006         * m4/environ.m4: Likewise.
49007         * m4/errno_h.m4: Likewise.
49008         * m4/euidaccess.m4: Likewise.
49009         * m4/execute.m4: Likewise.
49010         * m4/fatal-signal.m4: Likewise.
49011         * m4/fchdir.m4: Likewise.
49012         * m4/fcntl_h.m4: Likewise.
49013         * m4/fileblocks.m4: Likewise.
49014         * m4/filenamecat.m4: Likewise.
49015         * m4/findprog.m4: Likewise.
49016         * m4/flexmember.m4: Likewise.
49017         * m4/fnmatch.m4: Likewise.
49018         * m4/fopen.m4: Likewise.
49019         * m4/fpending.m4: Likewise.
49020         * m4/fprintf-posix.m4: Likewise.
49021         * m4/free.m4: Likewise.
49022         * m4/frexp.m4: Likewise.
49023         * m4/frexpl.m4: Likewise.
49024         * m4/fsusage.m4: Likewise.
49025         * m4/ftruncate.m4: Likewise.
49026         * m4/gc-camellia.m4: Likewise.
49027         * m4/gc-random.m4: Likewise.
49028         * m4/gc.m4: Likewise.
49029         * m4/getaddrinfo.m4: Likewise.
49030         * m4/getcwd-abort-bug.m4: Likewise.
49031         * m4/getcwd-path-max.m4: Likewise.
49032         * m4/getdate.m4: Likewise.
49033         * m4/getdomainname.m4: Likewise.
49034         * m4/getgroups.m4: Likewise.
49035         * m4/gethostname.m4: Likewise.
49036         * m4/gethrxtime.m4: Likewise.
49037         * m4/getline.m4: Likewise.
49038         * m4/getloadavg.m4: Likewise.
49039         * m4/getndelim2.m4: Likewise.
49040         * m4/getpass.m4: Likewise.
49041         * m4/gettext.m4: Likewise.
49042         * m4/gettime.m4: Likewise.
49043         * m4/gettimeofday.m4: Likewise.
49044         * m4/gnulib-common.m4: Likewise.
49045         * m4/group-member.m4: Likewise.
49046         * m4/host-os.m4: Likewise.
49047         * m4/iconv.m4: Likewise.
49048         * m4/iconv_open.m4: Likewise.
49049         * m4/inet_ntop.m4: Likewise.
49050         * m4/inet_pton.m4: Likewise.
49051         * m4/inline.m4: Likewise.
49052         * m4/intldir.m4: Likewise.
49053         * m4/intlmacosx.m4: Likewise.
49054         * m4/intmax.m4: Likewise.
49055         * m4/intmax_t.m4: Likewise.
49056         * m4/inttypes.m4: Likewise.
49057         * m4/inttypes_h.m4: Likewise.
49058         * m4/inttypes-pri.m4: Likewise.
49059         * m4/isapipe.m4: Likewise.
49060         * m4/isnand.m4: Likewise.
49061         * m4/isnanf.m4: Likewise.
49062         * m4/isnanl.m4: Likewise.
49063         * m4/javacomp.m4: Likewise.
49064         * m4/javaexec.m4: Likewise.
49065         * m4/jm-winsz1.m4: Likewise.
49066         * m4/jm-winsz2.m4: Likewise.
49067         * m4/lchown.m4: Likewise.
49068         * m4/lcmessage.m4: Likewise.
49069         * m4/ldexpl.m4: Likewise.
49070         * m4/lib-ld.m4: Likewise.
49071         * m4/lib-link.m4: Likewise.
49072         * m4/libsigsegv.m4: Likewise.
49073         * m4/link-follow.m4: Likewise.
49074         * m4/localcharset.m4: Likewise.
49075         * m4/locale-fr.m4: Likewise.
49076         * m4/locale-ja.m4: Likewise.
49077         * m4/locale-tr.m4: Likewise.
49078         * m4/locale-zh.m4: Likewise.
49079         * m4/lock.m4: Likewise.
49080         * m4/longlong.m4: Likewise.
49081         * m4/ls-mntd-fs.m4: Likewise.
49082         * m4/lstat.m4: Likewise.
49083         * m4/malloc.m4: Likewise.
49084         * m4/mathl.m4: Likewise.
49085         * m4/mbrtowc.m4: Likewise.
49086         * m4/mbstate_t.m4: Likewise.
49087         * m4/mbswidth.m4: Likewise.
49088         * m4/memchr.m4: Likewise.
49089         * m4/memcmp.m4: Likewise.
49090         * m4/memcpy.m4: Likewise.
49091         * m4/memmem.m4: Likewise.
49092         * m4/memmove.m4: Likewise.
49093         * m4/mempcpy.m4: Likewise.
49094         * m4/memrchr.m4: Likewise.
49095         * m4/memset.m4: Likewise.
49096         * m4/minmax.m4: Likewise.
49097         * m4/mkdir-slash.m4: Likewise.
49098         * m4/mkdtemp.m4: Likewise.
49099         * m4/mktime.m4: Likewise.
49100         * m4/mmap-anon.m4: Likewise.
49101         * m4/mountlist.m4: Likewise.
49102         * m4/nanosleep.m4: Likewise.
49103         * m4/nls.m4: Likewise.
49104         * m4/nocrash.m4: Likewise.
49105         * m4/open.m4: Likewise.
49106         * m4/openat.m4: Likewise.
49107         * m4/openmp.m4: Likewise.
49108         * m4/pathmax.m4: Likewise.
49109         * m4/perl.m4: Likewise.
49110         * m4/physmem.m4: Likewise.
49111         * m4/pipe.m4: Likewise.
49112         * m4/po.m4: Likewise.
49113         * m4/poll.m4: Likewise.
49114         * m4/posixtm.m4: Likewise.
49115         * m4/posixver.m4: Likewise.
49116         * m4/printf-frexp.m4: Likewise.
49117         * m4/printf-frexpl.m4: Likewise.
49118         * m4/printf-posix.m4: Likewise.
49119         * m4/printf-posix-rpl.m4: Likewise.
49120         * m4/printf.m4: Likewise.
49121         * m4/progtest.m4: Likewise.
49122         * m4/putenv.m4: Likewise.
49123         * m4/readline.m4: Likewise.
49124         * m4/readlink.m4: Likewise.
49125         * m4/readutmp.m4: Likewise.
49126         * m4/realloc.m4: Likewise.
49127         * m4/regex.m4: Likewise.
49128         * m4/relocatable.m4: Likewise.
49129         * m4/relocatable-lib.m4: Likewise.
49130         * m4/rename-dest-slash.m4: Likewise.
49131         * m4/rename.m4: Likewise.
49132         * m4/rmdir-errno.m4: Likewise.
49133         * m4/rmdir.m4: Likewise.
49134         * m4/roundf.m4: Likewise.
49135         * m4/roundl.m4: Likewise.
49136         * m4/rpmatch.m4: Likewise.
49137         * m4/save-cwd.m4: Likewise.
49138         * m4/selinux-selinux-h.m4: Likewise.
49139         * m4/setenv.m4: Likewise.
49140         * m4/settime.m4: Likewise.
49141         * m4/sig2str.m4: Likewise.
49142         * m4/sig_atomic_t.m4: Likewise.
49143         * m4/signalblocking.m4: Likewise.
49144         * m4/signbit.m4: Likewise.
49145         * m4/sigpipe.m4: Likewise.
49146         * m4/sockets.m4: Likewise.
49147         * m4/sockpfaf.m4: Likewise.
49148         * m4/st_dm_mode.m4: Likewise.
49149         * m4/stat-time.m4: Likewise.
49150         * m4/stdbool.m4: Likewise.
49151         * m4/stdint.m4: Likewise.
49152         * m4/stdint_h.m4: Likewise.
49153         * m4/stpcpy.m4: Likewise.
49154         * m4/stpncpy.m4: Likewise.
49155         * m4/strcase.m4: Likewise.
49156         * m4/strchrnul.m4: Likewise.
49157         * m4/strcspn.m4: Likewise.
49158         * m4/strdup.m4: Likewise.
49159         * m4/strftime.m4: Likewise.
49160         * m4/strndup.m4: Likewise.
49161         * m4/strnlen.m4: Likewise.
49162         * m4/strpbrk.m4: Likewise.
49163         * m4/strptime.m4: Likewise.
49164         * m4/strsep.m4: Likewise.
49165         * m4/strtod.m4: Likewise.
49166         * m4/strtoimax.m4: Likewise.
49167         * m4/strtok_r.m4: Likewise.
49168         * m4/strtol.m4: Likewise.
49169         * m4/strtoll.m4: Likewise.
49170         * m4/strtoul.m4: Likewise.
49171         * m4/strtoull.m4: Likewise.
49172         * m4/strtoumax.m4: Likewise.
49173         * m4/strverscmp.m4: Likewise.
49174         * m4/threadlib.m4: Likewise.
49175         * m4/timegm.m4: Likewise.
49176         * m4/tm_gmtoff.m4: Likewise.
49177         * m4/tmpdir.m4: Likewise.
49178         * m4/tmpfile.m4: Likewise.
49179         * m4/tzset.m4: Likewise.
49180         * m4/uintmax_t.m4: Likewise.
49181         * m4/unlinkdir.m4: Likewise.
49182         * m4/unlocked-io.m4: Likewise.
49183         * m4/uptime.m4: Likewise.
49184         * m4/userspec.m4: Likewise.
49185         * m4/utimbuf.m4: Likewise.
49186         * m4/utime.m4: Likewise.
49187         * m4/utimes-null.m4: Likewise.
49188         * m4/utimes.m4: Likewise.
49189         * m4/vararrays.m4: Likewise.
49190         * m4/vasnprintf.m4: Likewise.
49191         * m4/vfprintf-posix.m4: Likewise.
49192         * m4/vprintf-posix.m4: Likewise.
49193         * m4/wait-process.m4: Likewise.
49194         * m4/wchar_t.m4: Likewise.
49195         * m4/wint_t.m4: Likewise.
49196         * m4/write-any-file.m4: Likewise.
49197         * m4/yield.m4: Likewise.
49198
49199 2009-01-13  Bruno Haible  <bruno@clisp.org>
49200
49201         Avoid test-copy-file.sh failures when ACL support insufficient.
49202         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
49203         TESTS_ENVIRONMENT.
49204         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
49205         Reported by Jim Meyering.
49206
49207 2009-01-13  Bruno Haible  <bruno@clisp.org>
49208
49209         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
49210         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
49211         * modules/unistdio/u8-printf-parse (Files): Likewise.
49212         * modules/unistdio/u32-printf-parse (Files): Likewise.
49213         * modules/unistdio/ulc-printf-parse (Files): Likewise.
49214
49215 2009-01-13  Simon Josefsson  <simon@josefsson.org>
49216
49217         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
49218         and m4/inttypes_h.m4 too.
49219
49220 2009-01-12  Eric Blake  <ebb9@byu.net>
49221
49222         tests: IRIX 6.2 cc can't compile -0.0 into .data
49223         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
49224         rather than at compile-time.
49225         * tests/test-floorl.c (minus_zero): Likewise.
49226         * tests/test-frexpl.c (minus_zero): Likewise.
49227         * tests/test-isnan.c (minus_zerol): Likewise.
49228         * tests/test-isnanl.h (minus_zero): Likewise.
49229         * tests/test-ldexpl.c (minus_zero): Likewise.
49230         * tests/test-roundl.c (minus_zero): Likewise.
49231         * tests/test-signbit.c (minus_zerol): Likewise.
49232         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49233         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49234         * tests/test-truncl.c (minus_zero): Likewise.
49235         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49236         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49237         Reported by Tom G. Christensen and Nelson H. F. Beebe.
49238
49239 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49240
49241         regex: fix glibc bug 9697
49242         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
49243         handling.
49244
49245 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49246
49247         regex: fix glibc bug 697
49248         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
49249         being NULL also if there are no backreferences.
49250
49251 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
49252
49253         regex: merge glibc changes
49254         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
49255         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
49256         re_string_skip_chars, re_string_reconstruct): Likewise.
49257         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
49258
49259 2009-01-07  Jim Meyering  <meyering@redhat.com>
49260
49261         poll: filter through cppi
49262         * lib/poll.c: Indent cpp directives to reflect nesting.
49263
49264 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
49265
49266         poll: don't return uninitialized
49267         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
49268
49269 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
49270
49271         avoid compile failure on AIX 6.1
49272         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
49273         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
49274
49275 2009-01-04  Jim Meyering  <meyering@redhat.com>
49276
49277         remove duplicate inclusion of <stdio.h>
49278         * tests/test-fprintf-posix.c: Likewise.
49279         * tests/test-printf-posix.c: Likewise.
49280         * tests/test-snprintf-posix.c: Likewise.
49281         * tests/test-sprintf-posix.c: Likewise.
49282         * tests/test-vasprintf-posix.c: Likewise.
49283         * tests/test-vfprintf-posix.c: Likewise.
49284         * tests/test-vprintf-posix.c: Likewise.
49285         * tests/test-vsnprintf-posix.c: Likewise.
49286         * tests/test-vsprintf-posix.c: Likewise.
49287
49288 2009-01-03  Jim Meyering  <meyering@redhat.com>
49289
49290         gnulib-tool: fix sed-based filtering
49291         * gnulib-tool (func_filter_filelist): Remove extra backslash
49292         in sed_fff_filter definition.
49293
49294 2009-01-02  Jim Meyering  <meyering@redhat.com>
49295
49296         strftime: avoid compilation failure on Solaris 2.6
49297         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
49298         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
49299         Don't #define mbrlen or mbsinit, since now they're guaranteed to
49300         be available.  Reported by Tom G. Christensen.  Details in
49301         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
49302
49303 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49304             Bruno Haible  <bruno@clisp.org>
49305
49306         Speed up gnulib-tool by doing more string processing through shell
49307         built-ins.
49308         * gnulib-tool (fast_func_append): New variable.
49309         (func_remove_prefix, func_remove_suffix): New functions.
49310         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
49311         (func_filter_filelist): New function.
49312         (func_get_dependencies): Use func_remove_suffix instead of sed.
49313         (func_get_automake_snippet): Use func_filter_filelist instead of a
49314         subshell and sed invocation.
49315
49316 2009-01-01  Bruno Haible  <bruno@clisp.org>
49317
49318         Fix a security bug.
49319         * gnulib-tool (func_import, import, update): Don't allow the characters
49320         '"', '$', '`', '\' in macro arguments that become part of commands that
49321         are evaluated.
49322
49323 2009-01-01  Bruno Haible  <bruno@clisp.org>
49324
49325         * gnulib-tool (func_reset_sigpipe): Add more comments.
49326
49327 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49328
49329         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
49330         func_emit_tests_Makefile_am, func_import): Abort loops early if we
49331         already know the answer.
49332
49333 2009-01-01  Jim Meyering  <meyering@redhat.com>
49334
49335         * lib/version-etc.c (version_etc_va): Update copyright year.
49336
49337 2008-12-30  Bruno Haible  <bruno@clisp.org>
49338
49339         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
49340         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
49341         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
49342
49343 2008-12-29  Eric Blake  <ebb9@byu.net>
49344
49345         multiarch: avoid autoconf AC_REQUIRE bug
49346         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
49347         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
49348         2.63 and older.
49349         Reported by Bruno Haible, and analyzed in
49350         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
49351
49352 2008-12-29  Bruno Haible  <bruno@clisp.org>
49353
49354         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
49355         files in subdirectories correctly.
49356         Reported by Ralf Wildenhues.
49357
49358 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49359
49360         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
49361         rather than 'join FILE -', for Solaris join.
49362
49363 2008-12-29  Bruno Haible  <bruno@clisp.org>
49364
49365         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
49366         quoting.
49367         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49368         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
49369         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
49370         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
49371         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49372         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49373         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49374         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49375         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49376         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49377         * m4/nls.m4 (AM_NLS): Likewise.
49378         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
49379         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49380         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49381         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49382         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49383         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49384         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
49385         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49386         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49387         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49388         * m4/xsize.m4 (gl_XSIZE): Likewise.
49389         Suggested by Jim Meyering.
49390
49391 2008-11-17  Bruce Korb  <bkorb@gnu.org>
49392
49393         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
49394         * lib/parse-duration.c: use a switch instead of cascading if's.
49395
49396 2008-12-29  Eric Blake  <ebb9@byu.net>
49397
49398         wchar.h: supply WEOF on Irix 5.3
49399         * lib/wchar.in.h (wint_t): Also supply WEOF.
49400         * lib/wctype.in.h (wint_t): Likewise.
49401         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
49402         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
49403         Reported by Tom G. Christensen.
49404
49405 2008-12-26  Bruno Haible  <bruno@clisp.org>
49406
49407         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
49408         i486, i586, i686.
49409
49410 2008-12-26  Bruno Haible  <bruno@clisp.org>
49411
49412         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
49413
49414 2008-12-26  Bruno Haible  <bruno@clisp.org>
49415
49416         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
49417         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
49418         not __STDC_CONSTANT_MACROS.
49419         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49420
49421 2008-12-25  Bruno Haible  <bruno@clisp.org>
49422
49423         Add support for universal builds to vasnprintf.
49424         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
49425         universal builds, guess no.
49426         * modules/vasnprintf-posix (Depends-on): Add multiarch.
49427         * modules/vasprintf-posix (Depends-on): Likewise.
49428         * modules/fprintf-posix (Depends-on): Likewise.
49429         * modules/vfprintf-posix (Depends-on): Likewise.
49430         * modules/snprintf-posix (Depends-on): Likewise.
49431         * modules/vsnprintf-posix (Depends-on): Likewise.
49432         * modules/sprintf-posix (Depends-on): Likewise.
49433         * modules/vsprintf-posix (Depends-on): Likewise.
49434         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
49435         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
49436         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
49437         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
49438         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
49439         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
49440         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
49441
49442         Add support for universal builds to <inttypes.h>.
49443         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
49444         _SCNu64_PREFIX): In Apple
49445         universal builds, define directly, using _LP64.
49446         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
49447         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
49448         * modules/inttypes (Depends-on): Add multiarch.
49449         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49450
49451         Add support for universal builds to <stdint.h>.
49452         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
49453         universal builds, define directly, using _LP64.
49454         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
49455         Apple universal builds, don't test for the size and suffix of ptrdiff_t
49456         and size_t.
49457         * modules/stdint (Depends-on): Add multiarch.
49458         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
49459
49460         New module 'multiarch'.
49461         * modules/multiarch: New file.
49462         * m4/multiarch.m4: New file.
49463
49464 2008-12-25  Bruno Haible  <bruno@clisp.org>
49465
49466         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
49467
49468 2008-12-25  Bruno Haible  <bruno@clisp.org>
49469
49470         * modules/btowc (License): Relicense under LGPLv2+.
49471         * modules/mbsinit (License): Likewise.
49472         * modules/mbrtowc (License): Likewise.
49473         * modules/wcrtomb (License): Likewise.
49474         * modules/streq (License): Likewise.
49475         Reported by David Lutterkort <lutter@redhat.com>.
49476
49477 2008-12-23  Bruno Haible  <bruno@clisp.org>
49478
49479         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
49480
49481 2008-12-23  Bruno Haible  <bruno@clisp.org>
49482
49483         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
49484         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
49485         GETADDRINFO_LIB, not in LIBS.
49486         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
49487         * modules/canon-host (Link): Likewise.
49488         * NEWS: Mention the change.
49489         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
49490         GETADDRINFO_LIB.
49491
49492 2008-12-22  Bruno Haible  <bruno@clisp.org>
49493
49494         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
49495         * doc/posix-functions/iswalpha_l.texi: Likewise.
49496         * doc/posix-functions/iswblank_l.texi: Likewise.
49497         * doc/posix-functions/iswcntrl_l.texi: Likewise.
49498         * doc/posix-functions/iswctype_l.texi: Likewise.
49499         * doc/posix-functions/iswdigit_l.texi: Likewise.
49500         * doc/posix-functions/iswgraph_l.texi: Likewise.
49501         * doc/posix-functions/iswlower_l.texi: Likewise.
49502         * doc/posix-functions/iswprint_l.texi: Likewise.
49503         * doc/posix-functions/iswpunct_l.texi: Likewise.
49504         * doc/posix-functions/iswspace_l.texi: Likewise.
49505         * doc/posix-functions/iswupper_l.texi: Likewise.
49506         * doc/posix-functions/iswxdigit_l.texi: Likewise.
49507         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
49508         * doc/posix-functions/open_wmemstream.texi: Likewise.
49509         * doc/posix-functions/swscanf.texi: Likewise.
49510         * doc/posix-functions/towctrans_l.texi: Likewise.
49511         * doc/posix-functions/towlower.texi: Likewise.
49512         * doc/posix-functions/towlower_l.texi: Likewise.
49513         * doc/posix-functions/towupper.texi: Likewise.
49514         * doc/posix-functions/towupper_l.texi: Likewise.
49515         * doc/posix-functions/vfwprintf.texi: Likewise.
49516         * doc/posix-functions/vfwscanf.texi: Likewise.
49517         * doc/posix-functions/vswscanf.texi: Likewise.
49518         * doc/posix-functions/vwprintf.texi: Likewise.
49519         * doc/posix-functions/vwscanf.texi: Likewise.
49520         * doc/posix-functions/wcpcpy.texi: Likewise.
49521         * doc/posix-functions/wcpncpy.texi: Likewise.
49522         * doc/posix-functions/wcscasecmp.texi: Likewise.
49523         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
49524         * doc/posix-functions/wcscoll_l.texi: Likewise.
49525         * doc/posix-functions/wcsdup.texi: Likewise.
49526         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49527         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
49528         * doc/posix-functions/wcsnlen.texi: Likewise.
49529         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49530         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
49531         * doc/posix-functions/wctrans_l.texi: Likewise.
49532         * doc/posix-functions/wctype_l.texi: Likewise.
49533         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
49534         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
49535         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
49536         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
49537         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
49538         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
49539         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
49540         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
49541         * doc/glibc-functions/wcschrnul.texi: Likewise.
49542         * doc/glibc-functions/wcsftime_l.texi: Likewise.
49543         * doc/glibc-functions/wcstod_l.texi: Likewise.
49544         * doc/glibc-functions/wcstof_l.texi: Likewise.
49545         * doc/glibc-functions/wcstol_l.texi: Likewise.
49546         * doc/glibc-functions/wcstold_l.texi: Likewise.
49547         * doc/glibc-functions/wcstoll_l.texi: Likewise.
49548         * doc/glibc-functions/wcstoq.texi: Likewise.
49549         * doc/glibc-functions/wcstoul_l.texi: Likewise.
49550         * doc/glibc-functions/wcstoull_l.texi: Likewise.
49551         * doc/glibc-functions/wcstouq.texi: Likewise.
49552         * doc/glibc-functions/wmempcpy.texi: Likewise.
49553
49554 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
49555             Eric Blake  <ebb9@byu.net>
49556             Paolo Bonzini  <bonzini@gnu.org>
49557             Bruno Haible  <bruno@clisp.org>
49558
49559         Make c-stack work on Haiku.
49560         * lib/c-stack.c (SA_ONSTACK): Define fallback.
49561         (c_stack_action): Use SA_ONSTACK flag.
49562
49563 2008-12-22  Bruno Haible  <bruno@clisp.org>
49564
49565         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
49566
49567 2008-12-22  Bruno Haible  <bruno@clisp.org>
49568
49569         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
49570         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
49571         being overridden.
49572         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
49573         New macros.
49574         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
49575         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
49576         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
49577         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
49578
49579 2008-12-22  Bruno Haible  <bruno@clisp.org>
49580
49581         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
49582         from test code.
49583
49584 2008-12-22  Eric Blake  <ebb9@byu.net>
49585
49586         Avoid gcc warnings on cygwin.
49587         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
49588         Avoid unused variable.
49589         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
49590         Likewise.
49591
49592 2008-12-22  Bruno Haible  <bruno@clisp.org>
49593
49594         Remove HAVE_MBRTOWC conditionals.
49595         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
49596         (mbscasecmp): Assume mbrtowc function.
49597         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
49598         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
49599         * lib/mbschr.c: Include mbuiter.h unconditionally.
49600         (mbschr): Assume mbrtowc function.
49601         * lib/mbscspn.c: Include mbuiter.h unconditionally.
49602         (mbscspn): Assume mbrtowc function.
49603         * lib/mbslen.c: Include mbuiter.h unconditionally.
49604         (mbslen): Assume mbrtowc function.
49605         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
49606         (mbsncasecmp): Assume mbrtowc function.
49607         * lib/mbsnlen.c: Include mbiter.h unconditionally.
49608         (mbsnlen): Assume mbrtowc function.
49609         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
49610         (mbspbrk): Assume mbrtowc function.
49611         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
49612         (mbspcasecmp): Assume mbrtowc function.
49613         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
49614         (mbsrchr): Assume mbrtowc function.
49615         * lib/mbssep.c: Include mbuiter.h unconditionally.
49616         (mbssep): Assume mbrtowc function.
49617         * lib/mbsspn.c: Include mbuiter.h unconditionally.
49618         (mbsspn): Assume mbrtowc function.
49619         * lib/mbsstr.c: Include mbuiter.h unconditionally.
49620         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
49621         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
49622         (mbstok_r): Assume mbrtowc function.
49623         * lib/propername.c: Include mbuiter.h unconditionally.
49624         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
49625         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
49626         (trim2): Assume mbrtowc function.
49627         * lib/mbswidth.c (mbsinit): Remove fallback definition.
49628         (mbsnwidth): Assume mbrtowc function.
49629         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
49630         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
49631         fallback definitions.
49632         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
49633
49634 2008-12-22  Bruno Haible  <bruno@clisp.org>
49635
49636         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
49637
49638 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
49639
49640         * modules/regex: Request emulations for the mb*/wc* functions we need.
49641         * m4/regex.m4: Don't look for those functions here.
49642         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
49643
49644 2008-12-22  Bruno Haible  <bruno@clisp.org>
49645
49646         * modules/fnmatch (Depends-on): Remove duplicated dependency.
49647
49648 2008-12-21  Bruno Haible  <bruno@clisp.org>
49649
49650         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
49651         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
49652         (Include): Remove conditionalization.
49653         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
49654         (Include): Remove conditionalization.
49655         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
49656         (Include): Remove conditionalization.
49657         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
49658         * m4/mbfile.m4 (gl_MBFILE): Likewise.
49659         * NEWS: Mention the change.
49660         Reported by Alan Hourihane <alanh@fairlite.co.uk>
49661         via Sergey Poznyakoff <gray@gnu.org.ua>.
49662
49663 2008-12-21  Bruno Haible  <bruno@clisp.org>
49664
49665         * MODULES.html.sh (Extended multibyte and wide character utilities
49666         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
49667         wcrtomb, wcsrtombs.
49668         (Support for systems lacking POSIX:2008): Add accept, bind, close,
49669         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
49670         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
49671         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
49672
49673 2008-12-21  Bruno Haible  <bruno@clisp.org>
49674
49675         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
49676
49677 2008-12-21  Bruno Haible  <bruno@clisp.org>
49678
49679         * modules/wcsnrtombs-tests: New file.
49680         * tests/test-wcsnrtombs1.sh: New file.
49681         * tests/test-wcsnrtombs2.sh: New file.
49682         * tests/test-wcsnrtombs3.sh: New file.
49683         * tests/test-wcsnrtombs4.sh: New file.
49684         * tests/test-wcsnrtombs.c: New file.
49685
49686         New module 'wcsnrtombs'.
49687         * lib/wchar.in.h (wcsnrtombs): New declaration.
49688         * lib/wcsnrtombs.c: New file.
49689         * lib/wcsrtombs-state.c: New file.
49690         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
49691         (internal_state): Remove variable.
49692         * m4/wcsnrtombs.m4: New file.
49693         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
49694         compilation units.
49695         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
49696         HAVE_WCSNRTOMBS.
49697         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
49698         HAVE_WCSNRTOMBS.
49699         * modules/wcsnrtombs: New file.
49700         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
49701         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
49702
49703 2008-12-21  Bruno Haible  <bruno@clisp.org>
49704
49705         * modules/wcsrtombs-tests: New file.
49706         * tests/test-wcsrtombs1.sh: New file.
49707         * tests/test-wcsrtombs2.sh: New file.
49708         * tests/test-wcsrtombs3.sh: New file.
49709         * tests/test-wcsrtombs4.sh: New file.
49710         * tests/test-wcsrtombs.c: New file.
49711
49712         New module 'wcsrtombs'.
49713         * lib/wchar.in.h (wcsrtombs): New declaration.
49714         * lib/wcsrtombs.c: New file.
49715         * m4/wcsrtombs.m4: New file.
49716         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
49717         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49718         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
49719         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
49720         * modules/wcsrtombs: New file.
49721         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
49722         bugs.
49723
49724 2008-12-21  Bruno Haible  <bruno@clisp.org>
49725
49726         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
49727         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
49728         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
49729         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
49730         if not correct.
49731         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
49732         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
49733         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49734         m4/locale-zh.m4, m4/codeset.m4.
49735         * doc/posix-functions/wcrtomb.texi: Document the bug.
49736
49737 2008-12-21  Bruno Haible  <bruno@clisp.org>
49738
49739         Work around a btowc() bug on IRIX 6.5.
49740         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
49741         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
49742         REPLACE_WTOBC if not.
49743         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
49744         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
49745         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
49746
49747 2008-12-21  Bruno Haible  <bruno@clisp.org>
49748
49749         * modules/wcrtomb-tests: New file.
49750         * tests/test-wcrtomb.sh: New file.
49751         * tests/test-wcrtomb.c: New file.
49752
49753         New module 'wcrtomb'.
49754         * lib/wchar.in.h (wcrtomb): New declaration.
49755         * lib/wcrtomb.c: New file.
49756         * m4/wcrtomb.m4: New file.
49757         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
49758         HAVE_WCRTOMB.
49759         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
49760         HAVE_WCRTOMB.
49761         * modules/wcrtomb: New file.
49762         * doc/posix-functions/wcrtomb.texi: Mention the new module.
49763
49764 2008-12-21  Bruno Haible  <bruno@clisp.org>
49765
49766         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
49767         * modules/mbsrtowcs (Files): Likewise.
49768         * modules/wctob (Files): Likewise.
49769         * modules/c-strcase-tests (Files): Likewise.
49770         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
49771         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
49772         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
49773         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
49774         * modules/vasnprintf-posix-tests (Files): Likewise.
49775
49776 2008-12-21  William Pursell  <bill.pursell@gmail.com>
49777
49778         gitlog-to-changelog: pass all command-line arguments to git-log
49779         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
49780         it is sometimes convenient to filter the commits in various ways.
49781         gitlog-to-changelog only allows --since to specify a start date,
49782         but git-log itself supports many other filtering mechanisms.
49783         At the moment, I want to filter by branch name.  Rather than
49784         adding a --branch option to gitlog-to-changelog, it seems more
49785         flexible to simply pass all options directly to git-log and let
49786         git do the work.  Notice that this effectively makes --since a
49787         redundant option for gitlog-to-changelog, but removing it would
49788         require current usage to change since calls would then require
49789         an additional '--'.
49790
49791 2008-12-21  Bruno Haible  <bruno@clisp.org>
49792
49793         * modules/mbsnrtowcs-tests: New file.
49794         * tests/test-mbsnrtowcs1.sh: New file.
49795         * tests/test-mbsnrtowcs2.sh: New file.
49796         * tests/test-mbsnrtowcs3.sh: New file.
49797         * tests/test-mbsnrtowcs4.sh: New file.
49798         * tests/test-mbsnrtowcs.c: New file.
49799
49800         New module 'mbsnrtowcs'.
49801         * lib/wchar.in.h (mbsnrtowcs): New declaration.
49802         * lib/mbsnrtowcs.c: New file.
49803         * lib/mbsrtowcs-state.c: New file.
49804         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
49805         (internal_state): Remove variable.
49806         * m4/mbsnrtowcs.m4: New file.
49807         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
49808         compilation units.
49809         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
49810         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49811         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
49812         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
49813         * modules/mbsnrtowcs: New file.
49814         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
49815         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
49816         portability problem.
49817
49818 2008-12-21  Bruno Haible  <bruno@clisp.org>
49819
49820         Work around mbsrtowcs bug.
49821         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
49822         (gl_FUNC_MBSRTOWCS): Invoke it.
49823         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49824         m4/locale-zh.m4.
49825         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
49826
49827 2008-12-21  Bruno Haible  <bruno@clisp.org>
49828
49829         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
49830
49831 2008-12-21  Bruno Haible  <bruno@clisp.org>
49832
49833         Update doc for AIX.
49834         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
49835         16-bit wchar_t type.
49836         * doc/posix-functions/btowc.texi: Likewise.
49837         * doc/posix-functions/fgetwc.texi: Likewise.
49838         * doc/posix-functions/fgetws.texi: Likewise.
49839         * doc/posix-functions/fputwc.texi: Likewise.
49840         * doc/posix-functions/fputws.texi: Likewise.
49841         * doc/posix-functions/fwide.texi: Likewise.
49842         * doc/posix-functions/fwprintf.texi: Likewise.
49843         * doc/posix-functions/fwscanf.texi: Likewise.
49844         * doc/posix-functions/getwchar.texi: Likewise.
49845         * doc/posix-functions/getwc.texi: Likewise.
49846         * doc/posix-functions/iswalnum.texi: Likewise.
49847         * doc/posix-functions/iswalpha.texi: Likewise.
49848         * doc/posix-functions/iswblank.texi: Likewise.
49849         * doc/posix-functions/iswcntrl.texi: Likewise.
49850         * doc/posix-functions/iswctype.texi: Likewise.
49851         * doc/posix-functions/iswdigit.texi: Likewise.
49852         * doc/posix-functions/iswgraph.texi: Likewise.
49853         * doc/posix-functions/iswlower.texi: Likewise.
49854         * doc/posix-functions/iswprint.texi: Likewise.
49855         * doc/posix-functions/iswpunct.texi: Likewise.
49856         * doc/posix-functions/iswspace.texi: Likewise.
49857         * doc/posix-functions/iswupper.texi: Likewise.
49858         * doc/posix-functions/iswxdigit.texi: Likewise.
49859         * doc/posix-functions/mbrtowc.texi: Likewise.
49860         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49861         * doc/posix-functions/mbstowcs.texi: Likewise.
49862         * doc/posix-functions/mbtowc.texi: Likewise.
49863         * doc/posix-functions/putwchar.texi: Likewise.
49864         * doc/posix-functions/putwc.texi: Likewise.
49865         * doc/posix-functions/swprintf.texi: Likewise.
49866         * doc/posix-functions/tolower.texi: Likewise.
49867         * doc/posix-functions/toupper.texi: Likewise.
49868         * doc/posix-functions/towctrans.texi: Likewise.
49869         * doc/posix-functions/ungetwc.texi: Likewise.
49870         * doc/posix-functions/vswprintf.texi: Likewise.
49871         * doc/posix-functions/wcrtomb.texi: Likewise.
49872         * doc/posix-functions/wcscat.texi: Likewise.
49873         * doc/posix-functions/wcschr.texi: Likewise.
49874         * doc/posix-functions/wcscmp.texi: Likewise.
49875         * doc/posix-functions/wcscoll.texi: Likewise.
49876         * doc/posix-functions/wcscpy.texi: Likewise.
49877         * doc/posix-functions/wcscspn.texi: Likewise.
49878         * doc/posix-functions/wcsftime.texi: Likewise.
49879         * doc/posix-functions/wcslen.texi: Likewise.
49880         * doc/posix-functions/wcsncat.texi: Likewise.
49881         * doc/posix-functions/wcsncmp.texi: Likewise.
49882         * doc/posix-functions/wcsncpy.texi: Likewise.
49883         * doc/posix-functions/wcspbrk.texi: Likewise.
49884         * doc/posix-functions/wcsrchr.texi: Likewise.
49885         * doc/posix-functions/wcsrtombs.texi: Likewise.
49886         * doc/posix-functions/wcsspn.texi: Likewise.
49887         * doc/posix-functions/wcsstr.texi: Likewise.
49888         * doc/posix-functions/wcstod.texi: Likewise.
49889         * doc/posix-functions/wcstof.texi: Likewise.
49890         * doc/posix-functions/wcstoimax.texi: Likewise.
49891         * doc/posix-functions/wcstok.texi: Likewise.
49892         * doc/posix-functions/wcstold.texi: Likewise.
49893         * doc/posix-functions/wcstoll.texi: Likewise.
49894         * doc/posix-functions/wcstol.texi: Likewise.
49895         * doc/posix-functions/wcstombs.texi: Likewise.
49896         * doc/posix-functions/wcstoull.texi: Likewise.
49897         * doc/posix-functions/wcstoul.texi: Likewise.
49898         * doc/posix-functions/wcstoumax.texi: Likewise.
49899         * doc/posix-functions/wcswidth.texi: Likewise.
49900         * doc/posix-functions/wcsxfrm.texi: Likewise.
49901         * doc/posix-functions/wctob.texi: Likewise.
49902         * doc/posix-functions/wctomb.texi: Likewise.
49903         * doc/posix-functions/wctrans.texi: Likewise.
49904         * doc/posix-functions/wctype.texi: Likewise.
49905         * doc/posix-functions/wcwidth.texi: Likewise.
49906         * doc/posix-functions/wmemchr.texi: Likewise.
49907         * doc/posix-functions/wmemcmp.texi: Likewise.
49908         * doc/posix-functions/wmemcpy.texi: Likewise.
49909         * doc/posix-functions/wmemmove.texi: Likewise.
49910         * doc/posix-functions/wmemset.texi: Likewise.
49911         * doc/posix-functions/wprintf.texi: Likewise.
49912         * doc/posix-functions/wscanf.texi: Likewise.
49913
49914 2008-12-21  Bruno Haible  <bruno@clisp.org>
49915
49916         Update doc for HP-UX 11.11.
49917         * doc/posix-functions/btowc.texi: Clarify that the function is missing
49918         in HP-UX version 11.00, not in all versions of HP-UX 11.
49919         * doc/posix-functions/fwide.texi: Likewise.
49920         * doc/posix-functions/fwprintf.texi: Likewise.
49921         * doc/posix-functions/fwscanf.texi: Likewise.
49922         * doc/posix-functions/inet_ntop.texi: Likewise.
49923         * doc/posix-functions/inet_pton.texi: Likewise.
49924         * doc/posix-functions/mbrlen.texi: Likewise.
49925         * doc/posix-functions/mbrtowc.texi: Likewise.
49926         * doc/posix-functions/mbsinit.texi: Likewise.
49927         * doc/posix-functions/mbsrtowcs.texi: Likewise.
49928         * doc/posix-functions/swprintf.texi: Likewise.
49929         * doc/posix-functions/swscanf.texi: Likewise.
49930         * doc/posix-functions/towctrans.texi: Likewise.
49931         * doc/posix-functions/vfwprintf.texi: Likewise.
49932         * doc/posix-functions/vswprintf.texi: Likewise.
49933         * doc/posix-functions/vwprintf.texi: Likewise.
49934         * doc/posix-functions/wcrtomb.texi: Likewise.
49935         * doc/posix-functions/wcsrtombs.texi: Likewise.
49936         * doc/posix-functions/wcsstr.texi: Likewise.
49937         * doc/posix-functions/wctob.texi: Likewise.
49938         * doc/posix-functions/wctrans.texi: Likewise.
49939         * doc/posix-functions/wmemchr.texi: Likewise.
49940         * doc/posix-functions/wmemcmp.texi: Likewise.
49941         * doc/posix-functions/wmemcpy.texi: Likewise.
49942         * doc/posix-functions/wmemmove.texi: Likewise.
49943         * doc/posix-functions/wmemset.texi: Likewise.
49944         * doc/posix-functions/wprintf.texi: Likewise.
49945         * doc/posix-functions/wscanf.texi: Likewise.
49946
49947 2008-12-21  Bruno Haible  <bruno@clisp.org>
49948
49949         Work around a portability problem.
49950         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
49951         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
49952
49953 2008-12-20  Bruno Haible  <bruno@clisp.org>
49954
49955         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
49956         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
49957         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
49958         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
49959         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
49960
49961         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
49962         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
49963         set.
49964         (GNULIB_defined_mbstate_t): New macro.
49965         (mbsinit): Redefine if REPLACE_MBSINIT is set.
49966         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
49967         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
49968         reuses the system's mbrtowc function but works around the bugs.
49969         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
49970         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
49971         macros.
49972         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
49973         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
49974         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
49975         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
49976         REPLACE_MBSINIT if mbsinit needs to be overridden.
49977         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
49978         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49979         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
49980         REPLACE_MBSINIT, REPLACE_MBRTOWC.
49981         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
49982         m4/locale-zh.m4.
49983         (Depends): Add mbsinit.
49984         * modules/mbsinit (Depends): Add mbrtowc.
49985         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
49986
49987 2008-12-20  Bruno Haible  <bruno@clisp.org>
49988
49989         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
49990         so that there are no conversion errors on AIX.
49991         * tests/test-mbsrtowcs.c (main): LIkewise.
49992
49993 2008-12-20  Bruno Haible  <bruno@clisp.org>
49994
49995         Work around wctob bug on Solaris <= 9.
49996         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
49997         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
49998         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
49999         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50000         * modules/wctob (Files): Add m4/locale-fr.m4.
50001         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50002
50003 2008-12-20  Bruno Haible  <bruno@clisp.org>
50004
50005         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50006         /dev/null.
50007         * tests/test-select-in.sh: Likewise.
50008         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50009
50010 2008-12-20  Bruno Haible  <bruno@clisp.org>
50011
50012         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50013         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50014         Cygwin 1.5.x.
50015
50016 2008-12-20  Bruno Haible  <bruno@clisp.org>
50017
50018         Ensure mbstate_t is defined on HP-UX 11.11.
50019         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50020         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50021         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50022         AC_USE_SYSTEM_EXTENSIONS.
50023         * modules/fnmatch (Depends-on): Add extensions.
50024         * modules/mbrlen (Depends-on): Likewise.
50025         * modules/mbrtowc (Depends-on): Likewise.
50026         * modules/mbsinit (Depends-on): Likewise.
50027         * modules/mbsrtowcs (Depends-on): Likewise.
50028         * modules/mbswidth (Depends-on): Likewise.
50029         * modules/quotearg (Depends-on): Likewise.
50030         * modules/strftime (Depends-on): Likewise.
50031
50032 2008-12-20  Bruno Haible  <bruno@clisp.org>
50033
50034         Ensure wctob is declared on IRIX 6.5.
50035         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50036         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50037         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50038         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50039         of HAVE_WCTOB.
50040         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50041         HAVE_WCTOB.
50042         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50043
50044 2008-12-19  Bruno Haible  <bruno@clisp.org>
50045
50046         * modules/mbsrtowcs-tests: New file.
50047         * tests/test-mbsrtowcs1.sh: New file.
50048         * tests/test-mbsrtowcs2.sh: New file.
50049         * tests/test-mbsrtowcs3.sh: New file.
50050         * tests/test-mbsrtowcs4.sh: New file.
50051         * tests/test-mbsrtowcs.c: New file.
50052
50053         New module 'mbsrtowcs'.
50054         * lib/wchar.in.h (mbsrtowcs): New declaration.
50055         * lib/mbsrtowcs.c: New file.
50056         * m4/mbsrtowcs.m4: New file.
50057         * modules/mbsrtowcs: New file.
50058         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50059         HAVE_MBSRTOWCS.
50060         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50061         HAVE_MBSRTOWCS.
50062         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50063
50064 2008-12-19  Bruno Haible  <bruno@clisp.org>
50065
50066         New module 'mbrlen'.
50067         * lib/wchar.in.h (mbrlen): New declaration.
50068         * lib/mbrlen.c: New file.
50069         * m4/mbrlen.m4: New file.
50070         * modules/mbrlen: New file.
50071         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50072         HAVE_MBRLEN.
50073         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50074         HAVE_MBRLEN.
50075         * doc/posix-functions/mbrlen.texi: Document the new module.
50076
50077 2008-12-19  Bruno Haible  <bruno@clisp.org>
50078
50079         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50080         * modules/mbrtowc (Depends-on): Add verify.
50081         Suggested by Paul Eggert.
50082
50083 2008-12-18  Bruno Haible  <bruno@clisp.org>
50084
50085         * modules/mbsinit-tests: New file.
50086         * tests/test-mbsinit.sh: New file.
50087         * tests/test-mbsinit.c: New file.
50088
50089 2008-12-18  Bruno Haible  <bruno@clisp.org>
50090
50091         * modules/mbrtowc-tests: New file.
50092         * tests/test-mbrtowc1.sh: New file.
50093         * tests/test-mbrtowc2.sh: New file.
50094         * tests/test-mbrtowc3.sh: New file.
50095         * tests/test-mbrtowc4.sh: New file.
50096         * tests/test-mbrtowc.c: New file.
50097
50098         New module 'mbrtowc'.
50099         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50100         mbsinit and mbrtowc.
50101         (mbrtowc): New declaration.
50102         * lib/mbrtowc.c: New file.
50103         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50104         * modules/mbrtowc: New file.
50105         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50106         HAVE_MBRTOWC.
50107         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50108         HAVE_MBRTOWC.
50109         * doc/posix-functions/mbrtowc.texi: Document the new module.
50110
50111 2008-12-18  Bruno Haible  <bruno@clisp.org>
50112
50113         New module 'wctob'.
50114         * lib/wchar.in.h (wctob): New declaration.
50115         * lib/wctob.c: New file.
50116         * m4/wctob.m4: New file.
50117         * modules/wctob: New file.
50118         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50119         HAVE_WCTOB.
50120         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50121         * doc/posix-functions/wctob.texi: Document the new module.
50122
50123 2008-12-18  Bruno Haible  <bruno@clisp.org>
50124
50125         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50126         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50127
50128 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50129
50130         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50131         G. Christensen" <tgc@jupiterrise.com>.
50132
50133         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50134         G. Christensen" <tgc@jupiterrise.com>.
50135
50136         * lib/flock.c: Need to include string.h.  Reported by "Tom
50137         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50138         <ebb9@byu.net>.
50139
50140 2008-12-18  Bruno Haible  <bruno@clisp.org>
50141
50142         * m4/locale-ja.m4: New file, from GNU gettext.
50143
50144 2008-12-17  Bruno Haible  <bruno@clisp.org>
50145
50146         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50147         Suggested by Eric Blake.
50148
50149 2008-12-17  Bruno Haible  <bruno@clisp.org>
50150
50151         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50152
50153 2008-12-17  Bruno Haible  <bruno@clisp.org>
50154
50155         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50156         * modules/mbsinit (Depends-on): Add verify.
50157         Suggested by Paul Eggert.
50158
50159 2008-12-17  Bruno Haible  <bruno@clisp.org>
50160
50161         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50162         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50163         gl_FUNC_MBRTOWC.
50164         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50165         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50166         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50167         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50168         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50169         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50170         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
50171         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
50172         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
50173         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
50174         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
50175         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
50176         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
50177         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
50178         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
50179         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
50180         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
50181         * modules/trim (configure.ac): Likewise.
50182
50183 2008-12-17  Bruno Haible  <bruno@clisp.org>
50184
50185         * modules/btowc-tests: New file.
50186         * tests/test-btowc1.sh: New file.
50187         * tests/test-btowc2.sh: New file.
50188         * tests/test-btowc.c: New file.
50189
50190         New module 'btowc'.
50191         * lib/wchar.in.h (btowc): New declaration.
50192         * lib/btowc.c: New file.
50193         * m4/btowc.m4: New file.
50194         * modules/btowc: New file.
50195         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
50196         HAVE_BTOWC.
50197         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
50198         * doc/posix-functions/btowc.texi: Document the new module.
50199
50200 2008-12-17  Bruno Haible  <bruno@clisp.org>
50201
50202         New module 'mbsinit'.
50203         * lib/wchar.in.h (mbsinit): New declaration.
50204         * lib/mbsinit.c: New file.
50205         * m4/mbsinit.m4: New file.
50206         * modules/mbsinit: New file.
50207         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
50208         HAVE_MBSINIT.
50209         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
50210         HAVE_MBSINIT.
50211         * doc/posix-functions/mbsinit.texi: Document the new module.
50212
50213 2008-12-16  Bruno Haible  <bruno@clisp.org>
50214
50215         * lib/unistd.in.h: Add comment.
50216         * tests/test-environ.c: Don't include <stdlib.h>.
50217
50218 2008-12-16  Bruno Haible  <bruno@clisp.org>
50219
50220         * lib/parse-duration.h (parse_duration): Document return value
50221         convention.
50222         * lib/parse-duration.c: Include specification header first. Add
50223         comments.
50224         (_): Remove macro.
50225         (parse_year_month_day, parse_hour_minute_second): Move side effects
50226         outside of strchr call.
50227         (parse_non_iso8601): Move side effects outside of isspace call.
50228         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
50229         call.
50230
50231 2008-12-16  Bruno Haible  <bruno@clisp.org>
50232
50233         * tests/test-parse-duration.sh: Produce no output when the test
50234         succeeds.
50235
50236 2008-12-16  Bruno Haible  <bruno@clisp.org>
50237
50238         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
50239         expressions.
50240
50241 2008-12-15  Bruno Haible  <bruno@clisp.org>
50242
50243         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
50244         * doc/glibc-functions/flistxattr.texi: Likewise.
50245         * doc/glibc-functions/fopencookie.texi: Likewise.
50246         * doc/glibc-functions/fremovexattr.texi: Likewise.
50247         * doc/glibc-functions/fsetxattr.texi: Likewise.
50248         * doc/glibc-functions/getxattr.texi: Likewise.
50249         * doc/glibc-functions/lgetxattr.texi: Likewise.
50250         * doc/glibc-functions/listxattr.texi: Likewise.
50251         * doc/glibc-functions/llistxattr.texi: Likewise.
50252         * doc/glibc-functions/lremovexattr.texi: Likewise.
50253         * doc/glibc-functions/lsetxattr.texi: Likewise.
50254         * doc/glibc-functions/removexattr.texi: Likewise.
50255         * doc/glibc-functions/setxattr.texi: Likewise.
50256         * doc/posix-functions/open_memstream.texi: Likewise.
50257
50258 2008-12-15  Eric Blake  <ebb9@byu.net>
50259
50260         Update doc for cygwin 1.7.
50261         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
50262         functions.
50263         * doc/posix-functions/fchmodat.texi: Likewise.
50264         * doc/posix-functions/fchownat.texi: Likewise.
50265         * doc/posix-functions/fdopendir.texi: Likewise.
50266         * doc/posix-functions/fmemopen.texi: Likewise.
50267         * doc/posix-functions/freeaddrinfo.texi: Likewise.
50268         * doc/posix-functions/fstatat.texi: Likewise.
50269         * doc/posix-functions/futimens.texi: Likewise.
50270         * doc/posix-functions/gai_strerror.texi: Likewise.
50271         * doc/posix-functions/getaddrinfo.texi: Likewise.
50272         * doc/posix-functions/getnameinfo.texi: Likewise.
50273         * doc/posix-functions/if_freenameindex.texi: Likewise.
50274         * doc/posix-functions/if_indextoname.texi: Likewise.
50275         * doc/posix-functions/if_nameindex.texi: Likewise.
50276         * doc/posix-functions/if_nametoindex.texi: Likewise.
50277         * doc/posix-functions/insque.texi: Likewise.
50278         * doc/posix-functions/linkat.texi: Likewise.
50279         * doc/posix-functions/llrint.texi: Likewise.
50280         * doc/posix-functions/llrintf.texi: Likewise.
50281         * doc/posix-functions/llrintl.texi: Likewise.
50282         * doc/posix-functions/lockf.texi: Likewise.
50283         * doc/posix-functions/lrintl.texi: Likewise.
50284         * doc/posix-functions/mkdirat.texi: Likewise.
50285         * doc/posix-functions/mkfifoat.texi: Likewise.
50286         * doc/posix-functions/mknodat.texi: Likewise.
50287         * doc/posix-functions/mq_close.texi: Likewise.
50288         * doc/posix-functions/mq_getattr.texi: Likewise.
50289         * doc/posix-functions/mq_notify.texi: Likewise.
50290         * doc/posix-functions/mq_open.texi: Likewise.
50291         * doc/posix-functions/mq_receive.texi: Likewise.
50292         * doc/posix-functions/mq_send.texi: Likewise.
50293         * doc/posix-functions/mq_setattr.texi: Likewise.
50294         * doc/posix-functions/mq_timedreceive.texi: Likewise.
50295         * doc/posix-functions/mq_timedsend.texi: Likewise.
50296         * doc/posix-functions/mq_unlink.texi: Likewise.
50297         * doc/posix-functions/open_memstream.texi: Likewise.
50298         * doc/posix-functions/openat.texi: Likewise.
50299         * doc/posix-functions/posix_fadvise.texi: Likewise.
50300         * doc/posix-functions/posix_fallocate.texi: Likewise.
50301         * doc/posix-functions/posix_madvise.texi: Likewise.
50302         * doc/posix-functions/posix_memalign.texi: Likewise.
50303         * doc/posix-functions/posix_openpt.texi: Likewise.
50304         * doc/posix-functions/readlinkat.texi: Likewise.
50305         * doc/posix-functions/remque.texi: Likewise.
50306         * doc/posix-functions/renameat.texi: Likewise.
50307         * doc/posix-functions/rintl.texi: Likewise.
50308         * doc/posix-functions/sem_unlink.texi: Likewise.
50309         * doc/posix-functions/shm_open.texi: Likewise.
50310         * doc/posix-functions/shm_unlink.texi: Likewise.
50311         * doc/posix-functions/signgam.texi: Likewise.
50312         * doc/posix-functions/sigset.texi: Likewise.
50313         * doc/posix-functions/stpcpy.texi: Likewise.
50314         * doc/posix-functions/stpncpy.texi: Likewise.
50315         * doc/posix-functions/strerror.texi: Likewise.
50316         * doc/posix-functions/strtod.texi: Likewise.
50317         * doc/posix-functions/symlinkat.texi: Likewise.
50318         * doc/posix-functions/unlinkat.texi: Likewise.
50319         * doc/posix-functions/utimensat.texi: Likewise.
50320         * doc/glibc-functions/bindresvport.texi: Likewise.
50321         * doc/glibc-functions/dn_expand.texi: Likewise.
50322         * doc/glibc-functions/exp10.texi: Likewise.
50323         * doc/glibc-functions/exp10f.texi: Likewise.
50324         * doc/glibc-functions/fgetxattr.texi: Likewise.
50325         * doc/glibc-functions/flistxattr.texi: Likewise.
50326         * doc/glibc-functions/fopencookie.texi: Likewise.
50327         * doc/glibc-functions/freeifaddrs.texi: Likewise.
50328         * doc/glibc-functions/fremovexattr.texi: Likewise.
50329         * doc/glibc-functions/fsetxattr.texi: Likewise.
50330         * doc/glibc-functions/getifaddrs.texi: Likewise.
50331         * doc/glibc-functions/getxattr.texi: Likewise.
50332         * doc/glibc-functions/lgetxattr.texi: Likewise.
50333         * doc/glibc-functions/listxattr.texi: Likewise.
50334         * doc/glibc-functions/llistxattr.texi: Likewise.
50335         * doc/glibc-functions/lremovexattr.texi: Likewise.
50336         * doc/glibc-functions/lsetxattr.texi: Likewise.
50337         * doc/glibc-functions/pow10.texi: Likewise.
50338         * doc/glibc-functions/pow10f.texi: Likewise.
50339         * doc/glibc-functions/rcmd_af.texi: Likewise.
50340         * doc/glibc-functions/removexattr.texi: Likewise.
50341         * doc/glibc-functions/res_init.texi: Likewise.
50342         * doc/glibc-functions/res_mkquery.texi: Likewise.
50343         * doc/glibc-functions/res_query.texi: Likewise.
50344         * doc/glibc-functions/res_querydomain.texi: Likewise.
50345         * doc/glibc-functions/res_send.texi: Likewise.
50346         * doc/glibc-functions/rresvport_af.texi: Likewise.
50347         * doc/glibc-functions/setxattr.texi: Likewise.
50348         * doc/glibc-functions/strcasestr.texi: Likewise.
50349
50350 2008-12-15  Bruno Haible  <bruno@clisp.org>
50351
50352         Fix compilation error on OSF/1 4.0.
50353         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
50354         <sys/time.h>, simply delegate to the system header.
50355         Reported by Daniel Richard G. <oss@teragram.com>.
50356
50357 2008-12-15  Bruno Haible  <bruno@clisp.org>
50358
50359         * doc/posix-functions/openat.texi: Mention the 'openat' module.
50360         * doc/posix-functions/fchmodat.texi: Likewise.
50361         * doc/posix-functions/fchownat.texi: Likewise.
50362         * doc/posix-functions/fdopendir.texi: Likewise.
50363         * doc/posix-functions/fstatat.texi: Likewise.
50364         * doc/posix-functions/mkdirat.texi: Likewise.
50365         * doc/posix-functions/unlinkat.texi: Likewise.
50366
50367 2008-12-14  Bruno Haible  <bruno@clisp.org>
50368
50369         Update doc for POSIX:2008.
50370         * doc/posix-functions/faccessat.texi: New file.
50371         * doc/posix-functions/fchmodat.texi: New file.
50372         * doc/posix-functions/fchownat.texi: New file.
50373         * doc/posix-functions/fdopendir.texi: New file.
50374         * doc/posix-functions/fstatat.texi: New file.
50375         * doc/posix-functions/futimens.texi: New file.
50376         * doc/posix-functions/linkat.texi: New file.
50377         * doc/posix-functions/mkdirat.texi: New file.
50378         * doc/posix-functions/mkfifoat.texi: New file.
50379         * doc/posix-functions/mknodat.texi: New file.
50380         * doc/posix-functions/open_wmemstream.texi: New file.
50381         * doc/posix-functions/openat.texi: New file.
50382         * doc/posix-functions/psiginfo.texi: New file.
50383         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
50384         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
50385         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
50386         * doc/posix-functions/readlinkat.texi: New file.
50387         * doc/posix-functions/renameat.texi: New file.
50388         * doc/posix-functions/strerror_l.texi: New file.
50389         * doc/posix-functions/symlinkat.texi: New file.
50390         * doc/posix-functions/unlinkat.texi: New file.
50391         * doc/posix-functions/utimensat.texi: New file.
50392         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50393
50394 2008-12-14  Bruno Haible  <bruno@clisp.org>
50395
50396         Update doc for POSIX:2008.
50397         * doc/posix-functions/alphasort.texi: Renamed from
50398         doc/glibc-functions/alphasort.texi.
50399         * doc/posix-functions/dirfd.texi: Renamed from
50400         doc/glibc-functions/dirfd.texi.
50401         * doc/posix-functions/dprintf.texi: Renamed from
50402         doc/glibc-functions/dprintf.texi.
50403         * doc/posix-functions/duplocale.texi: Renamed from
50404         doc/glibc-functions/duplocale.texi.
50405         * doc/posix-functions/fexecve.texi: Renamed from
50406         doc/glibc-functions/fexecve.texi.
50407         * doc/posix-functions/fmemopen.texi: Renamed from
50408         doc/glibc-functions/fmemopen.texi.
50409         * doc/posix-functions/freelocale.texi: Renamed from
50410         doc/glibc-functions/freelocale.texi.
50411         * doc/posix-functions/getdate_err.texi: Renamed from
50412         doc/glibc-functions/getdate_err.texi.
50413         * doc/posix-functions/isalnum_l.texi: Renamed from
50414         doc/glibc-functions/isalnum_l.texi.
50415         * doc/posix-functions/isalpha_l.texi: Renamed from
50416         doc/glibc-functions/isalpha_l.texi.
50417         * doc/posix-functions/isblank_l.texi: Renamed from
50418         doc/glibc-functions/isblank_l.texi.
50419         * doc/posix-functions/iscntrl_l.texi: Renamed from
50420         doc/glibc-functions/iscntrl_l.texi.
50421         * doc/posix-functions/isdigit_l.texi: Renamed from
50422         doc/glibc-functions/isdigit_l.texi.
50423         * doc/posix-functions/isgraph_l.texi: Renamed from
50424         doc/glibc-functions/isgraph_l.texi.
50425         * doc/posix-functions/islower_l.texi: Renamed from
50426         doc/glibc-functions/islower_l.texi.
50427         * doc/posix-functions/isprint_l.texi: Renamed from
50428         doc/glibc-functions/isprint_l.texi.
50429         * doc/posix-functions/ispunct_l.texi: Renamed from
50430         doc/glibc-functions/ispunct_l.texi.
50431         * doc/posix-functions/isspace_l.texi: Renamed from
50432         doc/glibc-functions/isspace_l.texi.
50433         * doc/posix-functions/isupper_l.texi: Renamed from
50434         doc/glibc-functions/isupper_l.texi.
50435         * doc/posix-functions/iswalnum_l.texi: Renamed from
50436         doc/glibc-functions/iswalnum_l.texi.
50437         * doc/posix-functions/iswalpha_l.texi: Renamed from
50438         doc/glibc-functions/iswalpha_l.texi.
50439         * doc/posix-functions/iswblank_l.texi: Renamed from
50440         doc/glibc-functions/iswblank_l.texi.
50441         * doc/posix-functions/iswcntrl_l.texi: Renamed from
50442         doc/glibc-functions/iswcntrl_l.texi.
50443         * doc/posix-functions/iswctype_l.texi: Renamed from
50444         doc/glibc-functions/iswctype_l.texi.
50445         * doc/posix-functions/iswdigit_l.texi: Renamed from
50446         doc/glibc-functions/iswdigit_l.texi.
50447         * doc/posix-functions/iswgraph_l.texi: Renamed from
50448         doc/glibc-functions/iswgraph_l.texi.
50449         * doc/posix-functions/iswlower_l.texi: Renamed from
50450         doc/glibc-functions/iswlower_l.texi.
50451         * doc/posix-functions/iswprint_l.texi: Renamed from
50452         doc/glibc-functions/iswprint_l.texi.
50453         * doc/posix-functions/iswpunct_l.texi: Renamed from
50454         doc/glibc-functions/iswpunct_l.texi.
50455         * doc/posix-functions/iswspace_l.texi: Renamed from
50456         doc/glibc-functions/iswspace_l.texi.
50457         * doc/posix-functions/iswupper_l.texi: Renamed from
50458         doc/glibc-functions/iswupper_l.texi.
50459         * doc/posix-functions/iswxdigit_l.texi: Renamed from
50460         doc/glibc-functions/iswxdigit_l.texi.
50461         * doc/posix-functions/isxdigit_l.texi: Renamed from
50462         doc/glibc-functions/isxdigit_l.texi.
50463         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
50464         doc/glibc-functions/mbsnrtowcs.texi.
50465         * doc/posix-functions/mkdtemp.texi: Renamed from
50466         doc/glibc-functions/mkdtemp.texi.
50467         * doc/posix-functions/newlocale.texi: Renamed from
50468         doc/glibc-functions/newlocale.texi.
50469         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
50470         doc/glibc-functions/nl_langinfo_l.texi.
50471         * doc/posix-functions/open_memstream.texi: Renamed from
50472         doc/glibc-functions/open_memstream.texi.
50473         * doc/posix-functions/opterr.texi: Renamed from
50474         doc/glibc-functions/opterr.texi.
50475         * doc/posix-functions/optind.texi: Renamed from
50476         doc/glibc-functions/optind.texi.
50477         * doc/posix-functions/optopt.texi: Renamed from
50478         doc/glibc-functions/optopt.texi.
50479         * doc/posix-functions/psignal.texi: Renamed from
50480         doc/glibc-functions/psignal.texi.
50481         * doc/posix-functions/scandir.texi: Renamed from
50482         doc/glibc-functions/scandir.texi.
50483         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
50484         doc/glibc-functions/sched_get_priority_min.texi.
50485         * doc/posix-functions/signgam.texi: Renamed from
50486         doc/glibc-functions/signgam.texi.
50487         * doc/posix-functions/stpcpy.texi: Renamed from
50488         doc/glibc-functions/stpcpy.texi.
50489         * doc/posix-functions/stpncpy.texi: Renamed from
50490         doc/glibc-functions/stpncpy.texi.
50491         * doc/posix-functions/strcasecmp_l.texi: Renamed from
50492         doc/glibc-functions/strcasecmp_l.texi.
50493         * doc/posix-functions/strcoll_l.texi: Renamed from
50494         doc/glibc-functions/strcoll_l.texi.
50495         * doc/posix-functions/strfmon_l.texi: Renamed from
50496         doc/glibc-functions/strfmon_l.texi.
50497         * doc/posix-functions/strftime_l.texi: Renamed from
50498         doc/glibc-functions/strftime_l.texi.
50499         * doc/posix-functions/strncasecmp_l.texi: Renamed from
50500         doc/glibc-functions/strncasecmp_l.texi.
50501         * doc/posix-functions/strndup.texi: Renamed from
50502         doc/glibc-functions/strndup.texi.
50503         * doc/posix-functions/strnlen.texi: Renamed from
50504         doc/glibc-functions/strnlen.texi.
50505         * doc/posix-functions/strsignal.texi: Renamed from
50506         doc/glibc-functions/strsignal.texi.
50507         * doc/posix-functions/strxfrm_l.texi: Renamed from
50508         doc/glibc-functions/strxfrm_l.texi.
50509         * doc/posix-functions/timer_gettime.texi: Renamed from
50510         doc/glibc-functions/timer_gettime.texi.
50511         * doc/posix-functions/tolower_l.texi: Renamed from
50512         doc/glibc-functions/tolower_l.texi.
50513         * doc/posix-functions/toupper_l.texi: Renamed from
50514         doc/glibc-functions/toupper_l.texi.
50515         * doc/posix-functions/towctrans_l.texi: Renamed from
50516         doc/glibc-functions/towctrans_l.texi.
50517         * doc/posix-functions/towlower_l.texi: Renamed from
50518         doc/glibc-functions/towlower_l.texi.
50519         * doc/posix-functions/towupper_l.texi: Renamed from
50520         doc/glibc-functions/towupper_l.texi.
50521         * doc/posix-functions/uselocale.texi: Renamed from
50522         doc/glibc-functions/uselocale.texi.
50523         * doc/posix-functions/vdprintf.texi: Renamed from
50524         doc/glibc-functions/vdprintf.texi.
50525         * doc/posix-functions/wcpcpy.texi:
50526         Renamed from doc/glibc-functions/wcpcpy.texi.
50527         * doc/posix-functions/wcpncpy.texi: Renamed from
50528         doc/glibc-functions/wcpncpy.texi.
50529         * doc/posix-functions/wcscasecmp.texi: Renamed from
50530         doc/glibc-functions/wcscasecmp.texi.
50531         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
50532         doc/glibc-functions/wcscasecmp_l.texi.
50533         * doc/posix-functions/wcscoll_l.texi: Renamed from
50534         doc/glibc-functions/wcscoll_l.texi.
50535         * doc/posix-functions/wcsdup.texi: Renamed from
50536         doc/glibc-functions/wcsdup.texi.
50537         * doc/posix-functions/wcsncasecmp.texi: Renamed from
50538         doc/glibc-functions/wcsncasecmp.texi.
50539         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
50540         doc/glibc-functions/wcsncasecmp_l.texi.
50541         * doc/posix-functions/wcsnlen.texi: Renamed from
50542         doc/glibc-functions/wcsnlen.texi.
50543         * doc/posix-functions/wcsnrtombs.texi: Renamed from
50544         doc/glibc-functions/wcsnrtombs.texi.
50545         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
50546         doc/glibc-functions/wcsxfrm_l.texi.
50547         * doc/posix-functions/wctrans_l.texi: Renamed from
50548         doc/glibc-functions/wctrans_l.texi.
50549         * doc/posix-functions/wctype_l.texi: Renamed from
50550         doc/glibc-functions/wctype_l.texi.
50551         * doc/gnulib.texi (Function Substitutes): Add these subsections.
50552         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
50553         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
50554         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
50555         these subsections.
50556         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
50557         Remove sections.
50558
50559 2008-12-14  Bruno Haible  <bruno@clisp.org>
50560
50561         Update doc for POSIX:2008.
50562         * doc/posix-functions/*.texi: Update URL of POSIX specification.
50563
50564 2008-12-14  Bruno Haible  <bruno@clisp.org>
50565
50566         Update doc for POSIX:2008.
50567         * doc/pastposix-functions/bcmp.texi: Renamed from
50568         doc/posix-functions/bcmp.texi.
50569         * doc/pastposix-functions/bcopy.texi: Renamed from
50570         doc/posix-functions/bcopy.texi.
50571         * doc/pastposix-functions/bsd_signal.texi: Renamed from
50572         doc/posix-functions/bsd_signal.texi.
50573         * doc/pastposix-functions/bzero.texi: Renamed from
50574         doc/posix-functions/bzero.texi.
50575         * doc/pastposix-functions/ecvt.texi: Renamed from
50576         doc/posix-functions/ecvt.texi.
50577         * doc/pastposix-functions/fcvt.texi: Renamed from
50578         doc/posix-functions/fcvt.texi.
50579         * doc/pastposix-functions/ftime.texi: Renamed from
50580         doc/posix-functions/ftime.texi.
50581         * doc/pastposix-functions/gcvt.texi: Renamed from
50582         doc/posix-functions/gcvt.texi.
50583         * doc/pastposix-functions/getcontext.texi: Renamed from
50584         doc/posix-functions/getcontext.texi.
50585         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
50586         doc/posix-functions/gethostbyaddr.texi.
50587         * doc/pastposix-functions/gethostbyname.texi: Renamed from
50588         doc/posix-functions/gethostbyname.texi.
50589         * doc/pastposix-functions/getwd.texi: Renamed from
50590         doc/posix-functions/getwd.texi.
50591         * doc/pastposix-functions/h_errno.texi: Renamed from
50592         doc/posix-functions/h_errno.texi.
50593         * doc/pastposix-functions/index.texi: Renamed from
50594         doc/posix-functions/index.texi.
50595         * doc/pastposix-functions/makecontext.texi: Renamed from
50596         doc/posix-functions/makecontext.texi.
50597         * doc/pastposix-functions/mktemp.texi: Renamed from
50598         doc/posix-functions/mktemp.texi.
50599         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
50600         doc/posix-functions/pthread_attr_getstackaddr.texi.
50601         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
50602         doc/posix-functions/pthread_attr_setstackaddr.texi.
50603         * doc/pastposix-functions/rindex.texi: Renamed from
50604         doc/posix-functions/rindex.texi.
50605         * doc/pastposix-functions/scalb.texi: Renamed from
50606         doc/posix-functions/scalb.texi.
50607         * doc/pastposix-functions/setcontext.texi: Renamed from
50608         doc/posix-functions/setcontext.texi.
50609         * doc/pastposix-functions/swapcontext.texi: Renamed from
50610         doc/posix-functions/swapcontext.texi.
50611         * doc/pastposix-functions/ualarm.texi: Renamed from
50612         doc/posix-functions/ualarm.texi.
50613         * doc/pastposix-functions/usleep.texi: Renamed from
50614         doc/posix-functions/usleep.texi.
50615         * doc/pastposix-functions/vfork.texi: Renamed from
50616         doc/posix-functions/vfork.texi.
50617         * doc/pastposix-functions/wcswcs.texi: Renamed from
50618         doc/posix-functions/wcswcs.texi.
50619         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
50620         (Function Substitutes): Update.
50621
50622 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50623
50624         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
50625         m4/strerror.m4.
50626
50627 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50628             Bruno Haible  <bruno@clisp.org>
50629
50630         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
50631
50632 2008-12-13  Bruno Haible  <bruno@clisp.org>
50633
50634         * modules/strtoull (Depends-on): Remove unistd.
50635
50636 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50637
50638         * modules/strtoull (Depends-on): Add stdlib.
50639
50640 2008-12-11  Simon Josefsson  <simon@josefsson.org>
50641
50642         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
50643
50644 2008-12-10  Jim Meyering  <meyering@redhat.com>
50645
50646         gl_ASSERT: don't say assertions are disabled when they're not
50647         * m4/assert.m4 (gl_ASSERT): Do not make configure report
50648         "checking whether to enable assertions... no", when they are in
50649         fact enabled.  This is solely a bug in the output of configure.
50650         In spite of saying "no", NDEBUG was not defined in that case.
50651         Also, as noted by Eric Blake, leave assertions enabled upon
50652         --enable-assert=INVALID.
50653
50654 2008-12-10  Bruno Haible  <bruno@clisp.org>
50655
50656         Change MODULES.html to refer to POSIX:2008 where possible.
50657         * MODULES.html.sh (POSIX2008_URL): New variable.
50658         (posix_headers): Remove sys/timeb, ucontext.
50659         (posix2001_headers): New variable.
50660         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
50661         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
50662         index, makecontext, mktemp, pthread_attr_getstackaddr,
50663         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
50664         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
50665         (posix2001_functions): New variable.
50666         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
50667         otherwise.
50668
50669 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50670
50671         add missing include to parse-duration.c
50672         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
50673         * modules/parse-duration (Depends-on): Add xalloc.
50674
50675         fix sed script reading maint.mk
50676         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
50677         (syntax-check-rules): Use it.
50678
50679 2008-12-09  Bruno Haible  <bruno@clisp.org>
50680
50681         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
50682         MacOS X 10.4/PowerPC.
50683         Reported by Simon Josefsson.
50684
50685 2008-12-08  Jim Meyering  <meyering@redhat.com>
50686
50687         work around mingw's lack of some S_IF definitions
50688         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
50689         Reported by Simon Josefsson.
50690
50691 2008-12-08  Bruno Haible  <bruno@clisp.org>
50692
50693         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
50694         applied to variables. Needed on MacOS X 10.4/PowerPC.
50695         Reported by Simon Josefsson.
50696
50697 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
50698         and Eric Blake  <ebb9@byu.net>
50699
50700         assert: honor --enable-assert
50701         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
50702         order to honor --enable-assert, rather than treating it as a
50703         synonym for --disable-assert.
50704
50705 2008-12-08  Jim Meyering  <meyering@redhat.com>
50706
50707         * lib/posixtm.c: Remove now-useless declaration of mktime.
50708
50709         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
50710
50711 2008-12-07  Bruno Haible  <bruno@clisp.org>
50712
50713         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
50714         test_once): Mark functions as static.
50715         * tests/test-tls.c (test_tls): Likewise.
50716
50717 2008-12-07  Bruno Haible  <bruno@clisp.org>
50718
50719         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
50720         iconv_register_autodetect.
50721
50722 2008-12-07  Jim Meyering  <meyering@redhat.com>
50723
50724         posixtm.c: avoid a warning
50725         * lib/posixtm.c (posixtime): Don't initialize tm0.
50726         It's no longer needed to placate gcc4's -Wuninitialized,
50727         and the attempt to placate would elicit a new warning.
50728
50729         unicodeio.c: mark unused parameters
50730         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50731         (fallback_failure_callback): Likewise.
50732
50733 2008-12-07  Bruno Haible  <bruno@clisp.org>
50734
50735         * gnulib-tool (func_create_testdir): When building the tests
50736         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
50737         Reported by Simon Josefsson.
50738
50739 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50740
50741         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
50742
50743 2008-12-06  Bruno Haible  <bruno@clisp.org>
50744
50745         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
50746         Suggested by Eric Blake.
50747
50748 2008-12-06  Bruno Haible  <bruno@clisp.org>
50749
50750         Fix a c-stack test failure on MacOS X.
50751         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
50752         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
50753         handler for SIGBUS as well.
50754         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
50755         install a signal handler for SIGBUS as well.
50756         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
50757
50758 2008-12-06  Bruno Haible  <bruno@clisp.org>
50759
50760         Advocacy documentation.
50761         * doc/gnulib-intro.texi (Benefits): New section.
50762         * doc/gnulib.texi: Update.
50763
50764 2008-12-06  Bruno Haible  <bruno@clisp.org>
50765
50766         Document the 'manywarnings' module.
50767         * doc/manywarnings.texi: New file.
50768         * doc/gnulib.texi: Include it.
50769
50770 2008-12-05  Eric Blake  <ebb9@byu.net>
50771
50772         tests: silence some gcc warnings
50773         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
50774         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
50775         type mismatches.
50776
50777 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50778             Bruno Haible  <bruno@clisp.org>
50779
50780         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
50781
50782 2008-11-29  Jim Meyering  <meyering@redhat.com>
50783
50784         unicodeio.c: mark unused parameters
50785         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
50786         (fallback_failure_callback): Likewise.
50787
50788         fts: fix a thinko
50789         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
50790         (set_stat_type): Return S_IF*-valued "type" directly.
50791         Prompted by James Youngman's spotting a related bug.
50792         Confirmed by further testing through find.
50793
50794         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
50795         * lib/fts.c (D_TYPE): Define.
50796         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
50797         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
50798         (s_ifmt_shift_bits): New function.
50799         (set_stat_type): New function.
50800         (fts_build): When not calling fts_stat, call set_stat_type
50801         to propagate dirent.d_type info to fts_read caller.
50802         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
50803         fts_statp->st_mode type information may be valid.
50804
50805 2008-11-28  Simon Josefsson  <simon@josefsson.org>
50806
50807         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
50808         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
50809         <sds@gnu.org>.
50810
50811 2008-11-20  Bruno Haible  <bruno@clisp.org>
50812
50813         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
50814         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
50815         INCLUDE_NEXT.
50816         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
50817         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
50818         * modules/math (Makefile.am): Substitute
50819         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
50820         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50821
50822 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
50823             Bruno Haible  <bruno@clisp.org>
50824
50825         * lib/stdint.in.h: Define all type macros so that their expansion is
50826         a single typedef'ed token. Fixes a compilation failure in Boost which
50827         does "using ::int8_t;".
50828
50829 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50830
50831         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
50832         gl_MANYWARN_ALL_GCC.
50833         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
50834         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
50835         * modules/manywarnings: New file.
50836         * MODULES.html.sh: Mention manywarnings module.
50837
50838 2008-11-18  Bruno Haible  <bruno@clisp.org>
50839
50840         * doc/gnulib-tool.texi (Unit tests): New section.
50841
50842 2008-11-18  Simon Josefsson  <simon@josefsson.org>
50843
50844         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
50845         paths like 'lib/po/foo.po'.
50846
50847 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50848
50849         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
50850         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
50851
50852 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50853
50854         * m4/warnings.m4: Use CPPFLAGS to really check whether the
50855         parameter works.
50856
50857 2008-11-17  Simon Josefsson  <simon@josefsson.org>
50858
50859         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
50860
50861 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50862
50863         * modules/parse-duration-tests: New file.
50864         * tests/test-parse-duration.sh: New file.
50865         * tests/test-parse-duration.c: New file.
50866
50867         New module 'parse-duration'.
50868         * lib/parse-duration.h: New file.
50869         * lib/parse-duration.c: New file.
50870         * modules/parse-duration: New file.
50871
50872 2008-11-17  Bruno Haible  <bruno@clisp.org>
50873
50874         * tests/test-select-out.sh: Comment out the first pipe test.
50875         Reported by Simon Josefsson.
50876
50877 2008-11-17  Bruno Haible  <bruno@clisp.org>
50878
50879         * modules/getaddrinfo (Depends-on): Add servent, hostent.
50880         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
50881         gl_HOSTENT.
50882
50883 2008-11-17  Bruno Haible  <bruno@clisp.org>
50884
50885         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
50886         -lnetwork and -lnet. Needed for Haiku and BeOS.
50887
50888 2008-11-16  Bruno Haible  <bruno@clisp.org>
50889
50890         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
50891
50892 2008-11-16  Bruno Haible  <bruno@clisp.org>
50893
50894         Avoid test failure on Haiku.
50895         * tests/test-fsync.c: Include <errno.h>.
50896         (main): Don't require that fsync (0) fails.
50897
50898 2008-11-15  Bruno Haible  <bruno@clisp.org>
50899
50900         New module 'hostent'.
50901         * modules/hostent: New file.
50902         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
50903
50904 2008-11-15  Bruno Haible  <bruno@clisp.org>
50905
50906         New module 'servent'.
50907         * modules/servent: New file.
50908         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
50909
50910 2008-11-15  Bruno Haible  <bruno@clisp.org>
50911
50912         Avoid generating same test program with two different rules.
50913         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
50914         test-frexp to test-frexp-nolibm.
50915         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
50916         test-frexpl to test-frexpl-nolibm.
50917
50918 2008-11-15  Bruno Haible  <bruno@clisp.org>
50919
50920         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
50921         $(FREXPL_LIBM).
50922
50923 2008-11-15  Bruno Haible  <bruno@clisp.org>
50924
50925         * lib/netdb.in.h: Activate the definitions also when the system's
50926         <netdb.h> has 'struct addrinfo'.
50927         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
50928         EAI_OVERFLOW or AI_NUMERICSERV.
50929         * doc/posix-headers/netdb.texi: Document the problem.
50930
50931 2008-11-15  Bruno Haible  <bruno@clisp.org>
50932
50933         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
50934
50935         Make the 'sched' module work on platforms where <sched.h> exists but
50936         is incomplete (such as Haiku).
50937         * lib/sched.in.h; Include the system's <sched.h> if it exists.
50938         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
50939         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
50940         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
50941         HAVE_STRUCT_SCHED_PARAM.
50942         * modules/sched (Depends-on): Add include_next.
50943         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
50944         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
50945         * doc/posix-headers/sched.texi: Document the issue.
50946
50947 2008-11-13  Jim Meyering  <meyering@redhat.com>
50948
50949         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
50950         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
50951         test would fail due to the difference in the Report bugs to ...
50952         line.  The expected address is empty, "<>", while the actual
50953         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
50954
50955 2008-11-12  Bruno Haible  <bruno@clisp.org>
50956
50957         lstat: don't compile lstat.c on systems lacking lstat
50958         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
50959         which don't have lstat; this is handled by lib/sys_stat.in.h already.
50960         Reported by Daniel P. Berrange via Jim Meyering.
50961
50962 2008-11-12  Jim Meyering  <meyering@redhat.com>
50963
50964         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
50965
50966 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50967
50968         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
50969         instead.
50970
50971 2008-11-12  Bruno Haible  <bruno@clisp.org>
50972
50973         * lib/unicodeio.c: Include unistr.h.
50974         (utf8_wctomb): Remove function.
50975         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
50976
50977 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50978
50979         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
50980         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
50981         <bruno@clisp.org>.
50982         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
50983
50984 2008-11-12  Simon Josefsson  <simon@josefsson.org>
50985
50986         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
50987         * doc/gnulib.texi: Add section for warnings.
50988
50989 2008-11-11  Bruno Haible  <bruno@clisp.org>
50990
50991         * lib/sockets.h: Add a comment.
50992
50993 2008-11-11  Karl Berry  <karl@gnu.org>
50994
50995         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
50996
50997 2008-11-11  Eric Blake  <ebb9@byu.net>
50998
50999         fdl.texi: avoid git symlinks
51000         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51001
51002 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51003
51004         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51005
51006 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51007
51008         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51009         (gl_WARN_ADD): Substitute $2 if literal.
51010
51011 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51012
51013         * m4/warning.m4: Remove.
51014
51015 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51016
51017         * m4/warnings.m4: Almost complete rewrite. :-)
51018
51019 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51020
51021         * modules/warnings: New module.
51022         * m4/warnings.m4: New file.
51023         * MODULES.html.sh: Mention warnings module.
51024         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51025         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51026
51027 2008-11-10  Eric Blake  <ebb9@byu.net>
51028
51029         fdl.texi: make a symlink to the latest version
51030         * doc/standards.texi: Revert today's earlier change.
51031         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51032         * doc/fdl.texi: ...and replace this with a symlink to the newer
51033         fdl-1.3.texi.
51034
51035 2008-11-10  Bruno Haible  <bruno@clisp.org>
51036
51037         * tests/test-select-fd.c (main): Accept the result file name as fourth
51038         argument.
51039         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51040         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51041
51042 2008-11-10  Bruno Haible  <bruno@clisp.org>
51043
51044         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51045         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51046         as autoconf-substituted macros.
51047         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51048         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51049         gl_NETDB_H_DEFAULTS. Set these variables.
51050         * modules/netdb (Makefile.am): Substitute these variables.
51051
51052 2008-11-10  Eric Blake  <ebb9@byu.net>
51053
51054         standards.texi: include correct file for FDL 1.3
51055         * doc/standards.texi (GNU Free Documentation License): Change
51056         include file to pull in FDL 1.3, not 1.2.
51057
51058         fdl.texi: revert accidental change to license
51059         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51060
51061 2008-11-10  Bruno Haible  <bruno@clisp.org>
51062
51063         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51064         cross-compiling guesses also when the native compile gives no result.
51065
51066 2008-11-10  Bruno Haible  <bruno@clisp.org>
51067
51068         * lib/spawni.c (__spawni): Force variable into the stack.
51069
51070 2008-11-10  Bruno Haible  <bruno@clisp.org>
51071
51072         Add support for Haiku.
51073         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51074         glibc and BeOS, but also on Haiku.
51075         * lib/fpurge.c (fpurge): Likewise.
51076         * lib/freadable.c (freadable): Likewise.
51077         * lib/freadahead.c (freadahead): Likewise.
51078         * lib/freading.c (freading): Likewise.
51079         * lib/freadptr.c (freadptr): Likewise.
51080         * lib/freadseek.c (freadptrinc): Likewise.
51081         * lib/fseeko.c (rpl_fseeko): Likewise.
51082         * lib/fseterr.c (fseterr): Likewise.
51083         * lib/fwritable.c (fwritable): Likewise.
51084         * lib/fwriting.c (fwriting): Likewise.
51085         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51086
51087 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51088
51089         * lib/config.charset: Treat Haiku like BeOS.
51090
51091 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51092
51093         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51094         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51095
51096 2008-11-08  Bruno Haible  <bruno@clisp.org>
51097
51098         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51099         AC_CACHE_CHECK.
51100
51101 2008-11-08  Bruno Haible  <bruno@clisp.org>
51102
51103         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51104
51105 2008-11-08  Bruno Haible  <bruno@clisp.org>
51106
51107         * tests/test-select-fd.c: New file.
51108         * tests/test-select-in.sh: New file.
51109         * tests/test-select-out.sh: New file.
51110         * tests/test-select-stdin.c: New file.
51111         * modules/select-tests (Files): Add the new files.
51112         (Depends-on): Add gettimeofday.
51113         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51114         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51115         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51116
51117 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51118             Bruno Haible  <bruno@clisp.org>
51119
51120         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51121
51122 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51123
51124         * build-aux/pmccabe2html: Added support for C++ source files.
51125
51126 2008-11-05  Ben Pfaff  <blp@gnu.org>
51127
51128         Fix lib/close.c build on Windows.
51129         * modules/close (Files): Add lib/w32sock.h.
51130
51131 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51132
51133         Accept Bison's NEWS format.
51134         * build-aux/announce-gen (print_news_deltas): Tweak
51135         $re_prefix.
51136
51137 2008-11-04  Bruno Haible  <bruno@clisp.org>
51138
51139         * modules/random_r (Maintainer): Add glibc.
51140
51141 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51142
51143         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51144         by karl@freefriends.org (Karl Berry).
51145         * doc/alloca.texi: Likewise.
51146         * doc/c-ctype.texi: Likewise.
51147         * doc/c-strcase.texi: Likewise.
51148         * doc/c-strcaseeq.texi: Likewise.
51149         * doc/c-strcasestr.texi: Likewise.
51150         * doc/c-strstr.texi: Likewise.
51151         * doc/c-strtod.texi: Likewise.
51152         * doc/c-strtold.texi: Likewise.
51153         * doc/ctime.texi: Likewise.
51154         * doc/error.texi: Likewise.
51155         * doc/fdl.texi: Likewise.
51156         * doc/gcd.texi: Likewise.
51157         * doc/getdate.texi: Likewise.
51158         * doc/gnulib-intro.texi: Likewise.
51159         * doc/gnulib-tool.texi: Likewise.
51160         * doc/gnulib.texi: Likewise.
51161         * doc/inet_ntoa.texi: Likewise.
51162         * doc/maintain.texi: Likewise.
51163         * doc/make-stds.texi: Likewise.
51164         * doc/quote.texi: Likewise.
51165         * doc/regexprops-generic.texi: Likewise.
51166         * doc/standards.texi: Likewise.
51167         * doc/verify.texi: Likewise.
51168         * doc/visibility.texi: Likewise.
51169         * doc/gnulib.texi (GNU Free Documentation License): Include
51170         fdl-1.3.texi instead of fdl.texi.
51171
51172 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51173
51174         * doc/fdl-1.3.texi: New file, from
51175         <http://www.gnu.org/licenses/fdl-1.3.texi>.
51176         * modules/fdl-1.3: Add.
51177         * MODULES.html.sh: Add fdl-1.3.
51178
51179 2008-11-03  Bruno Haible  <bruno@clisp.org>
51180
51181         Make determination of absolute name of header file work with AIX xlc.
51182         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
51183         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
51184         preprocessing.
51185         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
51186         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51187
51188 2008-11-03  Simon Josefsson  <simon@josefsson.org>
51189
51190         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
51191         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
51192         <ludo@gnu.org>.
51193
51194 2008-11-02  Bruno Haible  <bruno@clisp.org>
51195
51196         Mark 'strpbrk' obsolete.
51197         * modules/strpbrk (Status, Notice): New sections.
51198         * modules/strtok_r (Depends-on): Add strpbrk.
51199
51200 2008-11-02  Bruno Haible  <bruno@clisp.org>
51201
51202         Mark 'strdup' obsolete.
51203         * modules/strdup (Status, Notice): New sections.
51204         * modules/findprog (Depends-on): Add strdup.
51205         * modules/getaddrinfo (Depends-on): Likewise.
51206         * modules/localename (Depends-on): Likewise.
51207         * modules/relocatable-lib (Depends-on): Likewise.
51208         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
51209         * modules/relocatable-prog (Depends-on): Likewise.
51210         * modules/trim (Depends-on): Likewise.
51211         * modules/unictype/gen-ctype (Depends-on): Likewise.
51212         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51213
51214 2008-11-02  Bruno Haible  <bruno@clisp.org>
51215
51216         Mark 'strcspn' obsolete.
51217         * modules/strcspn (Status, Notice): New sections.
51218
51219 2008-11-02  Bruno Haible  <bruno@clisp.org>
51220
51221         Mark 'rmdir' obsolete.
51222         * modules/rmdir (Status, Notice): New sections.
51223         * modules/clean-temp (Depends-on): Add rmdir.
51224         * modules/openat (Depends-on): Likewise.
51225
51226 2008-11-02  Bruno Haible  <bruno@clisp.org>
51227
51228         Mark 'raise' obsolete.
51229         * modules/raise (Status, Notice): New sections.
51230         (Include): Specify <signal.h>.
51231         * modules/stdio (Depends-on): Add raise.
51232         * modules/write (Depends-on): Likewise.
51233
51234 2008-11-02  Bruno Haible  <bruno@clisp.org>
51235
51236         Mark 'memset' obsolete.
51237         * modules/memset (Status, Notice): New sections.
51238
51239 2008-11-02  Bruno Haible  <bruno@clisp.org>
51240
51241         Mark 'memmove' obsolete.
51242         * modules/memmove (Status, Notice): New sections.
51243         * modules/argp (Depends-on): Add memmove.
51244         * modules/argz (Depends-on): Likewise.
51245         * modules/canonicalize (Depends-on): Likewise.
51246         * modules/canonicalize-lgpl (Depends-on): Likewise.
51247         * modules/fts (Depends-on): Likewise.
51248         * modules/getcwd (Depends-on): Likewise.
51249         * modules/human (Depends-on): Likewise.
51250         * modules/regex (Depends-on): Likewise.
51251         * modules/striconveh (Depends-on): Likewise.
51252         * modules/trim (Depends-on): Likewise.
51253         * modules/unistr/u8-move (Depends-on): Likewise.
51254         * modules/unistr/u16-move (Depends-on): Likewise.
51255         * modules/unistr/u32-move (Depends-on): Likewise.
51256
51257 2008-11-02  Bruno Haible  <bruno@clisp.org>
51258
51259         Mark 'memcpy' obsolete.
51260         * modules/memcpy (Status, Notice): New sections.
51261
51262 2008-11-02  Bruno Haible  <bruno@clisp.org>
51263
51264         Mark 'memcmp' obsolete.
51265         * modules/memcmp (Status, Notice): New sections.
51266         * modules/argmatch (Depends-on): Add memchr.
51267         * modules/backupfile (Depends-on): Likewise.
51268         * modules/c-strcasestr (Depends-on): Likewise.
51269         * modules/crypto/des (Depends-on): Likewise.
51270         * modules/csharpcomp (Depends-on): Likewise.
51271         * modules/fnmatch (Depends-on): Likewise.
51272         * modules/git-merge-changelog (Depends-on): Likewise.
51273         * modules/isnand (Depends-on): Likewise.
51274         * modules/isnand-nolibm (Depends-on): Likewise.
51275         * modules/isnanf (Depends-on): Likewise.
51276         * modules/isnanf-nolibm (Depends-on): Likewise.
51277         * modules/isnanl (Depends-on): Likewise.
51278         * modules/isnanl-nolibm (Depends-on): Likewise.
51279         * modules/mbchar (Depends-on): Likewise.
51280         * modules/memcoll (Depends-on): Likewise.
51281         * modules/quotearg (Depends-on): Likewise.
51282         * modules/regex (Depends-on): Likewise.
51283         * modules/relocatable-prog (Depends-on): Likewise.
51284         * modules/same (Depends-on): Likewise.
51285         * modules/signbit (Depends-on): Likewise.
51286         * modules/strcasestr-simple (Depends-on): Likewise.
51287         * modules/unictype/gen-ctype (Depends-on): Likewise.
51288         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
51289         * modules/uniname/uniname (Depends-on): Likewise.
51290         * modules/unistr/u8-cmp (Depends-on): Likewise.
51291
51292 2008-11-02  Bruno Haible  <bruno@clisp.org>
51293
51294         Mark 'memchr' obsolete.
51295         * modules/memchr (Status, Notice): New sections.
51296         * modules/argp (Depends-on): Add memchr.
51297         * modules/base64 (Depends-on): Likewise.
51298         * modules/c-strcasestr (Depends-on): Likewise.
51299         * modules/chdir-long (Depends-on): Likewise.
51300         * modules/fnmatch (Depends-on): Likewise.
51301         * modules/getsubopt (Depends-on): Likewise.
51302         * modules/git-merge-changelog (Depends-on): Likewise.
51303         * modules/glob (Depends-on): Likewise.
51304         * modules/strcasestr-simple (Depends-on): Likewise.
51305         * modules/strnlen (Depends-on): Likewise.
51306
51307 2008-11-02  Bruno Haible  <bruno@clisp.org>
51308
51309         Mark 'atexit' obsolete.
51310         * modules/atexit (Status, Notice): New sections.
51311         * modules/chdir-long (Depends-on): Add atexit.
51312         * modules/wait-process (Depends-on): Likewise.
51313
51314 2008-11-02  Bruno Haible  <bruno@clisp.org>
51315
51316         * gnulib-tool: New option --with-obsolete.
51317         (func_usage): Document it.
51318         (func_modules_transitive_closure): Drop obsolete dependencies if
51319         incobsolete is not true.
51320         (func_import): Read and save the incobsolete variable to the cache.
51321
51322 2008-11-02  Bruno Haible  <bruno@clisp.org>
51323
51324         * modules/TEMPLATE-EXTENDED: New field 'Status'.
51325         * gnulib-tool: New option --extract-status.
51326         (func_usage): Document it.
51327         (sed_extract_prog): Recognize it.
51328         (func_get_status): New function.
51329
51330 2008-10-30  Simon Josefsson  <simon@josefsson.org>
51331
51332         * modules/sockets (License): Change from LGPL to LGPLv2+.
51333
51334 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51335
51336         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
51337
51338 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51339
51340         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51341         Mention times and sys_times.
51342         * modules/sys_times, modules/sys_times-tests: New modules.
51343         * modules/times, modules/times-tests: Likewise
51344         * m4/sys_times_h.m4: New file.
51345         * lib/sys_times.in.h: Likewise
51346         * lib/times.c: Likewise.
51347         * tests/test-sys_times.c: Likewise.
51348         * tests/test-times.c: Likewise.
51349         * doc/posix-headers/sys_times.texi: Update.
51350         * doc/posix-functions/times.texi: Update.
51351
51352 2008-10-28  Jim Meyering  <meyering@redhat.com>
51353
51354         * modules/tempname (Depends-on): Add lstat.
51355
51356         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
51357
51358 2008-10-28  Simon Josefsson  <simon@josefsson.org>
51359
51360         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
51361         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
51362         using idiom used elsewhere in gnulib.
51363
51364 2008-10-27  Jim Meyering  <meyering@redhat.com>
51365
51366         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
51367
51368 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51369
51370         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
51371         TESTS_ENVIRONMENT, for shell scripts that needs to call built
51372         programs.
51373         * tests/test-argp-2.sh: Use $EXEEXT when needed.
51374
51375 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51376
51377         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
51378
51379 2008-10-27  Bruno Haible  <bruno@clisp.org>
51380
51381         * tests/test-lstat.c: Include <stdio.h>.
51382
51383 2008-10-27  Simon Josefsson  <simon@josefsson.org>
51384
51385         * modules/lstat-tests: New module.
51386         * tests/test-lstat.c: New file.
51387
51388 2008-10-26  Jim Meyering  <meyering@redhat.com>
51389
51390         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
51391
51392 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51393             Bruno Haible  <bruno@clisp.org>
51394
51395         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
51396         * modules/configmake (Include): Add a note that the include must come
51397         after all system headers.
51398         * lib/javaversion.c: Include configmake.h after all other includes.
51399
51400 2008-10-26  Bruno Haible  <bruno@clisp.org>
51401
51402         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
51403         HAVE_STRUCT_RANDOM_DATA to 1.
51404         (gl_STDLIB_H): Simplify.
51405
51406 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51407
51408         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
51409         substitute HAVE_STRUCT_RANDOM_DATA.
51410         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
51411         random_data.
51412         * modules/stdlib (Makefile.am): Substitute
51413         HAVE_STRUCT_RANDOM_DATA.
51414
51415 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51416
51417         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
51418         * doc/gnulib-intro.texi (Copyright): Likewise.
51419
51420 2008-10-26  Simon Josefsson  <simon@josefsson.org>
51421
51422         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
51423         findings.
51424
51425 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
51426             Bruno Haible  <bruno@clisp.org>
51427
51428         * lib/unistd.in.h: Include <winsock2.h>.
51429         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
51430         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
51431         Provide dummy declarations.
51432         (gethostname): Override.
51433         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
51434         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
51435         gl_PREREQ_SYS_H_WINSOCK2.
51436         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
51437         * doc/posix-functions/gethostname.texi: More details.
51438
51439 2008-10-25  Bruno Haible  <bruno@clisp.org>
51440
51441         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
51442         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
51443         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
51444
51445         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
51446         here ...
51447         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
51448         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
51449         gl_UNISTD_H_DEFAULTS.
51450
51451 2008-10-25  Eric Blake  <ebb9@byu.net>
51452
51453         signbit: avoid spurious compiler failure
51454         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
51455         declarations inside function.
51456
51457 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51458             Bruno Haible  <bruno@clisp.org>
51459
51460         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
51461         * modules/random_r (Depends-on): Add stdint.
51462
51463 2008-10-24  Bruno Haible  <bruno@clisp.org>
51464
51465         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
51466         Eggert.
51467         * modules/strerror (License): Likewise.
51468
51469 2008-10-24  Jim Meyering  <meyering@redhat.com>
51470
51471         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
51472         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
51473
51474 2008-10-24  Eric Blake  <ebb9@byu.net>
51475
51476         getgroups: fix compilation when getgroups is available
51477         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
51478         but with <config.h> override of getgroups disabled.
51479
51480 2008-10-24  Simon Josefsson  <simon@josefsson.org>
51481
51482         * doc/gnulib.texi (Header files): Add note about C++ problems.
51483         Explained by Bruno Haible <bruno@clisp.org>.
51484
51485 2008-10-23  Bruno Haible  <bruno@clisp.org>
51486
51487         Define a dummy SA_NODEFER macro on Interix.
51488         * lib/signal.in.h (SA_NODEFER): Define fallback.
51489         Reported by Aleksey Cheusov <cheusov@tut.by> via
51490         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
51491
51492 2008-10-23  Bruno Haible  <bruno@clisp.org>
51493
51494         * modules/freadahead (License): Change to LGPLv2+.
51495         Suggested by Simon Josefsson.
51496
51497 2008-10-23  Jim Meyering  <meyering@redhat.com>
51498
51499         random_r: new module
51500         * modules/random_r: New file.
51501         * m4/random_r.m4: New file.
51502         * lib/random_r.c: New file, from glibc.
51503         * modules/random_r-tests: New file.
51504         * tests/test-random_r.c: New file.
51505         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
51506          Declare.
51507         (RAND_MAX): Define.
51508         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
51509         * modules/stdlib: Substitute them, too.
51510         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
51511         * doc/glibc-functions/initstate_r.texi: Mention the new module.
51512         * doc/glibc-functions/random_r.texi: Likewise.
51513         * doc/glibc-functions/setstate_r.texi: Likewise.
51514         * doc/glibc-functions/srandom_r.texi: Likewise.
51515         * config/srclist.txt: Mention it.
51516
51517 2008-10-23  David Lutterkort  <lutter@redhat.com>
51518
51519         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
51520         link requirement
51521
51522 2008-10-23  Jim Meyering  <meyering@redhat.com>
51523
51524         selinux-h: mark parameters of stub functions as intentionally unused
51525         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
51526         * lib/se-context.in.h: Likewise.
51527
51528 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51529
51530         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
51531
51532 2008-10-22  Simon Josefsson  <simon@josefsson.org>
51533
51534         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
51535
51536 2008-10-22  Eric Blake  <ebb9@byu.net>
51537
51538         glthread/thread: avoid compiler warning
51539         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
51540         Add unreachable abort to silence compiler.
51541
51542 2008-10-22  Eric Blake  <ebb9@byu.net>
51543
51544         netdb: also supply struct addrinfo for cygwin 1.5.x
51545         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
51546         older cygwin.
51547         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
51548         cygwin.
51549         * doc/posix-headers/netdb.texi (netdb.h): Document this.
51550
51551 2008-10-22  Bruno Haible  <bruno@clisp.org>
51552
51553         * users.txt: Update entry about pspp.
51554
51555 2008-10-21  Bruno Haible  <bruno@clisp.org>
51556
51557         Simplification.
51558         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
51559         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
51560
51561         Simplification.
51562         * lib/ioctl.c (ioctl): Don't undefine.
51563         * lib/socket.c (socket): Don't undefine.
51564
51565         Remove unused module indicator macros.
51566         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
51567         GNULIB_$1 as a C macro.
51568
51569         * doc/posix-functions/close.texi: Undo last change.
51570         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
51571         Windows platforms.
51572
51573 2008-10-21  Bruno Haible  <bruno@clisp.org>
51574
51575         Add gethostname() declaration to <unistd.h>.
51576         * lib/unistd.in.h (gethostname): New declaration.
51577         * lib/gethostname.c: Include <unistd.h>.
51578         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
51579         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
51580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
51581         and HAVE_GETHOSTNAME.
51582         * modules/gethostname (Depends-on): Add unistd.
51583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51584         (Include): Specify <unistd.h>.
51585         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
51586         HAVE_GETHOSTNAME.
51587         * tests/test-gethostname.c: Include <unistd.h> first.
51588
51589 2008-10-21  Bruno Haible  <bruno@clisp.org>
51590
51591         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
51592         * modules/select-tests (Depends-on): Likewise.
51593         Reported by Simon Josefsson.
51594
51595 2008-10-21  Simon Josefsson  <simon@josefsson.org>
51596
51597         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
51598         * lib/accept.c: New file, based on winsock.c.
51599         * lib/bind.c: New file, based on winsock.c.
51600         * lib/connect.c: New file, based on winsock.c.
51601         * lib/getpeername.c: New file, based on winsock.c.
51602         * lib/getsockname.c: New file, based on winsock.c.
51603         * lib/getsockopt.c: New file, based on winsock.c.
51604         * lib/ioctl.c: New file, based on winsock.c.
51605         * lib/listen.c: New file, based on winsock.c.
51606         * lib/recv.c: New file, based on winsock.c.
51607         * lib/recvfrom.c: New file, based on winsock.c.
51608         * lib/send.c: New file, based on winsock.c.
51609         * lib/sendto.c: New file, based on winsock.c.
51610         * lib/setsockopt.c: New file, based on winsock.c.
51611         * lib/shutdown.c: New file, based on winsock.c.
51612         * lib/socket.c: New file, based on winsock.c.
51613         * lib/w32sock.h: New file, based on winsock.c.
51614         * lib/winsock.c: Remove file.
51615         * modules/accept: Likewise.
51616         * modules/bind: Likewise.
51617         * modules/connect: Likewise.
51618         * modules/getpeername: Likewise.
51619         * modules/getsockname: Likewise.
51620         * modules/getsockopt: Likewise.
51621         * modules/ioctl: Likewise.
51622         * modules/listen: Likewise.
51623         * modules/recv: Likewise.
51624         * modules/recvfrom: Likewise.
51625         * modules/send: Likewise.
51626         * modules/sendto: Likewise.
51627         * modules/setsockopt: Likewise.
51628         * modules/shutdown: Likewise.
51629         * modules/socket: Use socket.c instead of winsock.c.
51630         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
51631         * doc/posix-functions/accept.texi: Doc fix.
51632         * doc/posix-functions/bind.texi: Doc fix.
51633         * doc/posix-functions/close.texi: Doc fix.
51634         * doc/posix-functions/connect.texi: Doc fix.
51635         * doc/posix-functions/getpeername.texi: Doc fix.
51636         * doc/posix-functions/getsockname.texi: Doc fix.
51637         * doc/posix-functions/getsockopt.texi: Doc fix.
51638         * doc/posix-functions/ioctl.texi: Doc fix.
51639         * doc/posix-functions/listen.texi: Doc fix.
51640         * doc/posix-functions/recv.texi: Doc fix.
51641         * doc/posix-functions/recvfrom.texi: Doc fix.
51642         * doc/posix-functions/send.texi: Doc fix.
51643         * doc/posix-functions/sendto.texi: Doc fix.
51644         * doc/posix-functions/setsockopt.texi: Doc fix.
51645         * doc/posix-functions/shutdown.texi: Doc fix.
51646         * doc/posix-functions/socket.texi: Doc fix.
51647
51648 2008-10-20  Bruno Haible  <bruno@clisp.org>
51649
51650         Take into account the role of SIGABRT_COMPAT on Windows 2008.
51651         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
51652         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
51653         as an alias for SIGABRT.
51654         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
51655         (sigaction): Map it to SIGABRT.
51656         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
51657
51658 2008-10-20  Bruno Haible  <bruno@clisp.org>
51659
51660         * lib/fts.c: Don't include lstat.h.
51661         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
51662
51663         Move the lstat() declaration to <sys/stat.h>.
51664         * lib/lstat.h: Remove file.
51665         * lib/sys_stat.in.h: Add special invocation convention.
51666         (lstat): New declaration.
51667         * lib/lstat.c (orig_lstat): New function.
51668         (rpl_lstat): Use orig_lstat instead of lstat.
51669         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
51670         AC_C_INLINE. Set REPLACE_LSTAT.
51671         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
51672         and REPLACE_LSTAT.
51673         * modules/lstat (Files): Remove lib/lstat.h.
51674         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51675         (Include): Specify <sys/stat.h> instead of lstat.h.
51676         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
51677         REPLACE_LSTAT.
51678         * NEWS: Mention the change.
51679
51680 2008-10-20  Bruno Haible  <bruno@clisp.org>
51681
51682         * modules/posix_spawn-tests: New file.
51683         * tests/test-posix_spawn3.c: New file.
51684
51685 2008-10-20  Bruno Haible  <bruno@clisp.org>
51686
51687         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
51688         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51689         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
51690         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
51691         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
51692
51693 2008-10-20  Bruno Haible  <bruno@clisp.org>
51694
51695         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
51696         of posix_spawn on AIX 5.3.
51697
51698 2008-10-20  Bruno Haible  <bruno@clisp.org>
51699
51700         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
51701
51702 2008-10-20  Bruno Haible  <bruno@clisp.org>
51703
51704         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
51705         of AC_LANG_PROGRAM.
51706
51707 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51708
51709         * lib/netdb.in.h: Don't define GNU specific constants until they
51710         are supported or needed.  Reported by Bruno Haible
51711         <bruno@clisp.org>.
51712
51713 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51714
51715         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
51716
51717 2008-10-20  Simon Josefsson  <simon@josefsson.org>
51718
51719         * lib/getaddrinfo.h: Remove file.
51720         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
51721         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
51722         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
51723         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
51724         * modules/netdb: Substitute GNULIB_GETADDRINFO.
51725         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
51726         * tests/test-getaddrinfo.c: Likewise.
51727         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
51728         * NEWS: Mention change.
51729
51730 2008-10-19  Bruno Haible  <bruno@clisp.org>
51731
51732         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
51733
51734 2008-10-19  Bruno Haible  <bruno@clisp.org>
51735
51736         * lib/wait-process.c: Include simply <sys/wait.h>.
51737         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
51738         WIFSTOPPED): Remove fallback definitions.
51739         * modules/wait-process (Depends-on): Add sys_wait.
51740
51741         New module 'sys_wait'.
51742         * modules/sys_wait: New file.
51743         * lib/sys_wait.in.h: New file, partially copied from
51744         lib/wait-process.c.
51745         * m4/sys_wait_h.m4: New file.
51746         * doc/posix-headers/sys_wait.texi: Mention the new module.
51747
51748 2008-10-19  Bruno Haible  <bruno@clisp.org>
51749
51750         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
51751
51752 2008-10-19  Bruno Haible  <bruno@clisp.org>
51753
51754         Assume that waitpid() fills an 'int' status, not a 'union wait'.
51755         * lib/wait-process.c (WAIT_T): Remove type.
51756         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
51757         (wait_subprocess): Update.
51758
51759 2008-10-19  Bruno Haible  <bruno@clisp.org>
51760
51761         New module 'atoll'.
51762         * modules/atoll: New file.
51763         * lib/stdlib.in.h (atoll): New declaration.
51764         * lib/atoll.c: New file, from glibc with modifications.
51765         * m4/atoll.m4: New file.
51766         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
51767         HAVE_ATOLL.
51768         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
51769         * doc/posix-functions/atoll.texi: Mention the new module.
51770
51771 2008-10-19  Bruno Haible  <bruno@clisp.org>
51772
51773         Add strtoull() declaration to <stdlib.h>.
51774         * lib/stdlib.in.h (strtoull): New declaration.
51775         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51776         Set HAVE_STRTOULL.
51777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
51778         HAVE_STRTOULL.
51779         * modules/strtoull (Depends-on): Add stdlib.
51780         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51781         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
51782         HAVE_STRTOULL.
51783
51784 2008-10-19  Bruno Haible  <bruno@clisp.org>
51785
51786         Add strtoll() declaration to <stdlib.h>.
51787         * lib/stdlib.in.h (strtoll): New declaration.
51788         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
51789         Set HAVE_STRTOLL.
51790         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
51791         HAVE_STRTOLL.
51792         * modules/strtoll (Depends-on): Add stdlib.
51793         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51794         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
51795
51796 2008-10-19  Bruno Haible  <bruno@clisp.org>
51797
51798         * modules/bcopy (Depends-on): Add strings.
51799         (Include): Specify <strings.h>.
51800
51801 2008-10-19  Bruno Haible  <bruno@clisp.org>
51802
51803         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
51804
51805 2008-10-19  Bruno Haible  <bruno@clisp.org>
51806
51807         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
51808         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
51809         mingw.
51810
51811 2008-10-19  Bruno Haible  <bruno@clisp.org>
51812
51813         * lib/atanl.c: Don't include isnanl.h.
51814         * lib/cosl.c: Likewise.
51815         * lib/ldexpl.c: Likewise.
51816         * lib/logl.c: Likewise.
51817         * lib/sinl.c: Likewise.
51818         * lib/sqrtl.c: Likewise.
51819         * lib/tanl.c: Likewise.
51820
51821         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
51822         * lib/isnanf.h: Remove file.
51823         * lib/isnand.h: Remove file.
51824         * lib/isnanl.h: Remove file.
51825         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
51826         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
51827         macros.
51828         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
51829         HAVE_ISNANF, don't define it as a C macro.
51830         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
51831         HAVE_ISNAND, don't define it as a C macro.
51832         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
51833         HAVE_ISNANL, don't define it as a C macro.
51834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
51835         HAVE_ISNAN[FDL].
51836         * modules/isnanf (Files): Remove lib/isnanf.h.
51837         (Depends-on): Add math.
51838         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51839         (Include): Specify <math.h> instead of isnanf.h.
51840         * modules/isnand (Files): Remove lib/isnand.h.
51841         (Depends-on): Add math.
51842         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51843         (Include): Specify <math.h> instead of isnand.h.
51844         * modules/isnanl (Files): Remove lib/isnanl.h.
51845         (Depends-on): Add math.
51846         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
51847         (Include): Specify <math.h> instead of isnanl.h.
51848         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
51849         HAVE_ISNAN[FDL].
51850         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
51851         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
51852         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
51853         * NEWS: Mention the change.
51854
51855 2008-10-18  Bruno Haible  <bruno@clisp.org>
51856
51857         Add getusershell(), setusershell(), endusershell() declarations to
51858         <unistd.h>.
51859         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
51860         declarations.
51861         * lib/getusershell.c: Include unistd.h.
51862         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
51863         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51864         HAVE_GETUSERSHELL.
51865         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
51866         and HAVE_GETUSERSHELL.
51867         * modules/getusershell (Depends-on): Add unistd, extensions.
51868         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51869         (Include): Specify <unistd.h>.
51870         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
51871         HAVE_GETUSERSHELL.
51872
51873 2008-10-18  Bruno Haible  <bruno@clisp.org>
51874
51875         Add a getloadavg() declaration to <stdlib.h>.
51876         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
51877         getloadavg declaration.
51878         (getloadavg): New declaration.
51879         * lib/getloadavg.c: Include <stdlib.h> first.
51880         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
51881         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
51882         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
51883         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
51884         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51885         * modules/getloadavg (Depends-on): Add stdlib, extensions.
51886         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51887         (Include): Specify <stdlib.h>.
51888         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
51889         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
51890
51891 2008-10-18  Bruno Haible  <bruno@clisp.org>
51892
51893         * lib/dirchownmod.c: Don't include lchmod.h.
51894
51895         Move the lchmod() declaration to <sys/stat.h>.
51896         * lib/lchmod.h: Remove file.
51897         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
51898         (lchmod): New declaration, moved here from lib/lchown.h.
51899         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
51900         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
51901         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
51902         and HAVE_LCHMOD.
51903         * modules/lchmod (Files): Remove lib/lchmod.h.
51904         (Depends-on): Add sys_stat, extensions.
51905         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
51906         (Include): Specify <sys/stat.h> instead of lchmod.h.
51907         * modules/sys_stat (Depends-on): Add link-warning.
51908         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
51909         definition of GL_LINK_WARNING.
51910         * NEWS: Mention the change.
51911
51912 2008-10-18  Bruno Haible  <bruno@clisp.org>
51913
51914         * lib/fchdir.c: Don't include dirfd.h.
51915         * lib/fts.c: Likewise.
51916         * lib/getcwd.c: Likewise.
51917         * lib/glob.c: Likewise.
51918
51919         Move the dirfd() declaration to <dirent.h>.
51920         * lib/dirfd.h: Remove file.
51921         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
51922         (dirfd): New declaration.
51923         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
51924         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
51925         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
51926         HAVE_DECL_DIRFD.
51927         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
51928         HAVE_DECL_DIRFD.
51929         * modules/dirfd (Files): Remove lib/dirfd.h.
51930         (Depends-on): Add dirent, extensions.
51931         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
51932         (Include): Specify <dirent.h> instead of dirfd.h.
51933         * modules/dirent (Depends-on): Add link-warning.
51934         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
51935         definition of GL_LINK_WARNING.
51936         * NEWS: Mention the change.
51937
51938 2008-10-18  Bruno Haible  <bruno@clisp.org>
51939
51940         Move the euidaccess() declaration to <unistd.h>.
51941         * lib/euidaccess.h: Remove file.
51942         * lib/unistd.in.h (euidaccess): New declaration.
51943         * lib/euidaccess.c: Don't include euidaccess.h.
51944         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
51945         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
51946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
51947         and HAVE_EUIDACCESS.
51948         * modules/euidaccess (Files): Remove lib/euidaccess.h.
51949         (Depends-on): Add unistd.
51950         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51951         (Include): Specify <unistd.h> instead of euidaccess.h.
51952         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
51953         HAVE_EUIDACCESS.
51954         * NEWS: Mention the change.
51955
51956 2008-10-18  Bruno Haible  <bruno@clisp.org>
51957
51958         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
51959
51960         Move the getdomainname() declaration to <unistd.h>.
51961         * lib/getdomainname.h: Remove file.
51962         * lib/unistd.in.h (getdomainname): New declaration.
51963         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
51964         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
51965         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
51966         HAVE_GETDOMAINNAME.
51967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
51968         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
51969         * modules/getdomainname (Files): Remove lib/getdomainname.h.
51970         (Depends-on): Add unistd, extensions.
51971         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
51972         (Includes): Specify <unistd.h> instead of getdomainname.h.
51973         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
51974         HAVE_GETDOMAINNAME.
51975         * NEWS: Mention the change.
51976
51977 2008-10-18  Bruno Haible  <bruno@clisp.org>
51978
51979         * modules/dirent: New file.
51980         * m4/dirent_h.m4: New file.
51981         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
51982         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
51983         * modules/fchdir (Files): Remove lib/dirent.in.h.
51984         (Depends-on): Add dirent.
51985         (Makefile.am): Move rules to modules/dirent.
51986         * doc/posix-headers/dirent.texi: Mention the new module.
51987
51988 2008-10-18  Bruno Haible  <bruno@clisp.org>
51989
51990         Avoid -Wunused-parameter warnings in public gnulib header files.
51991         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
51992         macro.
51993         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
51994
51995 2008-10-18  Bruno Haible  <bruno@clisp.org>
51996
51997         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
51998         * doc/glibc-functions/error.texi: Mention the module 'error'.
51999         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52000         * doc/glibc-functions/getdomainname.texi: Mention the module
52001         'getdomainname'.
52002         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52003         * doc/glibc-functions/getpagesize.texi: Mention the module
52004         'getpagesize'.
52005         * doc/glibc-functions/getusershell.texi: Mention the module
52006         'getusershell'.
52007         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52008         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52009         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52010         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52011         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52012         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52013         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52014         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52015         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52016         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52017         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52018         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52019         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52020         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52021
52022 2008-10-17  Bruno Haible  <bruno@clisp.org>
52023
52024         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52025         HP-UX and IRIX, use -0.0L.
52026         * tests/test-ceill.c (minus_zero): Likewise.
52027         * tests/test-floorl.c (minus_zero): Likewise.
52028         * tests/test-frexpl.c (minus_zero): Likewise.
52029         * tests/test-isnan.c (minus_zerol): Likewise.
52030         * tests/test-isnanl.h (minus_zero): Likewise.
52031         * tests/test-ldexpl.c (minus_zero): Likewise.
52032         * tests/test-roundl.c (minus_zero): Likewise.
52033         * tests/test-signbit.c (minus_zerol): Likewise.
52034         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52035         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52036         * tests/test-truncl.c (minus_zero): Likewise.
52037         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52038         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52039         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52040         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52041
52042 2008-10-17  Bruno Haible  <bruno@clisp.org>
52043
52044         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52045         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52046         that it gets activated only for gcc >= 3.0.
52047         * lib/dirent.in.h: Likewise.
52048         * lib/errno.in.h: Likewise.
52049         * lib/fcntl.in.h: Likewise.
52050         * lib/float.in.h: Likewise.
52051         * lib/iconv.in.h: Likewise.
52052         * lib/inttypes.in.h: Likewise.
52053         * lib/locale.in.h: Likewise.
52054         * lib/math.in.h: Likewise.
52055         * lib/netdb.in.h: Likewise.
52056         * lib/netinet_in.in.h: Likewise.
52057         * lib/search.in.h: Likewise.
52058         * lib/signal.in.h: Likewise.
52059         * lib/spawn.in.h: Likewise.
52060         * lib/stdarg.in.h: Likewise.
52061         * lib/stdint.in.h: Likewise.
52062         * lib/stdio.in.h: Likewise.
52063         * lib/stdlib.in.h: Likewise.
52064         * lib/string.in.h: Likewise.
52065         * lib/strings.in.h: Likewise.
52066         * lib/sys_file.in.h: Likewise.
52067         * lib/sys_ioctl.in.h: Likewise.
52068         * lib/sys_select.in.h: Likewise.
52069         * lib/sys_socket.in.h: Likewise.
52070         * lib/sys_stat.in.h: Likewise.
52071         * lib/sys_time.in.h: Likewise.
52072         * lib/sysexits.in.h: Likewise.
52073         * lib/time.in.h: Likewise.
52074         * lib/unistd.in.h: Likewise.
52075         * lib/wchar.in.h: Likewise.
52076         * lib/wctype.in.h: Likewise.
52077         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52078
52079 2008-10-17  Jim Meyering  <meyering@redhat.com>
52080
52081         ignore-value: don't depend on inline module
52082         * modules/ignore-value (Depends-on): Remove 'inline'.
52083         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52084         Suggestion from Bruno Haible.
52085
52086 2008-10-17  Bruno Haible  <bruno@clisp.org>
52087
52088         New implementation of condition variables for Win32.
52089         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52090         (gl_linked_waitqueue_t): New type.
52091         (gl_cond_t): Use it.
52092         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52093         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52094         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52095         (glthread_cond_init_func, glthread_cond_wait_func,
52096         glthread_cond_timedwait_func, glthread_cond_signal_func,
52097         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52098         Reimplemented on the basis of gl_linked_waitqueue_t.
52099         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52100         gl_waitqueue_t.
52101         (gl_rwlock_t): Update.
52102         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52103
52104 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52105
52106         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52107         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52108
52109 2008-10-17  Jim Meyering  <meyering@redhat.com>
52110
52111         ignore-value: new module
52112         * modules/ignore-value: New file.
52113         * lib/ignore-value.h: New file.
52114         * MODULES.html.sh (Compiler warning management): New section,
52115         just for this module.  More to come.
52116
52117 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52118
52119         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52120         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52121         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52122
52123 2008-10-16  Jim Meyering  <meyering@redhat.com>
52124
52125         openat-die.c: avoid 'no previous prototype' warning
52126         * lib/openat-die.c: Include "openat.h".
52127         Reported by Reuben Thomas <rrt@sc3d.org>.
52128
52129 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52130
52131         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52132         * lib/netdb.in.h: Fix typo.
52133         Reported by Bruno Haible  <bruno@clisp.org>
52134
52135         * lib/netdb.in.h: Include sys/socket.h for platforms without
52136         netdb.h, to get structures like hostent on MinGW.
52137         * modules/netdb (Depends-on): Add sys_socket.
52138
52139 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52140
52141         * modules/netdb, modules/netdb-tests: New file.
52142         * m4/netdb_h.m4: New file.
52143         * lib/netdb.in.h: Add, currently just an empty file pending
52144         definitions.
52145         * tests/test-netdb.c: New file.
52146         * doc/posix-headers/netdb.texi: Mention that we replace it if
52147         needed.
52148         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52149         netdb.
52150
52151 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52152
52153         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52154         with code.
52155
52156 2008-10-13  Bruno Haible  <bruno@clisp.org>
52157
52158         * lib/glthread/cond.c (glthread_cond_wait_func,
52159         glthread_cond_timedwait_func): Add a comment.
52160
52161 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52162
52163         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52164         * tests/test-select.c: Likewise,
52165
52166 2008-10-13  Bruno Haible  <bruno@clisp.org>
52167
52168         * lib/glthread/cond.c (glthread_cond_wait_func,
52169         glthread_cond_timedwait_func): Fix variable name.
52170         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52171
52172 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
52173
52174         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
52175         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
52176         struct sockaddr.sa_len.
52177         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
52178
52179 2008-10-13  Simon Josefsson  <simon@josefsson.org>
52180
52181         * build-aux/pmccabe2html: Add css and css_url parameters.
52182
52183 2008-10-12  Bruno Haible  <bruno@clisp.org>
52184
52185         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
52186         calling aclx_get.
52187         Reported by Rainer Tammer <tammer@tammer.net>.
52188
52189 2008-10-12  Bruno Haible  <bruno@clisp.org>
52190
52191         Use msvcrt aware primitives for creation/termination of Win32 threads.
52192         * lib/glthread/thread.c: Include <process.h>.
52193         (glthread_create_func): Use _beginthreadex instead of CreateThread.
52194         (wrapper_func): Update signature.
52195         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
52196
52197 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52198             Bruno Haible  <bruno@clisp.org>
52199
52200         Provide a Win32 implementation of the 'cond' module.
52201         * lib/glthread/cond.h [USE_WIN32]: New implementation.
52202         * lib/glthread/cond.c (glthread_cond_init_func,
52203         glthread_cond_wait_func, glthread_cond_timedwait_func,
52204         glthread_cond_signal_func, glthread_cond_broadcast_func,
52205         glthread_cond_destroy_func) [USE_WIN32]: New functions.
52206         * modules/cond (Dependencies): Add gettimeofday.
52207
52208 2008-10-11  Bruno Haible  <bruno@clisp.org>
52209
52210         Make sleep work on older versions of mingw.
52211         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
52212         only whether it exists.
52213         * doc/posix-functions/sleep.texi: Mention the problem with older
52214         versions of mingw.
52215
52216 2008-10-11  Bruno Haible  <bruno@clisp.org>
52217
52218         New module 'shutdown'.
52219         * modules/shutdown: New file.
52220         * lib/sys_socket.in.h (shutdown): New declaration.
52221         * lib/winsock.c (shutdown): New function.
52222         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
52223         GNULIB_SHUTDOWN.
52224         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
52225         * doc/posix-functions/shutdown.texi: Document the new module.
52226
52227 2008-10-11  Jim Meyering  <meyering@redhat.com>
52228
52229         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
52230
52231 2008-10-11  Bruno Haible  <bruno@clisp.org>
52232
52233         New module 'fclose'.
52234         * modules/fclose: New file.
52235         * lib/stdio.in.h (fclose): New declaration.
52236         * lib/fclose.c: New file.
52237         * m4/fclose.m4: New file.
52238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
52239         REPLACE_FCLOSE.
52240         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
52241         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
52242         REPLACE_FCLOSE.
52243         * modules/close (Depends-on): fclose.
52244         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
52245
52246 2008-10-11  Bruno Haible  <bruno@clisp.org>
52247
52248         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
52249         set errno and don't call _close.
52250
52251 2008-10-10  Bruno Haible  <bruno@clisp.org>
52252
52253         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
52254         ACL, not afterwards. Fixes test failure on Cygwin.
52255
52256 2008-10-09  Ben Pfaff  <blp@gnu.org>
52257
52258         * build-aux/announce-gen: Fix gnulib version related part of usage
52259         message.  Die with a useful error message if no tarballs are
52260         found.
52261
52262 2008-10-10  Jim Meyering  <meyering@redhat.com>
52263
52264         bootstrap: use git's --depth=N option only if it's supported
52265         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
52266         recognize the --depth option.  Reported by Pádraig Brady.
52267
52268 2008-10-09  Bruno Haible  <bruno@clisp.org>
52269
52270         New module 'ioctl'.
52271         * modules/ioctl: New file.
52272         * lib/sys_socket.in.h (ioctl): Remove declaration.
52273         * lib/winsock.c: Include <sys/ioctl.h>.
52274         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
52275         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52276         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
52277         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
52278         * doc/posix-functions/ioctl.texi: Mention the new module.
52279
52280 2008-10-09  Bruno Haible  <bruno@clisp.org>
52281
52282         New module 'sys_ioctl'.
52283         * lib/sys_ioctl.in.h: New file.
52284         * m4/sys_ioctl_h.m4: New file.
52285         * modules/sys_ioctl: New file.
52286         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
52287
52288 2008-10-09  Bruno Haible  <bruno@clisp.org>
52289
52290         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
52291         * lib/winsock.c: Include <stdarg.h>.
52292         (rpl_ioctl): Change to second argument 'int' and then varargs.
52293
52294 2008-10-09  Bruno Haible  <bruno@clisp.org>
52295
52296         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
52297         when the sys_socket module is present and the system has <winsock2.h>.
52298
52299 2008-10-09  Bruno Haible  <bruno@clisp.org>
52300
52301         * doc/posix-functions/close.texi: Mention module 'close' instead of
52302         module 'sys_socket'.
52303
52304 2008-10-09  Bruno Haible  <bruno@clisp.org>
52305
52306         * doc/glibc-headers/sys_ioctl.texi: New file.
52307         * doc/gnulib.texi: Include it.
52308
52309 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52310             Bruno Haible  <bruno@clisp.org>
52311
52312         Combine the two replacements of 'close'.
52313         * lib/sys_socket.in.h (close): Define to a reminder to include
52314         <unistd.h>.
52315         (_gl_close_fd_maybe_socket): New declaration.
52316         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
52317         * lib/winsock.c (close): Remove undefinition.
52318         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
52319         needed for the gnulib module 'close'.
52320         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
52321         define to an error symbol or to a warning, if suitable.
52322         * lib/close.c: Include <sys/socket.h>.
52323         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
52324         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
52325         UNISTD_H_HAVE_WINSOCK2_H.
52326         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
52327         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52328         UNISTD_H_HAVE_WINSOCK2_H.
52329         * modules/sys_socket (Files): Add m4/unistd_h.m4.
52330         (configure.ac): Set a module indicator.
52331         (Makefile.am): Substitute GNULIB_CLOSE.
52332         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
52333         * modules/poll-tests (Depends-on): Add close.
52334         * modules/select-tests (Depends-on): Likewise.
52335
52336 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52337             Bruno Haible  <bruno@clisp.org>
52338
52339         New module 'close'.
52340         * modules/close: New file.
52341         * lib/unistd.in.h (close): Move declaration out of the
52342         FCHDIR_REPLACEMENT scope.
52343         (_gl_unregister_fd): New declaration.
52344         * lib/close.c: New file.
52345         * lib/fchdir.c (rpl_close): Remove function.
52346         * m4/close.m4: New file.
52347         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52348         close.
52349         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
52350         REPLACE_CLOSE.
52351         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
52352         REPLACE_CLOSE.
52353         * modules/fchdir (Depends-on): Add close.
52354
52355 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52356             Bruno Haible  <bruno@clisp.org>
52357
52358         * lib/fcntl.in.h (open): Simplify conditionals.
52359         (_gl_register_fd): New declaration.
52360         * lib/fchdir.c (rpl_open): Remove function.
52361         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
52362         also.
52363         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
52364         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
52365         open.
52366
52367 2008-10-09  Jim Meyering  <meyering@redhat.com>
52368
52369         GNUmakefile: use the more name-space-friendly "_version"
52370         * top/GNUmakefile (_dummy): Update.
52371         (_version): Rename from "version".
52372
52373 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52374             Bruno Haible  <bruno@clisp.org>
52375
52376         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
52377         rpl_close.
52378         (_gl_register_fd): New function, extracted from rpl_open.
52379         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
52380         (rpl_open, rpl_opendir): Use _gl_register_fd.
52381
52382 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
52383
52384         Fix organization of 'open' replacement.
52385         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
52386         (gl_FUNC_OPEN): Use it.
52387         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
52388
52389 2008-10-08  Bruno Haible  <bruno@clisp.org>
52390
52391         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
52392
52393 2008-10-08  Simon Josefsson  <simon@josefsson.org>
52394
52395         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
52396         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
52397         listen).
52398
52399 2008-10-08  Eric Blake  <ebb9@byu.net>
52400
52401         GNUmakefile: add 'make version' target
52402         * top/GNUmakefile (_curr-ver): Split version update rules...
52403         (version): ...into a target.
52404
52405 2008-10-07  Bruno Haible  <bruno@clisp.org>
52406
52407         Use a more portable replacement expression for -0.0L.
52408         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
52409         instead of -0.0L. Fix m4 quotation.
52410
52411         * tests/test-signbit.c: Include <float.h>.
52412         (minus_zero): New variable.
52413         (test_signbitl): Use minus_zero instead of -zero.
52414         * modules/signbit-tests (Depends-on): Add float.
52415
52416         * tests/test-ceill.c: Include <float.h>.
52417         (zero): Remove variable.
52418         (minus_zero): New variable.
52419         (main): Use minus_zero instead of -zero.
52420         * modules/ceill-tests (Depends-on): Add float.
52421
52422         * tests/test-floorl.c: Include <float.h>.
52423         (zero): Remove variable.
52424         (minus_zero): New variable.
52425         (main): Use minus_zero instead of -zero.
52426         * modules/floorl-tests (Depends-on): Add float.
52427
52428         * tests/test-roundl.c: Include <float.h>.
52429         (zero): Remove variable.
52430         (minus_zero): New variable.
52431         (main): Use minus_zero instead of -zero.
52432         * modules/roundl-tests (Depends-on): Add float.
52433
52434         * tests/test-truncl.c: Include <float.h>.
52435         (zero): Remove variable.
52436         (minus_zero): New variable.
52437         (main): Use minus_zero instead of -zero.
52438         * modules/truncl-tests (Depends-on): Add float.
52439
52440         * tests/test-frexpl.c (zero): Remove variable.
52441         (minus_zero): New variable.
52442         (main): Use minus_zero instead of -zero.
52443         * modules/frexpl-tests (Depends-on): Add float.
52444
52445         * tests/test-isnan.c (zerol): Remove variable.
52446         (minus_zerol): New variable.
52447         (test_long_double): Use minus_zerol instead of -zerol.
52448         * modules/isnan-tests (Depends-on): Add float.
52449
52450         * tests/test-isnanl.h (zero): Remove variable.
52451         (minus_zero): New variable.
52452         (main): Use minus_zero instead of -zero.
52453         * modules/isnanl-nolibm-tests (Depends-on): Add float.
52454         * modules/isnanl-tests (Depends-on): Add float.
52455
52456         * tests/test-ldexpl.c (zero): Remove variable.
52457         (minus_zero): New variable.
52458         (main): Use minus_zero instead of -zero.
52459         * modules/ldexpl-tests (Depends-on): Add float.
52460
52461         * tests/test-snprintf-posix.h (zerol): Remove variable.
52462         (minus_zerol): New variable.
52463         (test_function): Use minus_zerol instead of -zerol.
52464         * modules/snprintf-posix-tests (Depends-on): Add float.
52465         * modules/vsnprintf-posix-tests (Depends-on): Add float.
52466
52467         * tests/test-sprintf-posix.h (zerol): Remove variable.
52468         (minus_zerol): New variable.
52469         (test_function): Use minus_zerol instead of -zerol.
52470         * modules/sprintf-posix-tests (Depends-on): Add float.
52471         * modules/vsprintf-posix-tests (Depends-on): Add float.
52472
52473         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
52474         (minus_zerol): New variable.
52475         (test_function): Use minus_zerol instead of -zerol.
52476         * modules/vasnprintf-posix-tests (Depends-on): Add float.
52477
52478         * tests/test-vasprintf-posix.c (zerol): Remove variable.
52479         (minus_zerol): New variable.
52480         (test_function): Use minus_zerol instead of -zerol.
52481         * modules/vasprintf-posix-tests (Depends-on): Add float.
52482
52483 2008-10-07  Simon Josefsson  <simon@josefsson.org>
52484
52485         * MODULES.html.sh (Support for building documentation): Mention
52486         pmccabe2html.  Sort entries.
52487
52488         Add pmccabe2html module, from gnupdf.
52489         * build-aux/pmccabe.css: New file.
52490         * build-aux/pmccabe2html: New file.
52491         * m4/pmccabe2html.m4: New file.
52492         * modules/pmccabe2html: New file.
52493
52494 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
52495
52496         flock: new module
52497         * MODULES.html.sh: Add to list of modules.
52498         * lib/flock.c: flock implementation for Windows and Unix systems
52499         which have fcntl.
52500         * doc/glibc-functions/flock.texi: Update documentation.
52501         * lib/sys_file.in.h: <sys/file.h> header file.
52502         * m4/flock.m4: M4 macros.
52503         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
52504         * modules/flock: flock module.
52505         * modules/flock-tests: flock tests module.
52506         * modules/sys_file: sys/file.h module.
52507         * tests/test-flock.c: test suite for flock.
52508
52509 2008-10-06  Jim Meyering  <meyering@redhat.com>
52510
52511         bootstrap: check for LT_INIT more portably still ;-)
52512         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
52513         Spotted by Bruno Haible.
52514
52515 2008-10-06  Eric Blake  <ebb9@byu.net>
52516
52517         test-signbit: avoid tripping Irix cc bug on -0.0L
52518         * tests/test-signbit.c (minus_zerol): Delete, and replace with
52519         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
52520         entire testsuite consistent and avoids an Irix 6.2 bug.
52521
52522 2008-10-05  Bruno Haible  <bruno@clisp.org>
52523             Jim Meyering  <jim@meyering.net>
52524
52525         Add an option for ignoring EPIPE during close_stdout.
52526         * lib/closeout.h: Include <stdbool.h>.
52527         (close_stdout_set_ignore_EPIPE): New declaration.
52528         * lib/closeout.c: Include <stdbool.h>.
52529         (ignore_EPIPE): New variable.
52530         (close_stdout_set_ignore_EPIPE): New function.
52531         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
52532         * lib/close-stream.c (close_stream): Mention the possible EPIPE
52533         failure.
52534         * modules/closeout (Depends-on): Add stdbool.
52535
52536 2008-10-05  Bruno Haible  <bruno@clisp.org>
52537
52538         * modules/accept: New file.
52539         * modules/bind: New file.
52540         * modules/connect: New file.
52541         * modules/getpeername: New file.
52542         * modules/getsockname: New file.
52543         * modules/getsockopt: New file.
52544         * modules/listen: New file.
52545         * modules/recv: New file.
52546         * modules/recvfrom: New file.
52547         * modules/send: New file.
52548         * modules/sendto: New file.
52549         * modules/setsockopt: New file.
52550         * modules/socket: New file.
52551         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
52552         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
52553         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
52554         the particular module is requested. Add a link warning when the
52555         particular module is not requested.
52556         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
52557         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
52558         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
52559         the particular module is requested.
52560         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
52561         gl_SYS_SOCKET_H_DEFAULTS): New macros.
52562         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
52563         * modules/sys_socket (Depends-on): Add link-warning.
52564         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
52565         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
52566         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
52567         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
52568         GL_LINK_WARNING.
52569         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
52570         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
52571         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
52572         * doc/posix-functions/getpeername.texi: Mention the new module
52573         'getpeername'.
52574         * doc/posix-functions/getsockname.texi: Mention the new module
52575         'getsockname'.
52576         * doc/posix-functions/getsockopt.texi: Mention the new module
52577         'getsockopt'.
52578         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
52579         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
52580         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
52581         * doc/posix-functions/send.texi: Mention the new module 'send'.
52582         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
52583         * doc/posix-functions/setsockopt.texi: Mention the new module
52584         'setsockopt'.
52585         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
52586         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
52587         listen, connect, accept.
52588         * modules/select-tests (Depends-on): Likewise.
52589
52590 2008-10-05  Bruno Haible  <bruno@clisp.org>
52591
52592         * lib/winsock.c (strerror): Remove unused #undef.
52593         (rpl_close): Remove unused local variable.
52594
52595         * modules/sys_socket (Depends-on); Add errno.
52596
52597 2008-10-05  Bruno Haible  <bruno@clisp.org>
52598
52599         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
52600         (select): Add a link warning when the 'select' module is not used.
52601         * modules/sys_select (Depends-on): Add link-warning.
52602         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
52603         Suggested by Paolo Bonzini.
52604
52605 2008-10-05  Jim Meyering  <meyering@redhat.com>
52606
52607         bootstrap: check for LT_INIT more portably
52608         * build-aux/bootstrap: Avoid using grep -E, since it's not
52609         portable enough.  Suggestion from Bruno Haible.
52610
52611 2008-10-05  Bruno Haible  <bruno@clisp.org>
52612
52613         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
52614         as being fixed by gnulib.
52615
52616 2008-10-05  Bruno Haible  <bruno@clisp.org>
52617
52618         * modules/select-tests: New file, mostly copied from
52619         modules/sys_select-tests.
52620         * tests/test-select.c: New file, mostly copied from
52621         tests/test-sys_select.c.
52622         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
52623         * modules/sys_select-tests (Depends-on): Remove all dependencies.
52624         (Makefile.am): Remove test_sys_select_LDADD.
52625
52626         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
52627         to an undefined symbol, for an error message.
52628         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
52629         (gl_SYS_SELECT_H_DEFAULTS): New macro.
52630         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
52631         winsock-select.c here.
52632         * modules/sys_select (Files): Remove lib/winsock-select.c.
52633         (Depends-on): Remove alloca.
52634         (Makefile.am): Substitute GNULIB_SELECT.
52635         * modules/select: New file.
52636         * doc/posix-functions/select.texi: Update.
52637
52638 2008-10-05  Bruno Haible  <bruno@clisp.org>
52639
52640         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
52641         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
52642         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
52643         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
52644         getdtablesize.
52645         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
52646         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
52647
52648 2008-10-05  Bruno Haible  <bruno@clisp.org>
52649
52650         * modules/getdtablesize-tests: New file.
52651         * tests/test-getdtablesize.c: New file.
52652
52653         New module 'getdtablesize'.
52654         * lib/unistd.in.h (getdtablesize): New declaration.
52655         * lib/getdtablesize.c: New file.
52656         * m4/getdtablesize.m4: New file.
52657         * modules/getdtablesize: New file.
52658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52659         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
52660         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
52661         HAVE_GETDTABLESIZE.
52662         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
52663
52664 2008-10-05  Bruno Haible  <bruno@clisp.org>
52665
52666         * modules/sched (Makefile.am): Fix typo.
52667         Reported by Simon Josefsson.
52668
52669 2008-10-05  Jim Meyering  <meyering@redhat.com>
52670
52671         bootstrap: check for LT_INIT, too
52672         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
52673         are deprecated.  Suggestion from Ralf Wildenhues.
52674
52675 2008-10-05  Bruno Haible  <bruno@clisp.org>
52676
52677         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
52678         overriding them by ours.
52679         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
52680
52681 2008-10-05  Jim Meyering  <meyering@redhat.com>
52682
52683         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
52684         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
52685         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
52686
52687 2008-10-04  Bruno Haible  <bruno@clisp.org>
52688
52689         * modules/dup2 (License): Change to LGPLv2+.
52690         * modules/sleep (License): Likewise.
52691         * modules/perror (License): Likewise.
52692         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
52693         Blake.
52694         * modules/signal (License): Likewise.
52695         * modules/sigprocmask (License): Likewise.
52696         * modules/raise (License): Change to LGPLv2+, with approval by Jim
52697         Meyering.
52698
52699 2008-10-04  Bruno Haible  <bruno@clisp.org>
52700
52701         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
52702         Reported by Rainer Tammer <tammer@tammer.net>.
52703
52704 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
52705             Bruno Haible  <bruno@clisp.org>
52706
52707         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
52708         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
52709         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
52710
52711 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
52712
52713         filevercmp: new module
52714         * lib/filevercmp.h: New function filevercmp comparing version strings.
52715         * lib/filevercmp.c: Implementation of filevercmp function.
52716         * modules/filevercmp: Module metadata.
52717         * tests/test-filevercmp.c: Unit test for new module.
52718         * modules/filevercmp-tests: Unit test metadata.
52719         * MODULES.html.sh: Add filevercmp module.
52720
52721 2008-10-03  Bruno Haible  <bruno@clisp.org>
52722
52723         * lib/c-ctype.h: Add comment.
52724         Reported by Jim Meyering.
52725
52726 2008-10-02  Bruno Haible  <bruno@clisp.org>
52727
52728         * modules/posix_spawn-internal (Depends-on): Add 'open'.
52729
52730 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52731
52732         * build-aux/bootstrap: Allow renaming bootstrap, and change the
52733         name of bootstrap.conf accordingly.
52734
52735 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52736
52737         * build-aux/bootstrap: Install git-merge-changelog configuration
52738         items into .gitconfig if needed.
52739
52740 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
52741
52742         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
52743         git repository, and initialize/update it accordingly.
52744
52745 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
52746
52747         * modules/fsync-tests: New file.
52748         * tests/test-fsync.c: New file.
52749
52750         New module 'fsync'.
52751         * lib/fsync.c: New file.
52752         * m4/fsync.m4: New file.
52753         * modules/fsync: New file.
52754         * lib/unistd.in.h (fsync): New declaration.
52755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
52756         GNULIB_FSYNC and HAVE_FSYNC.
52757         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
52758         * MODULES.html.sh (posix_functions): Add fsync.
52759         * doc/posix-functions/fsync.texi: Mention the new module.
52760
52761 2008-10-02  Jim Meyering  <meyering@redhat.com>
52762
52763         fts.c: sync with similar code from coreutils' remove.c
52764         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
52765         Guard also with "#if defined __linux__", since for now at least,
52766         this code is Linux-kernel-specific.
52767
52768 2008-10-02  Jim Meyering  <meyering@redhat.com>
52769
52770         fts: bug fixes
52771         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
52772         Include <sys/vfs.h>, not <sys/statfs.h>.
52773
52774         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
52775         Include <sys/vfs.h>, not <sys/statfs.h>.
52776
52777 2008-10-01  Bruno Haible  <bruno@clisp.org>
52778
52779         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
52780         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
52781         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
52782         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
52783         * doc/posix-functions/posix_spawnp.texi: Likewise.
52784         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
52785         whether posix_spawn actually works.
52786         * m4/pipe.m4 (gl_PIPE): Likewise.
52787         * modules/execute (Files): Add m4/posix_spawn.m4.
52788         * modules/pipe (Files): Add m4/posix_spawn.m4.
52789         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
52790
52791 2008-10-01  Jim Meyering  <meyering@redhat.com>
52792
52793         remove trailing spaces
52794         * NEWS: Likewise.
52795         * lib/poll.c (poll): Likewise.
52796         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
52797         * lib/winsock.c (rpl_close): Likewise.
52798         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
52799         * modules/yield: Likewise.
52800         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
52801         * tests/test-sys_select.c (connect_to_socket): Likewise.
52802
52803         fts.c: adjust a new interface to be more generally useful
52804         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
52805         (fts_build): Adjust caller.
52806
52807 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52808
52809         * modules/cond-tests: New file.
52810         * tests/test-cond.c: New file.
52811
52812 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52813             Bruno Haible  <bruno@clisp.org>
52814
52815         * modules/cond (Dependencies): Add errno, time.
52816         * lib/glthread/cond.h: Include <time.h>.
52817         (gl_cond_define, gl_cond_define_initialized): Use the same definition
52818         across platforms.
52819
52820 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52821             Bruno Haible  <bruno@clisp.org>
52822
52823         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
52824
52825 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52826             Bruno Haible  <bruno@clisp.org>
52827
52828         * modules/tls-tests (Depends-on): Add thread, yield.
52829         (configure.ac): Remove all checks.
52830         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
52831         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52832         gl_thread_self): Remove definitions. Include glthread/thread.h and
52833         glthread/yield.h instead.
52834         (test_tls): Pass an additional NULL argument to gl_thread_join.
52835
52836 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52837             Bruno Haible  <bruno@clisp.org>
52838
52839         * modules/lock-tests (Depends-on): Add thread, yield.
52840         (configure.ac): Remove all checks.
52841         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
52842         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
52843         gl_thread_self): Remove definitions. Include glthread/thread.h and
52844         glthread/yield.h instead.
52845         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
52846         additional NULL argument to gl_thread_join.
52847
52848 2008-09-30  Bruno Haible  <bruno@clisp.org>
52849
52850         Fix the Win32 implementation of the 'thread' module.
52851         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
52852         pointer type.
52853         (gl_thread_self): Invoke gl_thread_self_func.
52854         (gl_thread_self_func): New declaration.
52855         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
52856         (do_init_self_key, init_self_key): New functions.
52857         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
52858         Remove some fields.
52859         (running_threads, running_lock): Remove variables.
52860         (get_current_thread_handle): New function.
52861         (gl_thread_self_func, wrapper_func, glthread_create_func,
52862         glthread_join_func, gl_thread_exit_func): Largely rewritten and
52863         simplified.
52864
52865 2008-09-30  Bruno Haible  <bruno@clisp.org>
52866
52867         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
52868         files.
52869
52870 2008-09-30  Jim Meyering  <meyering@redhat.com>
52871
52872         fts.m4: correct the test for statfs.f_type
52873         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
52874         when checking for statfs.f_type.
52875
52876 2008-09-15  Simon Josefsson  <simon@josefsson.org>
52877
52878         tests: avoid some compiler warnings
52879         * tests/test-memchr.c (main): Pass NULL indirectly.
52880         * tests/test-getdate.c (main): Remove unused variable 'ret'.
52881
52882 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
52883
52884         getdate.y: disallow countable dayshifts like "4 yesterday ago"
52885         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
52886         exactly specified dayshifts.
52887         (dayshift): New rule.
52888         (rel): Add dayshift.
52889         (relative_time_table) [tomorrow, yesterday, today, now]:
52890         Use tDAY_SHIFT in place of tDAY_UNIT.
52891         * tests/test-getdate.c: Add tests for now-disallowed countable
52892         dayshifts, e.g., "4 yesterday ago".
52893
52894 2008-09-29  Bruno Haible  <bruno@clisp.org>
52895
52896         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
52897         * tests/test-posix_spawn1.in.sh: Renamed from
52898         tests/test-posix_spawn.in.sh.
52899         * tests/test-posix_spawn2.c: New file.
52900         * tests/test-posix_spawn2.in.sh: New file.
52901         * modules/posix_spawnp-tests (Files): Update.
52902         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
52903
52904 2008-09-29  Bruno Haible  <bruno@clisp.org>
52905
52906         Propagate effects of putenv/setenv/unsetenv to child processes.
52907         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
52908         * lib/pipe.c (create_pipe): Likewise.
52909
52910 2008-09-29  Bruno Haible  <bruno@clisp.org>
52911
52912         Enable use of shell scripts as executables in mingw.
52913         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
52914         run the program as a shell script.
52915         * lib/pipe.c (create_pipe): Likewise.
52916         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
52917         resulting array.
52918
52919 2008-09-29  Eric Blake  <ebb9@byu.net>
52920
52921         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
52922
52923 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
52924
52925         * doc/posix-functions/accept.texi: Update mingw problems.
52926         * doc/posix-functions/bind.texi: Update mingw problems.
52927         * doc/posix-functions/close.texi: Update mingw problems.
52928         * doc/posix-functions/connect.texi: Update mingw problems.
52929         * doc/posix-functions/getpeername.texi: Update mingw problems.
52930         * doc/posix-functions/getsockname.texi: Update mingw problems.
52931         * doc/posix-functions/getsockopt.texi: Update mingw problems.
52932         * doc/posix-functions/ioctl.texi: Update mingw problems.
52933         * doc/posix-functions/listen.texi: Update mingw problems.
52934         * doc/posix-functions/recv.texi: Update mingw problems.
52935         * doc/posix-functions/recvfrom.texi: Update mingw problems.
52936         * doc/posix-functions/select.texi: Update mingw problems.
52937         * doc/posix-functions/send.texi: Update mingw problems.
52938         * doc/posix-functions/sendto.texi: Update mingw problems.
52939         * doc/posix-functions/setsockopt.texi: Update mingw problems.
52940         * doc/posix-functions/socket.texi: Update mingw problems.
52941
52942 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
52943             Bruno Haible  <bruno@clisp.org>
52944
52945         * lib/sys_select.in.h: Include sys/time.h.
52946         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
52947         * modules/sys_select: Depend on sys_time.
52948         * tests/test-sys_select.c: Test that sys/select.h defines struct
52949         timeval fully.
52950
52951 2008-09-29  Bruno Haible  <bruno@clisp.org>
52952
52953         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
52954         * lib/sys_select.in.h: Likewise.
52955
52956 2008-09-29  Bruno Haible  <bruno@clisp.org>
52957
52958         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
52959
52960 2008-09-29  Bruno Haible  <bruno@clisp.org>
52961
52962         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
52963         Set LIBSOCKET instead of augmenting LIBS.
52964         * modules/sockets (Link): New section.
52965         * modules/sockets-tests (test_sockets_LDADD): New variable.
52966         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
52967         * modules/poll-tests (test_poll_LDADD): New variable.
52968         * NEWS: Document the change.
52969
52970 2008-09-29  Bruno Haible  <bruno@clisp.org>
52971
52972         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
52973         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
52974         ARPA_INET_H directly.
52975         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
52976
52977 2008-09-28  Bruno Haible  <bruno@clisp.org>
52978
52979         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
52980         from gl_HEADER_SYS_SOCKET.
52981         (gl_HEADER_SYS_SOCKET): Invoke it.
52982         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52983
52984 2008-09-28  Bruno Haible  <bruno@clisp.org>
52985
52986         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
52987         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
52988         Needed on OSF/1 4.0.
52989
52990 2008-09-28  Bruno Haible  <bruno@clisp.org>
52991
52992         Override open more carefully.
52993         * lib/open.c (orig_open): New function.
52994         (rpl_open): Use orig_open instead of open.
52995         * lib/fcntl.in.h: Add special invocation convention.
52996         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
52997         (gl_FUNC_OPEN): Invoke it.
52998
52999         Override freopen more carefully.
53000         * lib/freopen.c (orig_freopen): New function.
53001         (rpl_freopen): Use orig_freopen instead of freopen.
53002         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53003         (gl_FUNC_FREOPEN): Invoke it.
53004
53005         Override fopen more carefully.
53006         * lib/fopen.c (orig_fopen): New function.
53007         (rpl_fopen): Use orig_fopen instead of fopen.
53008         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53009         (gl_FUNC_FOPEN): Invoke it.
53010         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53011
53012 2008-09-28  Bruno Haible  <bruno@clisp.org>
53013
53014         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53015         SIGPIPE.
53016
53017 2008-09-28  Bruno Haible  <bruno@clisp.org>
53018
53019         * tests/test-sigaction.c (handler, main): Disable the check whether
53020         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53021         glibc systems with LinuxThreads.
53022
53023 2008-09-28  Bruno Haible  <bruno@clisp.org>
53024
53025         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53026
53027         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53028         with AIX xlc.
53029         * lib/fcntl.in.h (open): Likewise.
53030         Reported by Rainer Tammer <tammer@tammer.net>.
53031
53032 2008-09-28  Bruno Haible  <bruno@clisp.org>
53033
53034         * modules/posix_spawnp-tests: New file.
53035         * tests/test-posix_spawn.c: New file.
53036         * tests/test-posix_spawn.in.sh: New file.
53037
53038         New module 'posix_spawnp'.
53039         * modules/posix_spawnp: New file.
53040         * lib/spawnp.c: New file, from GNU libc with modifications.
53041         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53042
53043         New module 'posix_spawn'.
53044         * modules/posix_spawn: New file.
53045         * lib/spawn.c: New file, from GNU libc with modifications.
53046         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53047
53048         New module 'posix_spawnattr_destroy'.
53049         * modules/posix_spawnattr_destroy: New file.
53050         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53051         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53052         module.
53053
53054         New module 'posix_spawnattr_setsigmask'.
53055         * modules/posix_spawnattr_setsigmask: New file.
53056         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53057         modifications.
53058         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53059         new module.
53060
53061         New module 'posix_spawnattr_getsigmask'.
53062         * modules/posix_spawnattr_getsigmask: New file.
53063         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53064         modifications.
53065         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53066         new module.
53067
53068         New module 'posix_spawnattr_setsigdefault'.
53069         * modules/posix_spawnattr_setsigdefault: New file.
53070         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53071         modifications.
53072         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53073         new module.
53074
53075         New module 'posix_spawnattr_getsigdefault'.
53076         * modules/posix_spawnattr_getsigdefault: New file.
53077         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53078         modifications.
53079         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53080         new module.
53081
53082         New module 'posix_spawnattr_setschedpolicy'.
53083         * modules/posix_spawnattr_setschedpolicy: New file.
53084         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53085         modifications.
53086         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53087         new module.
53088
53089         New module 'posix_spawnattr_getschedpolicy'.
53090         * modules/posix_spawnattr_getschedpolicy: New file.
53091         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53092         modifications.
53093         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53094         new module.
53095
53096         New module 'posix_spawnattr_setschedparam'.
53097         * modules/posix_spawnattr_setschedparam: New file.
53098         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53099         modifications.
53100         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53101         new module.
53102
53103         New module 'posix_spawnattr_getschedparam'.
53104         * modules/posix_spawnattr_getschedparam: New file.
53105         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53106         modifications.
53107         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53108         new module.
53109
53110         New module 'posix_spawnattr_setpgroup'.
53111         * modules/posix_spawnattr_setpgroup: New file.
53112         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53113         modifications.
53114         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53115         module.
53116
53117         New module 'posix_spawnattr_getpgroup'.
53118         * modules/posix_spawnattr_getpgroup: New file.
53119         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53120         modifications.
53121         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53122         module.
53123
53124         New module 'posix_spawnattr_setflags'.
53125         * modules/posix_spawnattr_setflags: New file.
53126         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53127         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53128         module.
53129
53130         New module 'posix_spawnattr_getflags'.
53131         * modules/posix_spawnattr_getflags: New file.
53132         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53133         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53134         module.
53135
53136         New module 'posix_spawnattr_init'.
53137         * modules/posix_spawnattr_init: New file.
53138         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53139         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53140         module.
53141
53142         New module 'posix_spawn_file_actions_destroy'.
53143         * modules/posix_spawn_file_actions_destroy: New file.
53144         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53145         modifications.
53146         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53147         the new module.
53148
53149         New module 'posix_spawn_file_actions_addopen'.
53150         * modules/posix_spawn_file_actions_addopen: New file.
53151         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53152         modifications.
53153         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53154         the new module.
53155
53156         New module 'posix_spawn_file_actions_adddup2'.
53157         * modules/posix_spawn_file_actions_adddup2: New file.
53158         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53159         modifications.
53160         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53161         the new module.
53162
53163         New module 'posix_spawn_file_actions_addclose'.
53164         * modules/posix_spawn_file_actions_addclose: New file.
53165         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53166         modifications.
53167         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53168         the new module.
53169
53170         New module 'posix_spawn_file_actions_init'.
53171         * modules/posix_spawn_file_actions_init: New file.
53172         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
53173         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
53174         new module.
53175
53176         New module 'posix_spawn-internal'.
53177         * modules/posix_spawn-internal: New file.
53178         * lib/spawn_int.h: New file, from GNU libc with modifications.
53179         * lib/spawni.c: New file, from GNU libc with modifications.
53180         * m4/posix_spawn.m4: New file.
53181
53182         New module 'spawn'.
53183         * modules/spawn: New file.
53184         * lib/spawn.in.h: New file, from GNU libc with modifications.
53185         * m4/spawn_h.m4: New file.
53186         * doc/posix-headers/spawn.texi: Mention the new module.
53187
53188 2008-09-28  Bruno Haible  <bruno@clisp.org>
53189
53190         * modules/sched-tests: New file.
53191         * tests/test-sched.c: New file.
53192
53193         New module 'sched'.
53194         * modules/sched: New file.
53195         * lib/sched.in.h: New file.
53196         * m4/sched_h.m4: New file.
53197         * doc/posix-headers/sched.texi: Mention the new module.
53198
53199 2008-09-27  Eric Blake  <ebb9@byu.net>
53200
53201         Fix previous patch, and tweak references to $0.
53202         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
53203         (func_version, func_gnulib_dir): Don't call this program
53204         gnulib-tool.
53205         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
53206         with using $0 in function.
53207         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
53208         (func_fatal_error): Reuse the name the user invoked us with.
53209
53210 2008-09-27  Bruno Haible  <bruno@clisp.org>
53211
53212         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
53213         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
53214         (gl_ICONV_H): Not here.
53215         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
53216         instead of assigning ICONV_H directly.
53217
53218         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
53219         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
53220         WCHAR_H directly.
53221
53222 2008-09-27  Bruno Haible  <bruno@clisp.org>
53223
53224         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
53225         * modules/arpa_inet (Depends-on): Add link-warning.
53226         (Makefile.am): Insert the definition of GL_LINK-WARNING.
53227         * modules/unistd (Makefile.am): Likewise.
53228
53229 2008-09-26  Bruno Haible  <bruno@clisp.org>
53230
53231         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
53232         variables.
53233         (func_version): Essentially copied from gnulib-tool.
53234         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
53235         func_readlink): Copied from gnulib-tool.
53236
53237 2008-09-26  Bruno Haible  <bruno@clisp.org>
53238
53239         * gnulib-tool (func_version): Change directory to $gnulib_dir before
53240         invoking git-version-gen.
53241
53242 2008-09-26  Bruno Haible  <bruno@clisp.org>
53243
53244         * posix-modules: Update to directory names changed on 2008-01-19.
53245         Remove commas in output before splitting into words. No more need to
53246         avoid 'ftruncate' since 2007-02-19.
53247
53248 2008-09-26  Bruno Haible  <bruno@clisp.org>
53249
53250         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
53251
53252 2008-09-26  Bruno Haible  <bruno@clisp.org>
53253
53254         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
53255         * modules/fwriteerror (Depends-on): Add errno.
53256
53257 2008-09-26  Bruno Haible  <bruno@clisp.org>
53258
53259         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
53260         * tests/test-vc-list-files-cvs.sh: Likewise.
53261
53262 2008-09-26  Bruno Haible  <bruno@clisp.org>
53263
53264         * doc/posix-headers/sys_resource.texi: Reorder items.
53265
53266 2008-09-26  Jim Meyering  <meyering@redhat.com>
53267
53268         fts: tweak inode comparison function
53269         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
53270         inode numbers, as documented.
53271
53272         fts: sort dirent entries on inode number before traversing
53273         This avoids a quadratic, seek-related performance penalty when
53274         operating on a directory containing many entries (measurable at 10k;
53275         3.5 hours at 2 million entries with a cold cache) on certain types
53276         of file systems, including ext3 and ext4, but not tmpfs.
53277         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
53278         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
53279         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
53280         (fs_handles_readdir_ordered_dirents_efficiently): New function.
53281         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
53282         (fts_build): Set the stat.st_ino member from D_INO.
53283         If it is likely to be useful, sort dirent entries on inode number.
53284
53285         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
53286         and the struct statfs.f_type member.
53287         * modules/fts (Depends-on): Add d-ino.
53288
53289 2008-09-26  Bruno Haible  <bruno@clisp.org>
53290
53291         * modules/sigpipe-die (Depends-on): Add sigpipe.
53292
53293         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
53294         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
53295         and GNULIB_STDIO_H_SIGPIPE are set.
53296         * lib/stdio-write.c: New file.
53297         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
53298         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53299         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53300         REPLACE_STDIO_WRITE_FUNCS.
53301         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
53302         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53303         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53304         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53305         * modules/stdio (Files): Add lib/stdio-write.c.
53306         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
53307         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
53308         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
53309         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
53310         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
53311         REPLACE_FPRINTF_POSIX.
53312         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
53313         REPLACE_PRINTF_POSIX.
53314         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
53315         REPLACE_VFPRINTF_POSIX.
53316         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
53317         REPLACE_VPRINTF_POSIX.
53318         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
53319         SIGPIPE issue.
53320         * doc/posix-functions/fputc.texi: Likewise.
53321         * doc/posix-functions/fputs.texi: Likewise.
53322         * doc/posix-functions/fwrite.texi: Likewise.
53323         * doc/posix-functions/printf.texi: Likewise.
53324         * doc/posix-functions/putc.texi: Likewise.
53325         * doc/posix-functions/putchar.texi: Likewise.
53326         * doc/posix-functions/puts.texi: Likewise.
53327         * doc/posix-functions/vfprintf.texi: Likewise.
53328         * doc/posix-functions/vprintf.texi: Likewise.
53329
53330         * modules/safe-write (Depends-on): Add write.
53331
53332         * modules/sigpipe-tests: New file.
53333         * tests/test-sigpipe.c: New file.
53334         * tests/test-sigpipe.sh: New file.
53335
53336         * modules/write: New file.
53337         * lib/unistd.in.h: Include <sys/types.h>.
53338         (write): New declaration.
53339         * lib/write.c: New file.
53340         * m4/write.m4: New file.
53341         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53342         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
53343         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
53344         GNULIB_WRITE, REPLACE_WRITE.
53345         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
53346         and the SIGPIPE issue.
53347
53348         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
53349         (raise): New declaration.
53350         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
53351         (ext_signal): New function.
53352         (rpl_raise): New function.
53353         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
53354         GNULIB_SIGNAL_H_SIGPIPE.
53355         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
53356         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
53357
53358         * modules/sigpipe: New file.
53359         * m4/sigpipe.m4: New file.
53360
53361 2008-09-25  Derek Price  <derek@ximbiot.com>
53362             Bruno Haible  <bruno@clisp.org>
53363
53364         * gnulib-tool (func_import): Report all license incompatibilities, not
53365         just the first one.
53366
53367 2008-09-25  Bruno Haible  <bruno@clisp.org>
53368
53369         * gnulib-tool (func_import): When computing the edits, consider not
53370         only the Makefile.ams that exist but also those that will be generated.
53371
53372 2008-09-25  Simon Josefsson  <simon@josefsson.org>
53373
53374         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
53375         fixes gnulib-tool --test warning about duplicate dependency.
53376
53377 2008-09-25  Bruno Haible  <bruno@clisp.org>
53378
53379         * gnulib-tool: Don't ask the user to perform edits in the generated
53380         Makefile.ams.
53381         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
53382         apply to the Makefile.am being generated.
53383         (func_emit_tests_Makefile_am): Execute edits that apply to the
53384         Makefile.am being generated.
53385         (func_import): Setup list of Makefile.am edits before emitting the
53386         Makefile.ams, not at the end.
53387         (func_create_testdir): Update.
53388         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53389
53390 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53391
53392         * gnulib-tool (func_import): Store the --tests-base option in the
53393         comment in gnulib-cache.m4.
53394
53395 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
53396
53397         * NEWS: Document increased portability that sys_select now provides.
53398
53399         * lib/sys_select.in.h: Install select wrapper.
53400         * lib/sys_socket.in.h: Use more descriptive name when there is no
53401         select wrapper.
53402         * lib/winsock-select.c: New.
53403         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
53404         Require gl_HEADER_SYS_SOCKET.
53405         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
53406         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
53407         * tests/test-sys_select.c: Add functional tests.
53408
53409 2008-09-24  Eric Blake  <ebb9@byu.net>
53410
53411         open, fopen: close fd leak in last patch
53412         * lib/open.c (rpl_open): Close fd before returning error.
53413         * lib/fopen.c (rpl_fopen): Close fd before returning error.
53414         * doc/posix-functions/open.texi (open): Document that Irix also
53415         has the bug.
53416         * doc/posix-functions/fopen.texi (fopen): Likewise.
53417         Reported by Paolo Bonzini.
53418
53419 2008-09-24  Bruno Haible  <bruno@clisp.org>
53420
53421         Ensure that a filename ending in a slash cannot be used to access a
53422         non-directory.
53423         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
53424         to check whether it's really a directory.
53425         * lib/fopen.c: Include fcntl.h, unistd.h.
53426         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
53427         and fdopen().
53428         * modules/fopen (Depends-on): Add unistd.
53429         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
53430         * tests/test-fopen.c (main): Likewise.
53431         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
53432         * doc/posix-functions/fopen.texi: Likewise.
53433         Reported by Eric Blake.
53434
53435 2008-09-23  Eric Blake  <ebb9@byu.net>
53436
53437         c-stack: avoid compiler optimizations when provoking overflow
53438         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
53439         recursion harder to optimize, to ensure a stack overflow occurs.
53440         * tests/test-c-stack.c (recurse): Likewise.
53441         Borrowed from libsigsegv.
53442
53443         c-stack: work around Irix sigaltstack bug
53444         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
53445         whether sigaltstack uses wrong end of stack_t (copied in part from
53446         libsigsegv).
53447         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
53448         Irix bug, without requiring an over-allocation.
53449         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
53450         bug.
53451
53452         fopen: document mingw bug on directories
53453         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
53454         not allowing a stream visiting a directory, even though reading
53455         from such a stream is not portable.
53456
53457 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53458
53459         * lib/poll.c: Rewrite.
53460         * modules/poll: Depend on alloca.
53461
53462 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53463
53464         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
53465         instead define prototypes for a full set of wrappers.  Ensure
53466         that Cygwin does not use the compatibility code, which is only
53467         for MinGW.
53468         * lib/winsock.c: New.
53469         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
53470         * modules/sys_socket: Add lib/winsock.c.
53471
53472         * modules/poll-tests: Add errno and perror.
53473         * tests/test-poll.c: Use ioctl, not ioctlsocket.
53474
53475 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
53476
53477         * tests/test-poll.c: Downgrade minimum needed Winsock version.
53478
53479 2008-09-23  Bruno Haible  <bruno@clisp.org>
53480
53481         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
53482         * doc/glibc-functions/*: Likewise.
53483
53484 2008-09-23  Simon Josefsson  <simon@josefsson.org>
53485
53486         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
53487         success.
53488
53489 2008-09-22  Eric Blake  <ebb9@byu.net>
53490             Bruno Haible  <bruno@clisp.org>
53491
53492         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
53493         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
53494         supply %A but mishandle pseudo-NaN.
53495         Reported by Simon Josefsson.
53496
53497 2008-09-21  Bruno Haible  <bruno@clisp.org>
53498
53499         * tests/test-lock.c (main): Tweak skip message.
53500         * tests/test-tls.c (main): Likewise.
53501
53502 2008-09-21  Bruno Haible  <bruno@clisp.org>
53503
53504         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
53505         whether 'struct sigaction' has sa_sigaction here...
53506         (gl_PREREQ_SIG_HANDLER_H): ... not here.
53507         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
53508
53509 2008-09-21  Bruno Haible  <bruno@clisp.org>
53510
53511         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
53512         section.
53513         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
53514         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
53515         the new section.
53516         (Support for obsolete systems lacking POSIX:2001): New section.
53517         (String handling <string.h>): Move strdup to the new section.
53518         Suggested by Simon Josefsson and Paolo Bonzini.
53519
53520 2008-09-21  Bruno Haible  <bruno@clisp.org>
53521
53522         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
53523         exponents in %e and %g results on 'long double'. Needed for mingw's
53524         improved *printf functions.
53525         * tests/test-vasprintf-posix.c (test_function): Likewise.
53526         * tests/test-snprintf-posix.h (test_function): Likewise.
53527         * tests/test-sprintf-posix.h (test_function): Likewise.
53528         Reported by Eric Blake.
53529
53530 2008-09-21  Bruno Haible  <bruno@clisp.org>
53531
53532         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
53533         * tests/test-sprintf-posix.h (test_function): Likewise.
53534
53535 2008-09-21  Bruno Haible  <bruno@clisp.org>
53536
53537         * modules/getpass (Depends-on): Add strdup-posix.
53538
53539         New module 'strdup-posix'.
53540         * modules/strdup-posix: New file.
53541         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
53542         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
53543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53544         REPLACE_STRDUP.
53545         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
53546         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
53547         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53548         strdup-posix.
53549
53550         * modules/strdup (Depends-on): Remove malloc-posix.
53551
53552 2008-09-20  Bruno Haible  <bruno@clisp.org>
53553
53554         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
53555         Wildenhues.
53556
53557 2008-09-20  Bruno Haible  <bruno@clisp.org>
53558
53559         Ensure that wint_t gets defined on IRIX 5.3.
53560         * lib/wchar.in.h (wint_t): Define if not defined by the system.
53561         * lib/wctype.in.h (wint_t): Likewise.
53562         (__wctype_wint_t): Remove type.
53563         (isw*): Use wint_t instead of __wctype_wint_t.
53564         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
53565         * modules/wchar (Files): Add m4/wint_t.m4.
53566         (Makefile.am): Substitute HAVE_WINT_T.
53567         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
53568         * tests/test-wctype.c: Check that wint_t is defined.
53569         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
53570         * doc/posix-headers/wctype.texi: Likewise.
53571         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53572
53573 2008-09-18  Bruno Haible  <bruno@clisp.org>
53574
53575         * gnulib-tool (func_exit): Update comment.
53576
53577 2008-09-18  Simon Josefsson  <simon@josefsson.org>
53578
53579         * modules/getaddrinfo (Depends-on): Remove strdup, this module
53580         assumes strdup exists and does not depend on strdup to return
53581         ENOMEM on out of memory conditions.
53582
53583 2008-09-18  Bruno Haible  <bruno@clisp.org>
53584
53585         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
53586         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
53587         digits for the exponent.
53588
53589 2008-09-18  Jim Meyering  <meyering@redhat.com>
53590             Bruno Haible  <bruno@clisp.org>
53591
53592         * lib/vasnprintf.c (decimal_point_char): Define also if
53593         NEED_PRINTF_INFINITE_LONG_DOUBLE.
53594
53595 2008-09-16  Bruno Haible  <bruno@clisp.org>
53596         and Eric Blake  <ebb9@byu.net>
53597
53598         vasnprintf: support Irix 5.3
53599         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
53600         that mishandle long double infinity.
53601         Reported by Tom G. Christensen.
53602
53603 2008-09-16  Bruno Haible  <bruno@clisp.org>
53604
53605         * doc/glibc-functions/scandir.texi: Mention the function is missing on
53606         Solaris 9.
53607         * doc/glibc-functions/alphasort.texi: Likewise.
53608         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
53609
53610 2008-09-16  Jim Meyering  <meyering@redhat.com>
53611
53612         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
53613         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
53614         a umask modification leak out of a subshell.  Otherwise, the
53615         opensolaris /bin/sh would be accepted and thus cause unwarranted
53616         failures in the coreutils test suite.
53617
53618 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
53619
53620         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
53621         to succeed.
53622
53623 2008-09-16  Jim Meyering  <meyering@redhat.com>
53624
53625         avoid spurious test failure when library is built without ACL support
53626         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
53627         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
53628         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
53629         * tests/test-copy-acl.sh: Likewise.
53630
53631 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53632
53633         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
53634         based on character occurrence counts.
53635
53636 2008-09-15  Eric Blake  <ebb9@byu.net>
53637
53638         tests: avoid some compiler warnings
53639         * tests/test-memchr.c (main): Pass NULL indirectly.
53640         * tests/test-closein.c (main): Avoid unused variable.
53641
53642 2008-09-15  Bruno Haible  <bruno@clisp.org>
53643
53644         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
53645         are missing on OpenBSD 4.0 individually.
53646         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53647
53648 2008-09-15  Bruno Haible  <bruno@clisp.org>
53649
53650         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
53651         * doc/posix-functions/strerror.texi: Mention also Cygwin.
53652         * doc/posix-functions/perror.texi: Likewise.
53653         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
53654         is missing.
53655         Reported by Eric Blake.
53656
53657         * lib/errno.in.h: Use replacement values >= 2000.
53658         Reported by Eric Blake.
53659
53660 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53661
53662         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
53663         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
53664         limit.
53665         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
53666         compareseq was aborted.
53667
53668 2008-09-14  Bruno Haible  <bruno@clisp.org>
53669
53670         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
53671         yvec_edit_count.
53672         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
53673         (fstrcmp_bounded): Simplify result computation accordingly.
53674
53675 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53676
53677         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
53678         (fstrcmp): Define in terms of fstrcmp_bounded.
53679         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
53680         lower_bound argument.
53681         Return quickly if the result is certainly < lower_bound.
53682         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
53683
53684 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53685
53686         * lib/diffseq.h (EARLY_ABORT): New macro.
53687         (compareseq): Change return type to bool. Return true when EARLY_ABORT
53688         evaluates to true.
53689
53690 2008-09-14  Bruno Haible  <bruno@clisp.org>
53691
53692         * modules/perror-tests: New file.
53693         * tests/test-perror.sh: New file.
53694         * tests/test-perror.c: New file.
53695
53696         New module 'perror'.
53697         * lib/stdio.in.h (perror): New declaration.
53698         * lib/perror.c: New file.
53699         * m4/perror.m4: New file.
53700         * modules/perror: New file.
53701         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
53702         * doc/posix-functions/perror.texi: Mention the perror module.
53703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
53704         REPLACE_PERROR.
53705         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
53706         REPLACE_PERROR.
53707
53708 2008-09-14  Bruno Haible  <bruno@clisp.org>
53709
53710         * modules/stdio (Makefile.am): Reorder to match the order in
53711         lib/stdio.in.h.
53712         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
53713
53714 2008-09-13  Bruno Haible  <bruno@clisp.org>
53715
53716         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
53717
53718 2008-09-13  Bruno Haible  <bruno@clisp.org>
53719
53720         Extend strerror to cover the added errno values.
53721         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
53722         (rpl_strerror): Provide error messages for the added errno values and
53723         for the WSA* values.
53724         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
53725         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
53726         strerror.
53727         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
53728         * modules/strerror (Depends-on): Add errno.
53729         * doc/posix-functions/strerror.texi: Document the change.
53730         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
53731         and EOVERFLOW.
53732
53733 2008-09-13  Bruno Haible  <bruno@clisp.org>
53734
53735         * modules/EOVERFLOW: Remove file.
53736         * m4/eoverflow.m4: Remove file.
53737         * modules/EOVERFLOW-tests: Remove file.
53738         * tests/test-EOVERFLOW.c: Remove file.
53739         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
53740         * modules/ftell (Depends-on): Likewise.
53741         * modules/getdelim (Depends-on): Likewise.
53742         * modules/getugroups (Depends-on): Likewise.
53743         * modules/poll (Depends-on): Likewise.
53744         * modules/snprintf (Depends-on): Likewise.
53745         * modules/sprintf-posix (Depends-on): Likewise.
53746         * modules/vasnprintf (Depends-on): Likewise.
53747         * modules/vasprintf (Depends-on): Likewise.
53748         * modules/vfprintf-posix (Depends-on): Likewise.
53749         * modules/vsnprintf (Depends-on): Likewise.
53750         * modules/vsprintf-posix (Depends-on): Likewise.
53751         * modules/xvasprintf (Depends-on): Likewise.
53752         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53753         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
53754         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
53755         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
53756         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53757         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
53758         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
53759         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
53760         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53761         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
53762         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
53763         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
53764         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53765         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
53766         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
53767         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
53768         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53769         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
53770         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
53771         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
53772         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53773         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
53774         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
53775         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
53776         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
53777         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53778         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
53779         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
53780         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
53781         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
53782         * MODULES.html.sh: Remove EOVERFLOW.
53783         * NEWS: Mention the change.
53784
53785 2008-09-13  Bruno Haible  <bruno@clisp.org>
53786
53787         * modules/errno-tests: New file.
53788         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
53789
53790         * lib/errno.in.h: New file.
53791         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
53792         * modules/errno: New file.
53793         * doc/posix-headers/errno.texi: Update documentation.
53794         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
53795
53796 2008-09-13  Bruno Haible  <bruno@clisp.org>
53797
53798         * tests/test-poll.c: Use #if for native Windows, rather than testing
53799         __MSVCRT__.
53800
53801 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53802             Bruno Haible  <bruno@clisp.org>
53803
53804         * lib/glob.c: Don't include <pwd.h> on native Windows.
53805         (WINDOWS32): New macro.
53806         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
53807
53808 2008-09-13  Bruno Haible  <bruno@clisp.org>
53809
53810         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
53811         (ETIMEDOUT): Remove macro.
53812         (glthread_cond_timedwait_multithreaded): New declaration.
53813         (glthread_cond_timedwait): Use it.
53814         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
53815         (glthread_cond_timedwait_multithreaded): New function.
53816
53817 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53818
53819         * modules/poll-tests: Do not check for io.h.
53820         * tests/test-poll.c: Check for __MSVCRT__ instead.
53821
53822 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53823
53824         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
53825         * modules/poll-tests: Add inet_pton, stdbool, sockets.
53826         * tests/test-poll.c: Use them.  Use _pipe on Windows.
53827
53828 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
53829
53830         * modules/poll-tests: New.
53831         * tests/test-poll.c: New.
53832
53833 2008-09-12  Eric Blake  <ebb9@byu.net>
53834
53835         frexp: test for NetBSD failure on -0.0
53836         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
53837         not all, bugs from NetBSD 3.0 have been fixed.
53838         * doc/posix-functions/frexp.texi (frexp): Document bug.
53839         Reported by Thomas Klausner.
53840
53841         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
53842         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
53843         literal -0.0.
53844         Reported by Jonathan C. Patschke <jp@centtech.com>.
53845
53846 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53847
53848         * lib/glthread/cond.h: Use dummy implementation also if
53849         USE_WIN32_THREADS.
53850
53851 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53852
53853         * modules/fnmatch-posix (License): Change to LGPLv2+.
53854         * modules/fnmatch-gnu (License): Likewise.
53855
53856 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53857
53858         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
53859
53860 2008-09-11  Jim Meyering  <meyering@redhat.com>
53861
53862         * users.txt: Add gtk-vnc.
53863
53864 2008-09-08  Simon Josefsson  <simon@josefsson.org>
53865
53866         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
53867         rotate amounts.
53868
53869         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
53870         required for 16-bit and 8-bit rotates.
53871         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
53872         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
53873         UINT8_MAX instead of hard-coded constants.
53874         Suggested by Paul Eggert.
53875
53876 2008-09-07  Bruno Haible  <bruno@clisp.org>
53877
53878         * tests/test-striconveh.c (main): Check behaviour when converting from
53879         UTF-7.
53880
53881         Make striconveh work better with stateful encodings.
53882         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
53883         that iconv does not increment the inptr when returning -1/EINVAL.
53884
53885 2008-09-07  Bruno Haible  <bruno@clisp.org>
53886
53887         * build-aux/config.rpath: Update according to libtool-2.2.6.
53888         * build-aux/config.libpath: Likewise.
53889
53890 2008-09-06  Bruno Haible  <bruno@clisp.org>
53891
53892         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
53893         * lib/freadptr.c (freadptr): Likewise.
53894         * lib/freadseek.c (freadptrinc): Likewise.
53895         Reported by Simon Josefsson.
53896
53897 2008-09-06  Bruno Haible  <bruno@clisp.org>
53898
53899         * modules/freadptr (License): Change to LGPLv2+.
53900         * modules/freadseek (License): Likewise.
53901         Suggested by Eric Blake.
53902
53903         * modules/memchr2 (License): Change to LGPLv2+.
53904         Approved by Eric Blake.
53905
53906 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53907             Bruno Haible  <bruno@clisp.org>
53908
53909         Make gnulib-tool work with native 'sed' on AIX.
53910         * gnulib-tool (sed_noop): New variable.
53911         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
53912         func_add_or_update, func_create_testdir): Use it to initialize sed
53913         script variables.
53914         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53915
53916 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
53917             Bruno Haible  <bruno@clisp.org>
53918
53919         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
53920         also works after #include directives.
53921
53922 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
53923
53924         getdate.y: reject an out-of-range timezone value
53925         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
53926         the range [-24...+24].  When specified with only one or two digits,
53927         * tests/test-getdate.c: Tests for the fix.
53928         * doc/getdate.texi: Document this change.
53929
53930 2008-09-03  Bruno Haible  <bruno@clisp.org>
53931
53932         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
53933
53934 2008-09-02  Simon Josefsson  <simon@josefsson.org>
53935
53936         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
53937         <bruce.korb@gmail.com> with ideas from Ben Pfaff
53938         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
53939         Blake <ebb9@byu.net>.
53940
53941         * tests/test-bitrotate.c: Add more test vectors.
53942
53943 2008-09-02  Eric Blake  <ebb9@byu.net>
53944
53945         vasnprintf-posix: handle large precision via %.*d
53946         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
53947         when handling it ourselves.
53948         * tests/test-vasnprintf-posix.c (test_function): Add test.
53949         * tests/test-snprintf-posix.h (test_function): Likewise.
53950         * tests/test-sprintf-posix.h (test_function): Likewise.
53951         * tests/test-vasprintf-posix.c (test_function): Likewise.
53952         Reported by Alain Guibert.
53953
53954 2008-09-01  Eric Blake  <ebb9@byu.net>
53955
53956         c-stack: make configure-time check more robust
53957         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
53958         successful sigaction call.
53959         Reported by Tom G. Christensen.
53960
53961 2008-09-01  Bruno Haible  <bruno@clisp.org>
53962
53963         New module 'findprog-lgpl'.
53964         * modules/findprog-lgpl: New file.
53965         * lib/findprog-lgpl.c: New file.
53966         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
53967         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
53968         to decide whether to use strdup or xstrdup, concatenated_filename or
53969         xconcatenated_filename.
53970
53971 2008-09-01  Bruno Haible  <bruno@clisp.org>
53972
53973         Split module 'concat-filename' into 'concat-filename' (LGPL) and
53974         'xconcat-filename' (GPL).
53975         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
53976         (License): Change to LGPLv2+.
53977         * modules/xconcat-filename: New file.
53978         * lib/concat-filename.h (concatenated_filename): Change specification.
53979         (xconcatenated_filename): New declaration.
53980         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
53981         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
53982         memory situations.
53983         * lib/xconcat-filename.c: New file.
53984         * NEWS: Mention the change.
53985         * lib/findprog.c: Include concat-filename.h, not filename.h.
53986         (find_in_path): Use xconcatenated_filename instead of
53987         concatenated_filename.
53988         * lib/javacomp.c: Include concat-filename.h, not filename.h.
53989         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
53990         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
53991         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
53992         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
53993         instead of concatenated_filename.
53994         * lib/javaexec.c: Include concat-filename.h, not filename.h.
53995         (execute_java_class): Use xconcatenated_filename instead of
53996         concatenated_filename.
53997         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
53998         * modules/javacomp (Depends-on): Likewise.
53999         * modules/javaexec (Depends-on): Likewise.
54000
54001 2008-09-01  Bruno Haible  <bruno@clisp.org>
54002
54003         Split module 'filename' into 'filename' and 'concat-filename'.
54004         * modules/filename: Keep only lib/filename.h.
54005         (License): Change to LGPLv2+.
54006         * modules/concat-filename: New file, extracted from modules/filename.
54007         * lib/filename.h (concatenated_filename): Remove declaration.
54008         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54009         * lib/concat-filename.c: Include concat-filename.h.
54010         * NEWS: Mention the change.
54011
54012 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54013
54014         * lib/bitrotate.h (rotl8, rotr8): Add.
54015
54016         * modules/bitrotate (configure.ac): Need
54017         AC_REQUIRE([AC_C_INLINE]).
54018         (Description): Mention stdint.h.  Reported by Bruno Haible
54019         <bruno@clisp.org>.
54020
54021         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54022         Paolo Bonzini <bonzini@gnu.org>.
54023
54024 2008-08-31  Bruno Haible  <bruno@clisp.org>
54025
54026         Assume Solaris specific bi-arch conventions on Solaris systems.
54027         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54028         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54029         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54030         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54031         like acl_libdirstem.
54032         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54033         acl_libdirstem.
54034         * NEWS: Mention the change.
54035         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54036
54037 2008-08-31  Jim Meyering  <meyering@redhat.com>
54038
54039         * lib/strftime.h: Add comments describing the two added arguments.
54040
54041         remove duplicate #include directives
54042         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54043         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54044
54045 2008-08-31  Bruno Haible  <bruno@clisp.org>
54046
54047         New module 'sigpipe-die'.
54048         * modules/sigpipe-die: New file.
54049         * lib/sigpipe-die.h: New file.
54050         * lib/sigpipe-die.c: New file.
54051         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54052
54053 2008-08-31  Bruno Haible  <bruno@clisp.org>
54054
54055         Don't override previously installed signal handlers.
54056         * lib/fatal-signal.c (saved_sigactions): New variable.
54057         (uninstall_handlers): Reset the signal to the saved handler, not
54058         to SIG_DFL (except when ignored).
54059         (install_handlers): Save the previous handlers.
54060
54061 2008-08-30  Bruno Haible  <bruno@clisp.org>
54062
54063         * gnulib-tool (func_reset_sigpipe): New function.
54064         (func_get_automake_snippet, func_modules_transitive_closure,
54065         func_import): Invoke it before a join command that reads from stdin,
54066         to avoid "echo: write error: Broken pipe" error messages on stderr.
54067         Reported by Sam Steingold <sds@gnu.org>.
54068
54069 2008-08-30  Bruno Haible  <bruno@clisp.org>
54070
54071         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54072         Code copied from m4/open.m4.
54073         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54074         access and the filename ends in a slash. Code copied from lib/open.c.
54075         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54076         * tests/test-fopen.c (main): Check against bug with trailing slash.
54077
54078 2008-08-29  Bruno Haible  <bruno@clisp.org>
54079
54080         Avoid some "gcc -pedantic" warnings.
54081         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54082         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54083         * lib/dirent.in.h: Likewise.
54084         * lib/fcntl.in.h: Likewise.
54085         * lib/float.in.h: Likewise.
54086         * lib/iconv.in.h: Likewise.
54087         * lib/inttypes.in.h: Likewise.
54088         * lib/locale.in.h: Likewise.
54089         * lib/math.in.h: Likewise.
54090         * lib/netinet_in.in.h: Likewise.
54091         * lib/search.in.h: Likewise.
54092         * lib/signal.in.h: Likewise.
54093         * lib/stdarg.in.h: Likewise.
54094         * lib/stdint.in.h: Likewise.
54095         * lib/stdio.in.h: Likewise.
54096         * lib/stdlib.in.h: Likewise.
54097         * lib/string.in.h: Likewise.
54098         * lib/strings.in.h: Likewise.
54099         * lib/sys_select.in.h: Likewise.
54100         * lib/sys_socket.in.h: Likewise.
54101         * lib/sys_stat.in.h: Likewise.
54102         * lib/sys_time.in.h: Likewise.
54103         * lib/sysexits.in.h: Likewise.
54104         * lib/time.in.h: Likewise.
54105         * lib/unistd.in.h: Likewise.
54106         * lib/wchar.in.h: Likewise.
54107         * lib/wctype.in.h: Likewise.
54108         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54109         * modules/fchdir (Makefile.am): Likewise.
54110         * modules/fcntl (Makefile.am): Likewise.
54111         * modules/float (Makefile.am): Likewise.
54112         * modules/iconv_open (Makefile.am): Likewise.
54113         * modules/inttypes (Makefile.am): Likewise.
54114         * modules/locale (Makefile.am): Likewise.
54115         * modules/math (Makefile.am): Likewise.
54116         * modules/netinet_in (Makefile.am): Likewise.
54117         * modules/search (Makefile.am): Likewise.
54118         * modules/signal (Makefile.am): Likewise.
54119         * modules/stdarg (Makefile.am): Likewise.
54120         * modules/stdint (Makefile.am): Likewise.
54121         * modules/stdio (Makefile.am): Likewise.
54122         * modules/stdlib (Makefile.am): Likewise.
54123         * modules/string (Makefile.am): Likewise.
54124         * modules/strings (Makefile.am): Likewise.
54125         * modules/sys_select (Makefile.am): Likewise.
54126         * modules/sys_socket (Makefile.am): Likewise.
54127         * modules/sys_stat (Makefile.am): Likewise.
54128         * modules/sys_time (Makefile.am): Likewise.
54129         * modules/sysexits (Makefile.am): Likewise.
54130         * modules/time (Makefile.am): Likewise.
54131         * modules/unistd (Makefile.am): Likewise.
54132         * modules/wchar (Makefile.am): Likewise.
54133         * modules/wctype (Makefile.am): Likewise.
54134         Reported by Reuben Thomas <rrt@sc3d.org>.
54135
54136 2008-08-29  Bruno Haible  <bruno@clisp.org>
54137
54138         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54139         any more.
54140
54141 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54142
54143         * MODULES.html.sh (Misc): Add bitrotate.
54144
54145         * modules/bitrotate: New file.
54146
54147         * lib/bitrotate.h: New file.
54148
54149         * modules/bitrotate-tests: New file.
54150
54151         * tests/test-bitrotate.c: New file.
54152
54153         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54154         on the bitrotate module.
54155
54156         * lib/arctwo.c: Use new bitrotate module.
54157
54158 2008-08-29  Jim Meyering  <meyering@redhat.com>
54159
54160         bootstrap: merge changes from coreutils
54161         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54162         of copied files.  Remove a kludge, now that this is fixed.
54163         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54164         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54165         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54166
54167 2008-08-29  Bruno Haible  <bruno@clisp.org>
54168
54169         * MODULES.html.sh: Remove --cvs-urls option.
54170
54171 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
54172
54173         maint.mk: adjust to file name change
54174         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
54175
54176 2008-08-28  Jim Meyering  <meyering@redhat.com>
54177
54178         * modules/getndelim2 (License): Relicense to LGPLv2+.
54179         Approved by Richard Stallman for the version of 1995, and by
54180         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
54181
54182 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
54183
54184         * lib/getdelim.c (flockfile, funlockfile): Make all of them
54185         dummy if one is not available.  Do not touch them if
54186         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
54187         (getc_maybe_unlocked): New.
54188         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
54189
54190 2008-08-26  Eric Blake  <ebb9@byu.net>
54191
54192         doc/INSTALL: resync from autoconf
54193         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
54194         (INSTALL_PRELUDE): Delete; this is done more efficiently by
54195         moving...
54196         * install.texi [!autoconf]: ...here.  Resync from autoconf.
54197         * INSTALL: Regenerate.
54198         * INSTALL.ISO: New file.
54199         * INSTALL.UTF-8: Likewise.
54200
54201 2008-08-26  Jim Meyering  <meyering@redhat.com>
54202
54203         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
54204         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
54205         these definitions conditional, so that they may be overridden, too.
54206
54207 2008-08-26  Bruno Haible  <bruno@clisp.org>
54208
54209         Generate INSTALL file variants with prettier quotes.
54210         * doc/Makefile (INSTALL_PRELUDE): New macro.
54211         (INSTALL): Use it.
54212         (INSTALL.ISO, INSTALL.UTF-8): New rules.
54213
54214 2008-08-26  Bruno Haible  <bruno@clisp.org>
54215
54216         Run makeinfo in an English locale.
54217         * doc/Makefile (MAKEINFO): New variable.
54218
54219 2008-08-26  Bruno Haible  <bruno@clisp.org>
54220
54221         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
54222         Suggested by Eric Blake.
54223
54224 2008-08-25  Bruno Haible  <bruno@clisp.org>
54225
54226         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
54227
54228 2008-08-25  Eric Blake  <ebb9@byu.net>
54229
54230         c-stack: test that stack overflow can be caught
54231         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
54232         that platform allows handling stack overflow; at least OS/2 EMX
54233         has sigaltstack, but crashes before transferring control to
54234         handler on stack overflow.
54235         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
54236         check for HAVE_STACK_OVERFLOW_HANDLING.
54237         Reported by Elbert Pol.
54238
54239 2008-08-25  Bruno Haible  <bruno@clisp.org>
54240
54241         * doc/posix-functions/strftime.texi: Fix description of strftime
54242         module.
54243
54244 2008-08-24  Bruno Haible  <bruno@clisp.org>
54245
54246         * tests/uniwidth/test-uc_width2.c: New file.
54247         * tests/uniwidth/test-uc_width2.sh: New file.
54248         * modules/uniwidth/width-tests (Files): Add the new files.
54249         (TESTS): Add uniwidth/test-uc_width2.sh.
54250         (TESTS_ENVIRONMENT): New variable.
54251         (check_PROGRAMS): Add test-uc_width2.
54252         (test_uc_width2_SOURCES): New variable.
54253
54254         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
54255         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
54256         not 0x00AB.
54257         Reported by Alexander V. Lukyanov <lav@netis.ru>.
54258
54259 2008-08-22  Eric Blake  <ebb9@byu.net>
54260
54261         test-lock, test-tls: mention why a test is skipped
54262         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
54263         skipped.
54264         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
54265
54266         count-one-bits: relax license
54267         * modules/count-one-bits (License): Relicense to LGPLv2+.
54268         Suggested by Ludovic Courtès, approved by Ben Pfaff.
54269
54270 2008-08-22  Andreas Schwab  <schwab@suse.de>
54271
54272         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
54273         Remove spurious space in assignment.
54274
54275 2008-08-21  Simon Josefsson  <simon@josefsson.org>
54276
54277         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
54278         Paul Eggert <eggert@CS.UCLA.EDU>.
54279
54280 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
54281
54282         * modules/gettext: Add m4/threadlib.m4.
54283
54284 2008-08-19  Eric Blake  <ebb9@byu.net>
54285
54286         test-c-stack: fix compilation failure on FreeBSD 5.0
54287         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
54288         headers before <sys/resource.h>.
54289         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
54290         the bug.
54291         Reported by Nelson H. F. Beebe.
54292
54293         strverscmp: migrate from "strverscmp.h" to <string.h>
54294         * modules/string (Makefile.am): Add new hooks.
54295         * modules/strverscmp (Files): Remove strverscmp.h.
54296         (Depends-on): Add string.
54297         (configure.ac): Add indicator.
54298         (Include): Mention new header.
54299         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
54300         defaults.
54301         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
54302         results.
54303         * lib/strverscmp.h: Delete.
54304         * lib/string.in.h (strverscmp): Provide declaration, when needed.
54305         * tests/test-strverscmp.c (includes): Adjust client.
54306         * lib/check-version.c (includes): Likewise.
54307         * NEWS: Document the change.
54308
54309         strverscmp: add unit test
54310         * modules/strverscmp-tests: New file.
54311         * tests/test-strverscmp.c: Likewise.
54312
54313 2008-08-19  Simon Josefsson  <simon@josefsson.org>
54314
54315         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
54316         regarding Windows crypto stuff, from Mono.
54317
54318 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
54319
54320         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
54321         if present, for intel RND.  Return error on failures.
54322
54323 2008-08-18  Ben Pfaff  <blp@gnu.org>
54324
54325         gitlog-to-changelog: give better diagnostic for failed pipe-open
54326         * build-aux/gitlog-to-changelog: Improve error message: suggest
54327         that the version of Git may be too old.
54328
54329 2008-08-18  Simon Josefsson  <simon@josefsson.org>
54330
54331         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
54332         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
54333
54334 2008-08-18  Bruno Haible  <bruno@clisp.org>
54335
54336         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
54337         pthread_in_use().
54338
54339 2008-08-18  Bruno Haible  <bruno@clisp.org>
54340
54341         * lib/glthread/threadlib.c: Include <pthread.h>.
54342
54343 2008-08-18  Bruno Haible  <bruno@clisp.org>
54344
54345         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
54346         glthread_recursive_lock_* macros.
54347         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
54348         Fix syntax error.
54349
54350 2008-08-18  Bruno Haible  <bruno@clisp.org>
54351
54352         * lib/glthread/thread.c: Avoid forcing a context switch right after
54353         thread creation.
54354
54355 2008-08-17  Bruno Haible  <bruno@clisp.org>
54356
54357         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
54358         * lib/glthread/thread.h: Provide Win32 specific implementation.
54359         * modules/thread (Files): Add lib/glthread/thread.c.
54360         (Depends-on): Add lock.
54361         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
54362
54363 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54364
54365         New module 'yield'.
54366         * modules/yield: New file.
54367         * lib/glthread/yield.h: New file.
54368         * m4/yield.m4: New file.
54369         * MODULES.html.sh (Multithreading): Add yield.
54370
54371 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54372
54373         New module 'thread'.
54374         * modules/thread: New file.
54375         * lib/glthread/thread.h: New file.
54376         * m4/thread.m4: New file.
54377         * MODULES.html.sh (Multithreading): Add thread.
54378
54379 2008-08-17  Bruno Haible  <bruno@clisp.org>
54380
54381         * lib/glthread/lock.h: Include <stdlib.h> always.
54382         * lib/glthread/tls.h: Likewise.
54383         * lib/glthread/cond.h: Likewise.
54384
54385 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54386
54387         New module 'cond'.
54388         * modules/cond: New file.
54389         * lib/glthread/cond.h: New file.
54390         * lib/glthread/cond.c: New file.
54391         * m4/cond.m4: New file.
54392         * MODULES.html.sh (Multithreading): Add cond.
54393
54394 2008-08-16  Eric Blake  <ebb9@byu.net>
54395
54396         c-stack: fix regression on Irix 5.3 from 2008-06-21
54397         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
54398         sa_sigaction...
54399         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
54400         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
54401         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
54402         * modules/signal (Makefile.am): Use the value.
54403         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
54404         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
54405         * doc/posix-headers/signal.texi (signal.h): Document this
54406         portability issue.
54407         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
54408         Reported by Tom G. Christensen.
54409
54410 2008-08-17  Bruno Haible  <bruno@clisp.org>
54411
54412         New module 'threadlib'.
54413         * modules/threadlib: New file.
54414         * lib/glthread/threadlib.c: New file, extracted from
54415         lib/glthread/lock.c.
54416         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
54417         functions.
54418         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
54419         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
54420         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
54421         macros.
54422         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
54423         (gl_DISABLE_THREADS): Remove macro.
54424         * modules/lock (Files): Remove build-aux/config.rpath.
54425         (Depends-on): Remove havelib. Add threadlib.
54426         (configure.ac-early): Remove section.
54427         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
54428         * modules/tls (Depends-on): Remove lock. Add threadlib.
54429         (Link): New section, copied from threadlib.
54430         * MODULES.html.sh (Multithreading): Add threadlib.
54431
54432 2008-08-14  Bruno Haible  <bruno@clisp.org>
54433
54434         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
54435         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
54436         glthread_rwlock_unlock, glthread_rwlock_destroy,
54437         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
54438         glthread_recursive_lock_destroy): Define as macros always.
54439         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
54440         glthread_lock_lock.
54441         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
54442         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
54443         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
54444         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
54445         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
54446         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
54447         (glthread_recursive_lock_lock_func): Renamed from
54448         glthread_recursive_lock_lock.
54449         (glthread_recursive_lock_unlock_func): Renamed from
54450         glthread_recursive_lock_unlock.
54451         (glthread_recursive_lock_destroy_func): Renamed from
54452         glthread_recursive_lock_destroy.
54453
54454 2008-08-14  Bruno Haible  <bruno@clisp.org>
54455
54456         * lib/glthread/lock.h: Renamed from lib/lock.h.
54457         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
54458         * lib/glthread/tls.h: Renamed from lib/tls.h.
54459         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
54460         * lib/fstrcmp.c: Update includes.
54461         * lib/strsignal.c: Update includes.
54462         * modules/lock (Files, Makefile.am): Update.
54463         (Include): Change to "glthread/lock.h".
54464         * modules/tls (Files, Makefile.am): Update.
54465         (Include): Change to "glthread/tls.h".
54466         * tests/test-lock.c: Update includes.
54467         * tests/test-tls.c: Update includes.
54468         * NEWS: Mention the renamed header files.
54469
54470 2008-08-11  Jim Meyering  <meyering@redhat.com>
54471
54472         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
54473
54474 2008-08-11  Eric Blake  <ebb9@byu.net>
54475
54476         test-c-stack: avoid C99-ism
54477         * tests/test-c-stack.c (main): Fix whitespace, move declaration
54478         before statement.
54479         Reported by Alain Guibert.
54480
54481 2008-08-10  Jim Meyering  <meyering@redhat.com>
54482
54483         ensure that return value of uinttostr et al are not ignored
54484         * lib/inttostr.h (__GNUC_PREREQ): Define.
54485         (__attribute_warn_unused_result__): Define.
54486         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
54487
54488 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
54489
54490         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
54491         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
54492
54493 2008-08-07  Jim Meyering  <meyering@redhat.com>
54494
54495         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
54496
54497         * modules/mkstemp (License): Relicense under LGPLv2+.
54498         * modules/tempname (License): Likewise.
54499
54500 2008-08-06  Bruno Haible  <bruno@clisp.org>
54501
54502         * lib/poll.c (poll): Further micro-optimization.
54503
54504 2008-08-06  Jim Meyering  <meyering@redhat.com>
54505
54506         inet_pton.c: use locale-independent tolower
54507         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
54508         (inet_pton6): Use c_tolower rather than tolower.
54509         * modules/inet_pton (Depends-on): Add c-ctype.
54510
54511 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
54512
54513         * lib/poll.c (poll): Avoid division when timeout is 0, cache
54514         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
54515
54516 2008-08-06  Jim Meyering  <meyering@redhat.com>
54517
54518         * modules/inet_pton (License): Relicense under LGPLv2+.
54519
54520 2008-08-03  Bruno Haible  <bruno@clisp.org>
54521
54522         Additional non-aborting API for lock and tls.
54523         * lib/lock.h: Include <errno.h>.
54524         (glthread_lock_init): New macro/function.
54525         (gl_lock_init): Define as wrapper around glthread_lock_init.
54526         (glthread_lock_lock): New macro/function.
54527         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
54528         (glthread_lock_unlock): New macro/function.
54529         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
54530         (glthread_lock_destroy): New macro/function.
54531         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
54532         (glthread_rwlock_init): New macro/function.
54533         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
54534         (glthread_rwlock_rdlock): New macro/function.
54535         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
54536         (glthread_rwlock_wrlock): New macro/function.
54537         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
54538         (glthread_rwlock_unlock): New macro/function.
54539         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
54540         (glthread_rwlock_destroy): New macro/function.
54541         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
54542         (glthread_recursive_lock_init): New macro/function.
54543         (gl_recursive_lock_init): Define as wrapper around
54544         glthread_recursive_lock_init.
54545         (glthread_recursive_lock_lock): New macro/function.
54546         (gl_recursive_lock_lock): Define as wrapper around
54547         glthread_recursive_lock_lock.
54548         (glthread_recursive_lock_unlock): New macro/function.
54549         (gl_recursive_lock_unlock): Define as wrapper around
54550         glthread_recursive_lock_unlock.
54551         (glthread_recursive_lock_destroy): New macro/function.
54552         (gl_recursive_lock_destroy): Define as wrapper around
54553         glthread_recursive_lock_destroy.
54554         (glthread_once): New macro/function.
54555         (gl_once): Define as wrapper around glthread_once.
54556         Update function declarations.
54557         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
54558         glthread_rwlock_init. Return error code.
54559         (glthread_rwlock_rdlock_multithreaded): Renamed from
54560         glthread_rwlock_rdlock. Return error code.
54561         (glthread_rwlock_wrlock_multithreaded): Renamed from
54562         glthread_rwlock_wrlock. Return error code.
54563         (glthread_rwlock_unlock_multithreaded): Renamed from
54564         glthread_rwlock_unlock. Return error code.
54565         (glthread_rwlock_destroy_multithreaded): Renamed from
54566         glthread_rwlock_destroy. Return error code.
54567         (glthread_recursive_lock_init_multithreaded): Renamed from
54568         glthread_recursive_lock_init. Return error code.
54569         (glthread_recursive_lock_lock_multithreaded): Renamed from
54570         glthread_recursive_lock_lock. Return error code.
54571         (glthread_recursive_lock_unlock_multithreaded): Renamed from
54572         glthread_recursive_lock_unlock. Return error code.
54573         (glthread_recursive_lock_destroy_multithreaded): Renamed from
54574         glthread_recursive_lock_destroy. Return error code.
54575         (glthread_once_call): Make static.
54576         (glthread_once_multithreaded): Renamed from glthread_once.
54577         * lib/tls.h: Include <errno.h>.
54578         (glthread_tls_key_init): New macro/function.
54579         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
54580         (glthread_tls_set): New macro/function.
54581         (gl_tls_set): Define as wrapper around glthread_tls_set.
54582         (glthread_tls_key_destroy): New macro/function.
54583         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
54584         Update function declarations.
54585         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
54586         glthread_tls_get.
54587         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54588
54589 2008-08-04  Eric Blake  <ebb9@byu.net>
54590
54591         gnumakefile: use space, not TAB, outside of targets
54592         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
54593
54594 2008-08-02  Jim Meyering  <meyering@redhat.com>
54595
54596         getdate.y: avoid locale-dependent date parsing failure
54597         In Turkish locales, getdate would fail to recognize keywords
54598         containing a lowercase "i".  The solution is not to rely on
54599         locale-sensitive case-conversion.
54600         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
54601         (lookup_word): Use c_toupper in place of toupper.
54602         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
54603         Reported by Vefa Bicakci <bicave@superonline.com> in
54604         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
54605         * modules/getdate (Depends-on): Add c-ctype.
54606
54607 2008-08-02  Bruno Haible  <bruno@clisp.org>
54608
54609         * gnulib-tool (func_import): When updating or creating a .gitignore
54610         file, prepend each added line with a slash, and ignore leading slashes
54611         from the existing lines.
54612         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
54613
54614 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54615
54616         Portability fix for GNU make 3.79.1.
54617         * top/GNUmakefile: Avoid 'else COND', which older GNU make
54618         versions do not understand.
54619
54620 2008-08-01  Bruno Haible  <bruno@clisp.org>
54621
54622         Work around bug of HP-UX 10.20 cc with -0.0 literal.
54623         * tests/test-isnanf.h (zero): New variable.
54624         (main): Avoid literal -0.0f.
54625         * tests/test-isnand.h (zero): New variable.
54626         (main): Avoid literal -0.0.
54627         * tests/test-isnanl.h (zero): New variable.
54628         (main): Avoid literal -0.0L.
54629         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
54630         (test_float, test_double, test_long_double): Avoid literals -0.0f,
54631         -0.0, -0.0L.
54632         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
54633         (test_signbitd): Avoid literal -0.0.
54634         (test_signbitl): Avoid literal -0.0L.
54635         * tests/test-ceilf1.c (zero): New variable.
54636         (main): Avoid literal -0.0f.
54637         * tests/test-ceill.c (zero): New variable.
54638         (main): Avoid literal -0.0L.
54639         * tests/test-floorf1.c (zero): New variable.
54640         (main): Avoid literal -0.0f.
54641         * tests/test-floorl.c (zero): New variable.
54642         (main): Avoid literal -0.0L.
54643         * tests/test-roundf1.c (zero): New variable.
54644         (main): Avoid literal -0.0f.
54645         * tests/test-round1.c (zero): New variable.
54646         (main): Avoid literal -0.0.
54647         * tests/test-roundl.c (zero): New variable.
54648         (main): Avoid literal -0.0L.
54649         * tests/test-truncf1.c (zero): New variable.
54650         (main): Avoid literal -0.0f.
54651         * tests/test-trunc1.c (zero): New variable.
54652         (main): Avoid literal -0.0.
54653         * tests/test-truncl.c (zero): New variable.
54654         (main): Avoid literal -0.0L.
54655         * tests/test-frexp.c (zero): New variable.
54656         (main): Avoid literal -0.0.
54657         * tests/test-frexpl.c (zero): New variable.
54658         (main): Avoid literal -0.0L.
54659         * tests/test-ldexpl.c (zero): New variable.
54660         (main): Avoid literal -0.0L.
54661         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54662         (zerod, zerol): New variables.
54663         (test_function): Avoid literals -0.0, -0.0L.
54664         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
54665         (zerod, zerol): New variables.
54666         (test_function): Avoid literals -0.0, -0.0L.
54667         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54668         (zerod, zerol): New variables.
54669         (test_function): Avoid literals -0.0, -0.0L.
54670         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
54671         (zerod, zerol): New variables.
54672         (test_function): Avoid literals -0.0, -0.0L.
54673         * tests/test-strtod.c (zero): New variable.
54674         (main): Avoid literal -0.0.
54675         Reported by Jonathan C. Patschke <jp@centtech.com>.
54676
54677 2008-07-31  Jim Meyering  <meyering@redhat.com>
54678
54679         sha256.h: correct definition of SHA224_DIGEST_SIZE
54680         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
54681         Reported by Paulie Pena IV <paulie4@gmail.com>.
54682         Define as 224 / 8, rather than as a literal.
54683         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
54684         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
54685         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
54686
54687 2008-07-31  Bruno Haible  <bruno@clisp.org>
54688
54689         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
54690         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
54691         Reported by Jonathan Patschke <jp@centtech.com>.
54692
54693 2008-07-31  Bruno Haible  <bruno@clisp.org>
54694
54695         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
54696         Reported by Paolo Bonzini <bonzini@gnu.org>.
54697
54698 2008-07-30  Eric Blake  <ebb9@byu.net>
54699
54700         test-strtod: allow compilation without -lm
54701         * tests/test-strtod.c (main): Avoid link dependence on fabs.
54702         Reported by Dennis Clarke <blastwave@gmail.com>.
54703
54704 2008-07-28  Jim Meyering  <meyering@redhat.com>
54705
54706         bootstrap: work also when there are no .po files in po/
54707         * build-aux/bootstrap (update_po_files): Complete the change
54708         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
54709
54710 2008-07-27  Jim Meyering  <meyering@redhat.com>
54711
54712         * users.txt: Add zile.
54713
54714 2008-07-26  Ben Pfaff  <blp@gnu.org>
54715
54716         Add missing dependencies on new m4/exponent[fdl].m4 files.
54717         * modules/isnanf-nolibm: Add m4/exponentf.m4.
54718         * modules/isnand-nolibm: Add m4/exponentd.m4.
54719         * modules/isnanl-nolibm: Add m4/exponentl.m4.
54720         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
54721         m4/isnan[fdl].m4, because the macros actually used moved.
54722         Reported by Jim Meyering.
54723
54724 2008-07-14  Ben Pfaff  <blp@gnu.org>
54725
54726         Add isinf module.
54727         * lib/isinf.c: New file.
54728         * lib/math.in.h: Define isinf macro if we have decided to replace
54729         it.
54730         * m4/isinf.m4: New file.
54731         * m4/math_h.m4: Initialize and substitute variables for isinf
54732         module.
54733         * modules/isinf: New file.
54734         * modules/isinf-tests: New file.
54735         * modules/math: Add substitutions for new module.
54736         * tests/test-isinf.c: New file.
54737         * doc/posix-functions/isinf.texi: Mention new module.
54738         * MODULES.html.sh: Mention new module.
54739
54740 2008-07-14  Ben Pfaff  <blp@gnu.org>
54741
54742         Factor out some macros for use by additional modules.
54743         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
54744         exponentf.m4.
54745         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
54746         exponentd.m4.
54747         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
54748         file exponentl.m4.
54749         * m4/exponentf.m4: New file.
54750         * m4/exponentd.m4: New file.
54751         * m4/exponentl.m4: New file.
54752         * modules/isnanf: Use new file m4/exponentf.m4.
54753         * modules/isnand: Use new file m4/exponentd.m4.
54754         * modules/isnanl: Use new file m4/exponentl.m4.
54755
54756 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
54757
54758         mktime.c: normalize tp->tm_isdst value to -1/0/1.
54759         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
54760         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
54761         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
54762
54763         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
54764         readlink on platforms without PATH_MAX.
54765
54766 2008-07-21  Eric Blake  <ebb9@byu.net>
54767
54768         Warn, not fail, on stale version.
54769         * top/GNUmakefile (_curr-ver): Tone down previous patch.
54770
54771         Don't allow installation with stale devel version number.
54772         * top/GNUmakefile (_is-install-target): New macro.
54773         (_curr-ver): Forbid installation with stale version number.
54774
54775 2008-07-20  Bruno Haible  <bruno@clisp.org>
54776
54777         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
54778         TESTS_ENVIRONMENT.
54779         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
54780
54781 2008-07-20  Bruno Haible  <bruno@clisp.org>
54782
54783         * lib/c-stack.h (c_stack_action): Add documentation.
54784         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
54785
54786 2008-07-20  Bruno Haible  <bruno@clisp.org>
54787
54788         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
54789         * modules/readlink (License): Likewise.
54790
54791 2008-07-17  Eric Blake  <ebb9@byu.net>
54792
54793         * modules/c-stack (Link): Fix typo.
54794
54795         Make c-stack use libsigsegv, when available.
54796         * modules/c-stack (Depends-on): Add libsigsegv.
54797         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
54798         needed.
54799         * lib/c-stack.c (SIGSTKSZ): Define fallback.
54800         (segv_handler, overflow_handler, c_stack_action)
54801         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
54802         implementation when libsigsegv is available, but only when using
54803         the library is necessary.
54804         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
54805         comment, explaining why XSI check fails on Linux.
54806         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
54807         * tests/test-c-stack2.sh: Tweak skip message.
54808         * NEWS: Document new link-time requirements.
54809
54810 2008-07-16  Eric Blake  <ebb9@byu.net>
54811
54812         c-stack: Expose false positives when not using libsigsegv.
54813         * modules/c-stack-tests (Files): Expand test.
54814         * tests/test-c-stack.c (main): Add means to conditionally trigger
54815         non-overflow SIGSEGV.
54816         * tests/test-c-stack2.sh: New file.
54817
54818 2008-07-14  Bruno Haible  <bruno@clisp.org>
54819
54820         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
54821         Reported by Eric Blake.
54822
54823 2008-07-14  Sam Steingold  <sds@gnu.org>
54824             Bruno Haible  <bruno@clisp.org>
54825
54826         New module libsigsegv.
54827         * modules/libsigsegv: New file.
54828         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
54829         modifications.
54830         * MODULES.html.sh (Signal handling): New section.
54831
54832 2008-07-14  Bruno Haible  <bruno@clisp.org>
54833
54834         * modules/unictype/ctype-* (Description): Add the word "function".
54835         Improves the resulting doc in MODULES.html.
54836
54837 2008-07-12  Ben Pfaff  <blp@gnu.org>
54838
54839         Add longlong module.
54840         * modules/longlong: New file.
54841
54842 2008-07-12  Bruno Haible  <bruno@clisp.org>
54843
54844         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
54845         to empty.
54846
54847 2008-07-10  Ben Pfaff  <blp@gnu.org>
54848
54849         Add isnan module.
54850         * doc/posix-functions/isnan.texi: Mention new module.
54851         * lib/math.in.h: Define isnan macro if we have decided to replace
54852         it.
54853         * m4/isnan.m4: New file.
54854         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
54855         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
54856         also.
54857         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
54858         redundancy.
54859         * m4/math_h.m4: Initialize and substitute variables for isnan
54860         module.
54861         * modules/isnan: New file.
54862         * modules/isnan-tests: New file.
54863         * modules/math: Add substitutions for new module.
54864         * tests/test-isnan.c: New file.
54865         * MODULES.html.sh: Mention new module.
54866
54867 2008-07-10  Ben Pfaff  <blp@gnu.org>
54868
54869         Add isnanf module.
54870         * lib/isnanf.m4: New file.
54871         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
54872         (gl_HAVE_ISNANF_IN_LIBM): New macro.
54873         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
54874         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
54875         * modules/isnanf: New file.
54876         * modules/isnanf-tests: New file.
54877         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
54878         files.
54879         * tests/test-isnanf-nolibm.c: factored most of its contents into
54880         new file tests/test-isnanf.h.
54881         * tests/test-isnanf.h: New file.
54882         * tests/test-isnanf.c: New file.
54883         * MODULES.html.sh: Mention new module.
54884         * doc/glibc-functions/isnanf.texi: Mention new module.
54885
54886 2008-07-10  Ben Pfaff  <blp@gnu.org>
54887
54888         Add isnand module.
54889         * lib/isnand.h: New file.
54890         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
54891         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
54892         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
54893         functionality also.
54894         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
54895         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
54896         (gl_HAVE_ISNAND_IN_LIBM): New macro.
54897         * modules/isnand: New file.
54898         * modules/isnand-tests: New file.
54899         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
54900         files.
54901         * tests/test-isnand-nolibm.c: factored most of its contents into
54902         new file tests/test-isnand.h.
54903         * tests/test-isnand.h: New file.
54904         * tests/test-isnand.c: New file.
54905         * MODULES.html.sh: Mention new module.
54906
54907 2008-07-10  Ben Pfaff  <blp@gnu.org>
54908
54909         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
54910         * lib/isnand.h: Rename lib/isnand-nolibm.h.
54911         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
54912         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
54913         * modules/isnanf-nolibm: Update references to renamed files.
54914         * modules/isnand-nolibm: Likewise.
54915         * modules/isnanf-nolibm-tests: Likewise.
54916         * modules/isnand-nolibm-tests: Likewise.
54917         * lib/frexp.c: Likewise.
54918         * lib/isfinite.c: Likewise.
54919         * lib/signbitd.c: Likewise.
54920         * lib/signbitf.c: Likewise.
54921         * lib/vasnprintf.c: Likewise.
54922         * tests/test-ceilf1.c: Likewise.
54923         * tests/test-ceilf2.c: Likewise.
54924         * tests/test-floorf1.c: Likewise.
54925         * tests/test-floorf2.c: Likewise.
54926         * tests/test-frexp.c: Likewise.
54927         * tests/test-round1.c: Likewise.
54928         * tests/test-round2.c: Likewise.
54929         * tests/test-roundf1.c: Likewise.
54930         * tests/test-strtod.c: Likewise.
54931         * tests/test-trunc1.c: Likewise.
54932         * tests/test-trunc2.c: Likewise.
54933         * tests/test-truncf1.c: Likewise.
54934         * tests/test-truncf2.c: Likewise.
54935         * NEWS: Mention the renamed header files.
54936
54937 2008-07-11  Jim Meyering  <meyering@redhat.com>
54938
54939         vc-list-files: make the last-resort awk code more portable
54940         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
54941         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
54942         does not support it.
54943
54944 2008-07-10  Eric Blake  <ebb9@byu.net>
54945
54946         Work with tar's bootstrap.
54947         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
54948         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
54949         an m4 comment.
54950
54951 2008-07-09  Jim Meyering  <meyering@redhat.com>
54952
54953         posix-shell.m4: fix typo that made this test malfunction
54954         * m4/posix-shell.m4: Remove capitalization in variable name.
54955
54956 2008-07-08  Bruno Haible  <bruno@clisp.org>
54957
54958         * m4/onceonly.m4: Update comments.
54959         Reported by Ben Pfaff <blp@cs.stanford.edu>.
54960
54961 2008-07-04  Jim Meyering  <meyering@redhat.com>
54962
54963         * users.txt: Add vc-dwim.
54964         (bison, coreutils): Use the gitweb URL.
54965
54966 2008-07-03  Jim Meyering  <meyering@redhat.com>
54967
54968         * users.txt: Add libffcall.  From Sam Steingold.
54969
54970 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
54971
54972         getdate.y: do not ignore TZ with relative day, month or year offset
54973         * lib/getdate.y (get_date): Move the tz-handling block to follow the
54974         relative-date-handling, since otherwise, the latter would clobber the
54975         sole output (an updated Start value) of the tz-handling block.
54976         * tests/test-getdate.c: Tests for the fix
54977
54978 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54979
54980         Recognize 'foo_LIBRARIES += libgnu.a'.
54981         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
54982         makefile snippet has already specified an installation location,
54983         also using '+='.
54984
54985 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
54986
54987         getdate.y: factor out common actions
54988         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
54989         Use them in place of open-coded actions.
54990
54991 2008-07-01  Simon Josefsson  <simon@josefsson.org>
54992
54993         Add self-test for getdate module.
54994         * modules/getdate-tests: New file.
54995         * tests/test-getdate.c: New file.
54996
54997 2008-06-29  Bruno Haible  <bruno@clisp.org>
54998
54999         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55000         .gitignore.
55001         Reported by Sylvain Beucler <beuc@beuc.net>.
55002
55003 2008-06-29  Bruno Haible  <bruno@clisp.org>
55004
55005         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55006         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55007
55008 2008-06-29  Bruno Haible  <bruno@clisp.org>
55009
55010         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55011         EXTRA_DIST.
55012         Reported by Sylvain Beucler <beuc@beuc.net>.
55013
55014 2008-06-26  Jim Meyering  <meyering@redhat.com>
55015
55016         make several modules depend on the "open" module
55017         This provides slightly increased consistency when opening-for-write
55018         the name of a non-directory spelled with a trailing slash.
55019         * modules/chdir-safer: Likewise.
55020         * modules/chown: Likewise.
55021         * modules/clean-temp: Likewise.
55022         * modules/copy-file: Likewise.
55023         * modules/fchdir: Likewise.
55024         * modules/fcntl-safer: Likewise.
55025         * modules/pipe: Likewise.
55026         * modules/utime: Likewise.
55027         Prompted by Eric Blake and Bruno Haible.
55028
55029 2008-06-24  Andreas Schwab  <schwab@suse.de>
55030
55031         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55032         literals can be used as initializers for global variables.
55033
55034 2008-06-23  Eric Blake  <ebb9@byu.net>
55035
55036         Make gnulib-cache.m4 easier to diff.
55037         * gnulib-tool (func_import): Allow newlines when reading cached
55038         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55039
55040 2008-06-23  Bruno Haible  <bruno@clisp.org>
55041
55042         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55043         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55044         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55045         m4/signalblocking.m4.
55046         (gl_PREREQ_SIGACTION): Don't invoke it.
55047         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55048         gl_PREREQ_SIG_HANDLER_H.
55049         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55050         Don't check for sigaction here.
55051
55052 2008-06-23  Bruno Haible  <bruno@clisp.org>
55053
55054         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55055         (install_handlers): Don't set the SA_RESETHAND flag.
55056
55057 2008-06-23  Bruno Haible  <bruno@clisp.org>
55058
55059         * m4/sigaction.m4: Comment fixes.
55060         * lib/signal.in.h: Likewise.
55061
55062 2008-06-23  Eric Blake  <ebb9@byu.net>
55063
55064         Fix typo.
55065         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55066
55067         Avoid SA_ namespace.
55068         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55069         Reported by Ralf Wildenhues.
55070
55071         Avoid test failure due to SA_RESTORER.
55072         * tests/test-sigaction.c (SA_MASK): New macro.
55073         (main): Avoid failing due to extension flags being set.
55074         Reported by Jim Meyering.
55075
55076         Revert use of sig-handler.h in sigprocmask.c.
55077         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55078         it requires the existence of struct sigaction.
55079         * lib/sigprocmask.c (handler_t): Restore typedef.
55080         (rpl_signal, old_handlers): Use local type.
55081
55082 2008-06-22  Bruno Haible  <bruno@clisp.org>
55083
55084         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55085         conditionally.
55086         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55087
55088 2008-06-22  Bruno Haible  <bruno@clisp.org>
55089
55090         * doc/posix-functions/siginterrupt.texi: Move note.
55091
55092         * lib/signal.in.h (SA_RESTART): New macro.
55093         * lib/sigaction.c: Update comment.
55094
55095         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55096
55097         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55098         (gl_PREREQ_SIGPROCMASK): Invoke it.
55099         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55100
55101         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55102
55103         * lib/sigprocmask.c: Update a comment.
55104
55105 2008-06-21  Eric Blake  <ebb9@byu.net>
55106
55107         Use sigaction module rather than signal().
55108         * modules/c-stack (Depends-on): Add sigaction.
55109         * modules/fatal-signal (Depends-on): Likewise.
55110         * modules/nanosleep (Depends-on): Likewise.
55111         * modules/sigprocmask (Files): Add sig-handler.h.
55112         * modules/sigaction (Files): Likewise.
55113         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55114         Eggert.
55115         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55116         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55117         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55118         (init_fatal_signals): Likewise.
55119         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55120         (siginterrupt): Delete fallback.
55121         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55122         instead.
55123         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55124         siginterrupt.
55125
55126         New module sigaction, for mingw.
55127         * modules/sigaction: New module...
55128         * modules/sigaction-tests: ...and its test.
55129         * m4/sigaction.m4: New file.
55130         * lib/sigaction.c: Likewise.
55131         * tests/test-sigaction.c: Likewise.
55132         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55133         * modules/signal (Makefile.am): Likewise.
55134         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55135         needed.
55136         * doc/posix-headers/signal.texi (signal.h): Mention provided
55137         types.
55138         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55139         that sigaction is preferable.
55140         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55141         module.
55142         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55143         sigaction.
55144
55145         Improve robustness of sigprocmask by overriding signal.
55146         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55147         is in use.
55148         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55149         (SIGKILL, SIGSTOP): Provide fallbacks.
55150         (rpl_signal): Implement.
55151         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55152         signal can be called inside handlers.
55153
55154         Fix nanosleep module on mingw.
55155         * modules/nanosleep (Depends-on): Add sys_select.
55156         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55157
55158         Fix licensing of sigprocmask.
55159         * modules/raise (License): Relicense as LGPL.
55160
55161 2008-06-21  Bruno Haible  <bruno@clisp.org>
55162
55163         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55164         result if it contains question marks.
55165         Reported by Michael Geng <linux@michaelgeng.de>.
55166
55167 2008-06-19  Bruno Haible  <bruno@clisp.org>
55168
55169         Fix CVS-ism.
55170         * doc/gnulib.texi: Include updated-stamp.texi.
55171         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
55172         (updated-stamp.texi): New rule.
55173         (gnulib.info): Depend on it.
55174         * doc/.gitignore: Add updated-stamp.texi.
55175         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
55176
55177 2008-06-19  Bruno Haible  <bruno@clisp.org>
55178
55179         * doc/Makefile (gnulib.info): Update and simplify dependencies.
55180         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55181
55182 2008-06-19  Eric Blake  <ebb9@byu.net>
55183
55184         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
55185         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
55186         Reported by Stepan Kasal.
55187
55188 2008-06-18  Bruno Haible  <bruno@clisp.org>
55189
55190         * lib/fatal-signal.c (init_fatal_signals): Add comment.
55191         Reported by Eric Blake.
55192
55193 2008-06-18  Eric Blake  <ebb9@byu.net>
55194
55195         Work around cygwin 1.5.25 strsignal bug.
55196         * tests/test-strsignal.c: Allow for const char *.
55197         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
55198
55199 2008-06-18  Simon Josefsson  <simon@josefsson.org>
55200
55201         * users.txt: Update URL to article and add author/date
55202         information.
55203
55204 2008-06-17  Bruno Haible  <bruno@clisp.org>
55205
55206         New macro gl_DISABLE_THREADS.
55207         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
55208         if the user did not pass --enable-threads or --disable-threads option.
55209         (gl_DISABLE_THREADS): New macro.
55210         Reported by Eric Blake <ebb9@byu.net>.
55211
55212 2008-06-17  Bruno Haible  <bruno@clisp.org>
55213
55214         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
55215         when the macro ignores it.
55216         Based on a patch by Eric Blake <ebb9@byu.net>.
55217
55218 2008-06-17  Bruno Haible  <bruno@clisp.org>
55219
55220         * modules/tls (License): Change to LGPLv2+.
55221         Reported by Eric Blake.
55222
55223 2008-06-17  Eric Blake  <ebb9@byu.net>
55224
55225         Simplify c-stack prerequisites.
55226         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
55227         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
55228         no longer requires <ucontext.h> to exist.  Optimize setrlimit
55229         check.
55230         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
55231         <sys/resource.h>.
55232
55233         Move c-stack test into testsuite.
55234         * modules/c-stack-tests: New file.
55235         * lib/c-stack.c [DEBUG]: Move test program...
55236         * tests/test-c-stack.c: ...into this new file.  Skip rather than
55237         fail test if sigaltstack is lacking.
55238         * tests/test-c-stack.sh: New driver file.
55239
55240 2008-06-16  Eric Blake  <ebb9@byu.net>
55241
55242         Use raise module consistently.
55243         * modules/fatal-signal (Depends-on): Add raise.
55244         * modules/sigprocmask (Depends-on): Likewise.
55245         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
55246         * lib/sigprocmask.c (sigprocmask): Likewise.
55247         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55248         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
55249
55250         Fix compliance bug in sigpending.
55251         * lib/sigprocmask.c (sigpending): Return pending array via
55252         parameter, not return value.
55253
55254 2008-06-14  Eric Blake  <ebb9@byu.net>
55255
55256         Improve obstack-printf test code.
55257         * tests/test-obstack-printf.c (test_function): Fix comment, and
55258         simplify usage of obstack_* in macros.  Add a test for coverage.
55259         Reported by Bruno Haible.
55260
55261 2008-06-14  Bruno Haible  <bruno@clisp.org>
55262
55263         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
55264         array size as a constant, not as a const variable.
55265         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
55266         AC_USE_SYSTEM_EXTENSIONS.
55267         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
55268         Test whether the obstack_printf function actually exists.
55269         * modules/obstack-printf (Depends-on): Add extensions.
55270         (Include): Remove obstack.h.
55271         * modules/obstack-printf-posix (Depends-on): Add extensions.
55272         (Include): Remove obstack.h.
55273
55274 2008-06-13  Eric Blake  <ebb9@byu.net>
55275
55276         Add obstack-printf and obstack-printf-posix modules.
55277         * modules/obstack-printf: New file.
55278         * modules/obstack-printf-posix: Likewise.
55279         * MODULES.html.sh (Misc): Mention them.
55280         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
55281         Likewise.
55282         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
55283         Likewise.
55284         * modules/stdio (Makefile.am): Accomodate new modules.
55285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55286         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
55287         Declare.
55288         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
55289         functions.
55290         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
55291         (gl_REPLACE_OBSTACK_PRINTF): New macros
55292         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
55293         * tests/test-obstack-printf.c: New file.
55294         * modules/obstack-printf-tests: Likewise.
55295         * modules/obstack-printf-posix-tests: Likewise.
55296
55297 2008-06-11  Bruno Haible  <bruno@clisp.org>
55298
55299         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
55300         * lib/open.c: Include errno.h.
55301         (open): Fail when attempting to write to a file that has a trailing
55302         slash.
55303         * tests/test-open.c (main): Test against trailing slash bug.
55304         * doc/posix-functions/open.texi: Mention the trailing slash bug.
55305
55306 2008-06-10  Bruno Haible  <bruno@clisp.org>
55307
55308         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
55309         for $? to work inside the trap command, with various /bin/sh-s.
55310         * tests/test-vc-list-files-cvs.sh: Likewise.
55311
55312 2008-06-10  Bruno Haible  <bruno@clisp.org>
55313
55314         * lib/acl-internal.h: Don't include gettext.h here.
55315         * lib/set-mode-acl.c: Include gettext.h here.
55316         * lib/copy-acl.c: Likewise.
55317
55318 2008-06-10  Bruno Haible  <bruno@clisp.org>
55319
55320         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
55321         * lib/wait-process.c (wait_subprocess): Likewise.
55322         * lib/execute.h (execute): Add termsigp argument.
55323         * lib/execute.c (execute): Likewise.
55324         * lib/csharpcomp.c (compile_csharp_using_pnet,
55325         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
55326         * lib/csharpexec.c (execute_csharp_using_pnet,
55327         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
55328         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
55329         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
55330         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
55331         is_jikes_present): Update.
55332         * lib/javaexec.c (execute_java_class): Update.
55333         * lib/javaversion.c (execute_and_read_line): Update.
55334         * NEWS: Document the changes.
55335         Reported by Eric Blake.
55336
55337 2008-06-10  Eric Blake  <ebb9@byu.net>
55338
55339         Add missing include.
55340         * tests/test-strstr.c (includes): Add <signal.h>.
55341         * tests/test-strcasestr.c (includes): Likewise.
55342         * tests/test-memmem.c (includes): Likewise.
55343
55344 2008-06-10  Bruno Haible  <bruno@clisp.org>
55345
55346         * lib/wait-process.c (wait_subprocess): Add an assertion.
55347
55348 2008-06-10  Bruno Haible  <bruno@clisp.org>
55349
55350         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
55351
55352 2008-06-10  Bruno Haible  <bruno@clisp.org>
55353
55354         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
55355         using alarm().
55356         * tests/test-strcasestr.c (main): Likewise.
55357         * tests/test-strstr.c (main): Likewise.
55358
55359 2008-06-09  Bruno Haible  <bruno@clisp.org>
55360
55361         Work around the Solaris 10 ACE ACLs ABI change.
55362         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
55363         declare if ACL_NO_TRIVIAL is present.
55364         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
55365         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
55366         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
55367         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
55368         define if ACL_NO_TRIVIAL is present.
55369         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
55370         and use the current ABI.
55371         (file_has_acl): Use same #if condition as elsewhere.
55372         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
55373         in use, and use the current ABI.
55374         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
55375         Reported by Jim Meyering.
55376
55377 2008-06-09  Eric Blake  <ebb9@byu.net>
55378
55379         Work around environments that (stupidly) ignore SIGALRM.
55380         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
55381         before using alarm().
55382         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55383         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
55384         Reported by Ian Beckwith <ianb@erislabs.net>.
55385
55386         Produce autobuild blurb earlier in log.
55387         * modules/autobuild (configure.ac-early): Move AB_INIT here.
55388
55389 2008-06-09  Jim Meyering  <meyering@redhat.com>
55390         and OndÅ™ej Vašík  <ovasik@redhat.com>
55391
55392         utimens.c: correct kernel bug work-around
55393         OndÅ™ej Vašík found that the invalid return value of 280 indicates
55394         failure, not success, and the kernel bug we're trying to work
55395         around affects not just the utimensat call, but also the fallback
55396         futimens call.
55397         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
55398         not success.
55399         [HAVE_FUTIMENS]: Use the same work-around, here.
55400
55401 2008-06-09  Jim Meyering  <meyering@redhat.com>
55402
55403         add more guards around definition of ACE_-related code
55404         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
55405         ALLOW and ACE_OWNER are also defined.
55406
55407 2008-06-08  Bruno Haible  <bruno@clisp.org>
55408
55409         * lib/acl-internal.h: Add me as co-author.
55410         * lib/file-has-acl.c: Likewise.
55411         * lib/set-mode-acl.c: Likewise.
55412         * lib/copy-acl.c: Likewise.
55413
55414 2008-06-08  Bruno Haible  <bruno@clisp.org>
55415
55416         Add support for AIX ACLs.
55417         * lib/acl-internal.h (acl_nontrivial): New declaration.
55418         * lib/file-has-acl.c (acl_nontrivial): New function.
55419         (file_has_acl): Add implementation using AIX 4 ACL API.
55420         * lib/set-mode-acl.c (qset_acl): Likewise.
55421         * lib/copy-acl.c (qcopy_acl): Likewise.
55422
55423 2008-06-08  Bruno Haible  <bruno@clisp.org>
55424
55425         Add support for HP-UX ACLs.
55426         * lib/acl-internal.h (acl_nontrivial): New declaration.
55427         * lib/file-has-acl.c (acl_nontrivial): New function.
55428         (file_has_acl): Add implementation using HP-UX 11 ACL API.
55429         * lib/set-mode-acl.c (qset_acl): Likewise.
55430         * lib/copy-acl.c (qcopy_acl): Likewise.
55431
55432 2008-06-08  Bruno Haible  <bruno@clisp.org>
55433
55434         Add support for Cygwin ACLs.
55435         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
55436         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
55437         the chmod_or_fchmod call.
55438         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
55439
55440 2008-06-08  Bruno Haible  <bruno@clisp.org>
55441
55442         Fix bug with setuid modes in Solaris 10+ code.
55443         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
55444         succeeded, when the mode contains some special bits.
55445
55446 2008-06-08  Bruno Haible  <bruno@clisp.org>
55447
55448         Add support for Solaris 7..10 ACLs.
55449         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
55450         declarations.
55451         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
55452         functions.
55453         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
55454         * lib/set-mode-acl.c (qset_acl): Likewise.
55455         * lib/copy-acl.c (qcopy_acl): Likewise.
55456
55457 2008-06-08  Bruno Haible  <bruno@clisp.org>
55458
55459         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
55460         declaration.
55461         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
55462         (acl_access_nontrivial): Remove MacOS X case.
55463         (file_has_acl): Use acl_extended_nontrivial.
55464         * lib/copy-acl.c (qcopy_acl): Likewise.
55465
55466 2008-06-08  Bruno Haible  <bruno@clisp.org>
55467
55468         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
55469
55470 2008-06-08  Jim Meyering  <meyering@redhat.com>
55471
55472         * modules/acl (Maintainer): Add Bruno Haible.
55473
55474 2008-06-07  Bruno Haible  <bruno@clisp.org>
55475
55476         Improve support for Tru64 ACLs.
55477         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
55478         ACL on OSF/1.
55479
55480 2008-06-07  Bruno Haible  <bruno@clisp.org>
55481
55482         Add support for MacOS X ACLs.
55483         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
55484         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
55485         * lib/set-mode-acl.c (qset_acl): Likewise.
55486         * lib/copy-acl.c (qcopy_acl): Likewise.
55487
55488 2008-06-07  Bruno Haible  <bruno@clisp.org>
55489
55490         Fix memory leak introduced on 2008-05-22.
55491         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
55492         use.
55493
55494 2008-06-07  Bruno Haible  <bruno@clisp.org>
55495
55496         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
55497         to construct an empty ACL.
55498
55499 2008-06-07  Bruno Haible  <bruno@clisp.org>
55500
55501         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
55502         precisely.
55503         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
55504
55505 2008-06-07  Bruno Haible  <bruno@clisp.org>
55506
55507         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
55508         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
55509
55510 2008-06-07  Bruno Haible  <bruno@clisp.org>
55511
55512         * doc/posix-functions/_setjmp.texi: Explain the use of this function
55513         regardless of POSIX.
55514         * doc/posix-functions/_longjmp.texi: Likewise.
55515         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
55516         SystemV platform in this case.
55517
55518 2008-06-06  Eric Blake  <ebb9@byu.net>
55519
55520         Document abort() bugs.
55521         * doc/posix-functions/abort.texi (abort): Mention anomalies.
55522
55523         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
55524         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
55525         sigsetjmp.
55526         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
55527         siglongjmp, but only as a macro.
55528         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
55529         is obsolete.
55530         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
55531
55532         Tweak documentation to cover cygwin argz bugs.
55533         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
55534         argz bug fix; no code change needed since no cygwin releases
55535         occurred between the last fix and the bug being tested.
55536         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
55537         module and recently fixed cygwin bugs.
55538         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
55539         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
55540         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
55541         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
55542         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
55543         Likewise.
55544         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
55545         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
55546         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
55547         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
55548         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
55549         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
55550         Likewise.
55551
55552         Avoid gcc warning on cygwin.
55553         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
55554         !ACL_NO_TRIVIAL]: Avoid unused variable.
55555
55556 2008-06-05  Eric Blake  <ebb9@byu.net>
55557
55558         Be tolerant of UNKNOWN version in gnulib-tool test dir.
55559         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
55560         git-version-gen fails to come up with a version.
55561         Reported by Simon Josefsson.
55562
55563 2008-06-05  Jim Meyering  <meyering@redhat.com>
55564             Paul Eggert  <eggert@cs.ucla.edu>
55565
55566         utimens.c: work around a probable Linux kernel bug
55567         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
55568         appears to be a kernel bug that causes utimensat to return 280
55569         instead of 0, indicating success.
55570
55571 2008-06-04  Bruno Haible  <bruno@clisp.org>
55572
55573         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
55574         2008-06-01 commit.
55575
55576 2008-06-04  Bruno Haible  <bruno@clisp.org>
55577
55578         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
55579         * lib/file-has-acl.c (acl_access_nontrivial): New function.
55580         (file_has_acl): Use it. Save errno afterwards.
55581         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
55582
55583 2008-06-03  Bruno Haible  <bruno@clisp.org>
55584
55585         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
55586         draft code. Simplify #ifs.
55587         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
55588         Put Solaris code after POSIX-draft code. Fix comments regarding
55589         Solaris 10, HP-UX. Mention Cygwin.
55590         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
55591
55592 2008-06-03  Eric Blake  <ebb9@byu.net>
55593
55594         Provide fallback for older kernels.
55595         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
55596         Provide runtime fallback if kernel lacks support.
55597         Reported by Mike Frysinger.
55598
55599 2008-06-02  Bruno Haible  <bruno@clisp.org>
55600
55601         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
55602         it exists.
55603
55604 2008-06-02  Bruno Haible  <bruno@clisp.org>
55605
55606         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
55607         * lib/copy-acl.c (qcopy_acl): Update comment.
55608
55609 2008-06-02  Bruno Haible  <bruno@clisp.org>
55610
55611         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
55612         like ACL APIs.
55613
55614 2008-06-02  Bruno Haible  <bruno@clisp.org>
55615
55616         * tests/test-file-has-acl.sh: Use different code for Cygwin.
55617         * tests/test-set-mode-acl.sh: Likewise.
55618         * tests/test-copy-acl.sh: Likewise.
55619         * tests/test-copy-file.sh: Likewise.
55620
55621 2008-06-02  Bruno Haible  <bruno@clisp.org>
55622
55623         * tests/test-file-has-acl.sh: Remove unused code.
55624
55625 2008-06-01  Bruno Haible  <bruno@clisp.org>
55626
55627         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
55628         (copy_acl): Just a wrapper around qcopy_acl that emits the error
55629         messages.
55630         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
55631
55632 2008-06-01  Bruno Haible  <bruno@clisp.org>
55633
55634         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
55635         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
55636         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
55637         APIs.
55638         * modules/acl-tests (configure.ac): Remove tests now contained in
55639         m4/acl.m4.
55640
55641 2008-06-02  Jim Meyering  <meyering@redhat.com>
55642
55643         announce-gen: use a better key-server host name
55644         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
55645         it may be more consistently reliable.  Suggested by Werner Koch
55646         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
55647
55648 2008-06-01  Bruno Haible  <bruno@clisp.org>
55649
55650         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
55651         Reported by Voroskoi Andras <voroskoi@gmail.com>.
55652
55653 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
55654
55655         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
55656
55657 2008-06-01  Bruno Haible  <bruno@clisp.org>
55658
55659         New ACL tests.
55660         * tests/test-file-has-acl.sh: New file.
55661         * tests/test-file-has-acl.c: New file.
55662         * tests/test-set-mode-acl.sh: New file.
55663         * tests/test-set-mode-acl.c: New file.
55664         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
55665         * tests/test-copy-acl.c: New file.
55666         * modules/acl-tests: New file, based on modules/copy-file-tests.
55667         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
55668         (Depends-on): Add acl-tests.
55669         (configure.ac): Remove checks.
55670         (Makefile.am): Don't create test-sameacls program here any more.
55671
55672 2008-06-01  Bruno Haible  <bruno@clisp.org>
55673
55674         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
55675         * tests/test-sameacls.c: Include progname.h.
55676         (main): Invoke set_program_name. Portability fixes for MacOS X,
55677         Solaris, HP-UX.
55678
55679 2008-06-01  Bruno Haible  <bruno@clisp.org>
55680
55681         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
55682         function.
55683         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
55684
55685 2008-06-01  Bruno Haible  <bruno@clisp.org>
55686
55687         * modules/rpmatch (Depends-on): Add strdup.
55688
55689 2008-06-01  Bruno Haible  <bruno@clisp.org>
55690
55691         * lib/pipe.c: Include unistd-safer.h.
55692         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
55693         * modules/pipe (Depends-on): Add unistd-safer.
55694
55695 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55696
55697         * modules/autobuild (configure.ac): Call AB_INIT.
55698
55699 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55700
55701         * tests/test-getaddrinfo.c: Don't print debug messages by default.
55702         Suggested by Bruno Haible <bruno@clisp.org>.
55703
55704 2008-05-30  Simon Josefsson  <simon@josefsson.org>
55705
55706         * tests/test-base64.c: Cast size_t to unsigned long when invoking
55707         printf.  Use %lu instead of %d.  Reported by Bruno Haible
55708         <bruno@clisp.org>.
55709
55710 2008-05-29  Eric Blake  <ebb9@byu.net>
55711
55712         Prefer new POSIX 200x interfaces over futimesat.
55713         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
55714         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
55715         when available.
55716         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
55717
55718 2008-05-28  Bruno Haible  <bruno@clisp.org>
55719
55720         * modules/stpcpy (License): Change to LGPLv2+.
55721         Requested by David Lutterkort <dlutter@redhat.com>.
55722
55723 2008-05-27  Bruno Haible  <bruno@clisp.org>
55724
55725         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
55726         current mingw.
55727         Reported by Jose E. Marchesi <jemarch@gnu.org>.
55728
55729 2008-05-27  Bruno Haible  <bruno@clisp.org>
55730
55731         * modules/iconv_open (Link): New section, from module 'iconv'.
55732         * modules/striconv (Link): Likewise.
55733         * modules/striconveh (Link): Likewise.
55734         * modules/xstriconv (Link): Likewise.
55735         * modules/unicodeio (Link): Likewise.
55736         * modules/propername (Link): Likewise.
55737         Reported by Jim Meyering.
55738
55739 2008-05-26  Jim Meyering  <meyering@redhat.com>
55740
55741         sha256: do not artificially restrict buffer length to be < 2^32
55742         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
55743         uint32_t to size_t.
55744         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
55745         to match.
55746
55747         avoid unaligned access errors, e.g., on sparc
55748         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
55749         direct access through a possibly-unaligned uint64* pointer.
55750         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
55751         direct access through a possibly-unaligned uint32* pointer.
55752         Prompted by this patch from Tom "spot" Callaway:
55753         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
55754
55755         sha512.c: fix typo in comment
55756         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
55757
55758 2008-05-25  Bruno Haible  <bruno@clisp.org>
55759
55760         * lib/set-mode-acl.c: Renamed from lib/acl.c.
55761         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
55762         (Makefile.am): Update lib_SOURCES.
55763
55764 2008-05-25  Bruno Haible  <bruno@clisp.org>
55765
55766         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
55767
55768 2008-05-25  Jim Meyering  <meyering@redhat.com>
55769
55770         useless-if-before-free: freed expr may have white-space differences
55771         * build-aux/useless-if-before-free: Recognize cases in which the
55772         freed expression differs from the tested one in embedded white
55773         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
55774         $1 was used, so we can't make any regexp shy.  Improved tests now
55775         detect this.
55776
55777         useless-if-before-free: accept white space in the expression.
55778         * build-aux/useless-if-before-free: For now, any white space
55779         in the expression must be identical in the free argument.
55780
55781         useless-if-before-free: efficiency tweak
55782         * build-aux/useless-if-before-free: Make the expression-matching
55783         regexp "shy".
55784         Make the *outer* regexp shy, not the expr-matching one.
55785
55786         update code-in-comment to accept cast of free arg
55787         * build-aux/useless-if-before-free: Update regexp.
55788
55789 2008-05-25  Bruno Haible  <bruno@clisp.org>
55790
55791         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
55792         * modules/copy-file-tests (Files, Makefile.am): Update.
55793         * tests/test-copy-file.c (func_test_copy): Update.
55794
55795 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
55796
55797         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
55798
55799 2008-05-23  Bruno Haible  <bruno@clisp.org>
55800
55801         Improve support for ACLs on OSF/1.
55802         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
55803         Remove fallback for unknown flavors of ACLs.
55804
55805 2008-05-22  Bruno Haible  <bruno@clisp.org>
55806
55807         Add support for ACLs on OSF/1.
55808         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
55809         replacements.
55810         (acl_free_text): New macro fallback.
55811         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
55812         acl_free.
55813         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
55814         acl_free_text function. Require AC_C_INLINE.
55815
55816 2008-05-22  Bruno Haible  <bruno@clisp.org>
55817
55818         Make copy_acl work on MacOS X 10.5.
55819         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
55820         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
55821         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
55822         If MODE_INSIDE_ACL, don't assume that every system has the same text
55823         representation for ACLs as FreeBSD.
55824         * lib/copy-acl.c (copy_acl): Add support for platforms with
55825         !MODE_INSIDE_ACL.
55826         * lib/file-has-acl.c (file_has_acl): Likewise.
55827         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
55828         FreeBSD, MacOS X, or IRIX, respectively.
55829
55830 2008-05-22  Bruno Haible  <bruno@clisp.org>
55831
55832         * lib/acl.h: Don't include <sys/acl.h>.
55833         (GETACLCNT): Move fallback to lib/acl-internal.h.
55834         * lib/acl-internal.h: Include <sys/acl.h> here.
55835         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
55836
55837 2008-05-22  Bruno Haible  <bruno@clisp.org>
55838
55839         Split off copy_acl function to separate file.
55840         * lib/copy-acl.c: New file, extracted from lib/acl.c.
55841         * lib/acl.c (copy_acl): Moved function to separate file.
55842         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
55843         * modules/acl (Files): Add lib/copy-acl.c.
55844         (Makefiles.am): Augment lib_SOURCES.
55845
55846 2008-05-22  Bruno Haible  <bruno@clisp.org>
55847
55848         * modules/copy-file-tests: New file.
55849         * tests/test-copy-file.sh: New file.
55850         * tests/test-copy-file.c: New file.
55851         * tests/test-copy-file-sameacls.c: New file.
55852
55853 2008-05-22  Eric Blake  <ebb9@byu.net>
55854
55855         Avoid gcc warning.
55856         * tests/test-memcmp.c (main): Pass NULL indirectly.
55857
55858 2008-05-21  Bruno Haible  <bruno@clisp.org>
55859
55860         Add reference doc about ACLs.
55861         * doc/acl-resources.txt: New file.
55862         * doc/acl-cygwin.txt: New file.
55863
55864 2008-05-21  Bruno Haible  <bruno@clisp.org>
55865
55866         Avoid one more warning from gcc.
55867         * lib/vasnprintf.c (IF_LINT): Update comments.
55868         (VASNPRINTF): Use it also for the 'prefix' array initializer.
55869
55870 2008-05-21  Jim Meyering  <meyering@redhat.com>
55871
55872         avoid a warning from gcc
55873         * lib/vasnprintf.c (IF_LINT): Define.
55874         (scale10_round_decimal_long_double):
55875         Use it to avoid a "may be used uninitialized" warning.
55876         (scale10_round_decimal_double): Likewise.
55877
55878 2008-05-21  Simon Josefsson  <simon@josefsson.org>
55879
55880         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
55881         declared.
55882
55883 2008-05-20  Bruno Haible  <bruno@clisp.org>
55884
55885         * tests/test-memcmp.c (main): Test also the sign of the result. Test
55886         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
55887
55888 2008-05-20  Simon Josefsson  <simon@josefsson.org>
55889
55890         * modules/memcmp-tests: New file.
55891         * tests/test-memcmp.c: New file.
55892
55893 2008-05-19  Bruno Haible  <bruno@clisp.org>
55894
55895         * modules/propername (Notice, configure.ac): Put quoted "..." into
55896         --keyword option.
55897         * lib/propername.h: Update comments accordingly.
55898         Reported by Eric Blake.
55899
55900 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
55901
55902         * modules/getpass-gnu (Depends-on): Add fseeko.
55903
55904 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55905
55906         * modules/base64-tests: New file.
55907
55908 2008-05-19  Bo Borgerson <gigabo@gmail.com>
55909
55910         * lib/base64.c (base64_decode_ctx): If a decode context structure
55911         was passed in use it to ignore newlines.  If a context structure
55912         was _not_ passed in, continue to treat newlines as garbage (this
55913         is the historical behavior).  Formerly base64_decode.
55914         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55915         takes a decode context structure.
55916         * lib/base64.h (base64_decode): Macro for four-argument calls.
55917         (base64_decode_alloc): Likewise.
55918         * lib/base64.c (base64_decode_ctx): If a decode context structure
55919         was passed in use it to ignore newlines.  If a context structure
55920         was _not_ passed in, continue to treat newlines as garbage (this
55921         is the historical behavior).  Formerly base64_decode.
55922         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
55923         takes a decode context structure.
55924         * lib/base64.h (base64_decode): Macro for four-argument calls.
55925         (base64_decode_alloc): Likewise.
55926
55927 2008-05-19  Jim Meyering  <meyering@redhat.com>
55928
55929         avoid a warning from gcc
55930         * lib/trim.c (IF_LINT): Define.
55931         (trim2): Use it to avoid a "may be used uninitialized" warning.
55932
55933         Fix doc typo.
55934         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
55935
55936 2008-05-19  Bruno Haible  <bruno@clisp.org>
55937
55938         * doc/glibc-functions/getpass.texi: Document limits of other
55939         implementations.
55940
55941 2008-05-19  Simon Josefsson  <simon@josefsson.org>
55942             Bruno Haible <bruno@clisp.org>
55943
55944         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
55945
55946 2008-05-18  Bruno Haible  <bruno@clisp.org>
55947
55948         * modules/propername: New file, from GNU gettext.
55949         * lib/propername.h: New file, from GNU gettext.
55950         * lib/propername.c: New file, from GNU gettext.
55951         * MODULES.html.sh (Internationalization functions): Add propername.
55952
55953 2008-05-16  Jim Meyering  <meyering@redhat.com>
55954             Bruno Haible  <bruno@clisp.org>
55955
55956         Avoid some warnings from "gcc -Wshadow".
55957         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
55958
55959 2008-05-15  Eric Blake  <ebb9@byu.net>
55960
55961         Extend previous patch to cygwin 1.7.0.
55962         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
55963         fast implementation in cygwin >= 1.7.0.
55964         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55965         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55966
55967 2008-05-15  Bruno Haible  <bruno@clisp.org>
55968
55969         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
55970         implementation in glibc >= 2.9.
55971         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
55972         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
55973
55974 2008-05-15  Bruno Haible  <bruno@clisp.org>
55975
55976         * MODULES.html.sh (Internationalization functions): Remove linebreak.
55977         (Unicode string functions): Add unilbrk/*.
55978         Reported by Karl Berry.
55979
55980 2008-05-15  Eric Blake  <ebb9@byu.net>
55981
55982         Fix violation of <stdbool.h> replacement in regex.
55983         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
55984         * lib/regexec.c (re_search_internal): Likewise.
55985         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
55986
55987 2008-05-15  Jim Meyering  <meyering@redhat.com>
55988
55989         avoid distracting test output when git or cvs is not found
55990         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
55991         * tests/test-vc-list-files-git.sh: Likewise.
55992
55993 2008-05-15  Eric Blake  <ebb9@byu.net>
55994
55995         Glibc finally accepted the memmem speedup code, bugzilla #5514.
55996         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
55997         glibc version.
55998         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
55999         * doc/posix-functions/strstr.texi (strstr): Likewise.
56000         * lib/str-two-way.h (MAX): Sychronize with glibc.
56001
56002 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56003
56004         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56005         opr.ctx_type.
56006         (calc_first): Initialize constraint field.
56007         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56008         Fix grammar.
56009         (duplicate_node): Merge constraint field for all node types.
56010         (calc_eclosure_iter): Look at constraint field for all node types.
56011         * lib/regex_internal.c (create_cd_newstate): Don't look at
56012         opr.ctx_type.
56013
56014 2008-05-14  Bruno Haible  <bruno@clisp.org>
56015
56016         Help GCC to do better code generation.
56017         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56018         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56019         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56020         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56021         Declare with attribute 'malloc' if supported.
56022
56023 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56024
56025         use "echo STR|wc -c" rather than unportable "expr length STR"
56026         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56027         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56028
56029 2008-05-14  Jim Meyering  <meyering@redhat.com>
56030
56031         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56032         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56033         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56034         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56035         via Collin Lasse.
56036
56037 2008-05-14  Eric Blake  <ebb9@byu.net>
56038
56039         Avoid quadratic growth in gl_LIBSOURCES.
56040         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56041         Suggested by Bruno Haible.
56042
56043         Test xmemdup0.
56044         * modules/xmemdup0-tests: New file.
56045         * tests/test-xmemdup0.c: Likewise.
56046
56047 2008-05-13  Eric Blake  <ebb9@byu.net>
56048
56049         Split xmemdup0 into its own module.
56050         * modules/xmemdup0: New file.
56051         * lib/xmemdup0.h: Likewise.
56052         * lib/xmemdup0.c: Likewise.
56053         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56054         * lib/xalloc.h (xmemdup0): Remove.
56055         * lib/xmalloc.c (xmemdup0): Likewise.
56056
56057 2008-05-13  Eric Blake  <ebb9@byu.net>
56058             Bruno Haible  <bruno@clisp.org>
56059
56060         Reduce number of forks required during autoconf.
56061         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56062         and gl_LIBSOURCES_DIR.
56063         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56064         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56065         m4_syscmd per file.
56066         <m4_foreach_w>: Move...
56067         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56068
56069 2008-05-13  Eric Blake  <ebb9@byu.net>
56070
56071         * gnulib-tool: Fix various comment typos.
56072
56073 2008-05-12  Bruno Haible  <bruno@clisp.org>
56074
56075         Tailor the linebreaking algorithm.
56076         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56077
56078 2008-05-12  Bruno Haible  <bruno@clisp.org>
56079
56080         Update to Unicode 5.0.0.
56081         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56082         LBP_JV, LBP_JT. Redistribute values.
56083         (unilbrk_table): Change size.
56084         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56085         Unicode TR#14 rev. 22.
56086         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56087         LBP_JV, LBP_JT. Redistribute values.
56088         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56089         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56090         Update.
56091         * lib/unilbrk/lbrkprop1.h: Regenerated.
56092         * lib/unilbrk/lbrkprop2.h: Regenerated.
56093         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56094         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56095         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56096         Likewise.
56097         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56098         Likewise.
56099         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56100         result.
56101         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56102         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56103         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56104         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56105         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56106         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56107
56108 2008-05-11  Bruno Haible  <bruno@clisp.org>
56109
56110         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56111
56112 2008-05-11  Bruno Haible  <bruno@clisp.org>
56113
56114         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56115         * modules/unilbrk/gen-lbrk: New file.
56116
56117 2008-05-11  Bruno Haible  <bruno@clisp.org>
56118
56119         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56120         * m4/sha512.m4 (gl_SHA512): Likewise.
56121
56122 2008-05-11  Jim Meyering  <meyering@redhat.com>
56123
56124         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56125         * modules/crypto/sha256: New file.
56126         * modules/crypto/sha512: Likewise.
56127         * lib/sha256.c: Likewise.
56128         * lib/sha256.h: Likewise.
56129         * lib/sha512.c: Likewise.
56130         * lib/sha512.h: Likewise.
56131         * lib/u64.h: Likewise.
56132         * m4/sha256.m4: Likewise.
56133         * m4/sha512.m4: Likewise.
56134         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56135
56136 2008-05-10  Bruno Haible  <bruno@clisp.org>
56137
56138         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56139         (Input/Output <stdio.h>): Add xprintf.
56140         (Signal handling <signal.h>): Add strsignal.
56141         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56142         (Core language properties): Add func.
56143         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56144         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56145         strings.
56146         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56147         (Input/output): New section.
56148         (File system functions): Add openat-die, stat-macros.
56149         (Networking functions): Add sockets.
56150         (Unicode string functions): Add unictype/*.
56151         (Support for building libraries and executables): Add gperf.
56152         (Support for building documentation): Add agpl-3.0.
56153         (Misc): Add nocrash.
56154
56155 2008-05-10  Bruno Haible  <bruno@clisp.org>
56156
56157         * modules/unictype/gen-ctype: New file.
56158
56159 2008-05-10  Jim Meyering  <meyering@redhat.com>
56160
56161         Make chdir-safer.c more efficient on a system with no symlinks.
56162         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56163         also if ELOOP is zero.  Suggested by Bruno Haible.
56164
56165         Make chdir-safer.c slightly safer.
56166         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56167         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56168
56169         Avoid compile failure on systems without ELOOP (like mingw).
56170         * lib/chdir-safer.c (ELOOP): Define if not already defined.
56171         Reported by Bruno Haible.
56172
56173 2008-05-10  Bruno Haible  <bruno@clisp.org>
56174
56175         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
56176         (is_utf8_encoding): Use a case-insensitive comparison.
56177         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
56178         streq.
56179
56180 2008-05-10  Bruno Haible  <bruno@clisp.org>
56181
56182         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
56183         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
56184         * lib/unilbrk/ulc-common.h (iconv_string_length,
56185         iconv_string_keeping_offsets): Remove declarations.
56186         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
56187         Don't include <iconv.h>, streq.h, xsize.h.
56188         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
56189         conversion.
56190         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
56191         <iconv.h>, streq.h, xsize.h.
56192         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
56193         conversion.
56194         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
56195         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
56196         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
56197         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
56198
56199 2008-05-10  Bruno Haible  <bruno@clisp.org>
56200
56201         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
56202         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
56203
56204         * modules/unilbrk/u32-width-linebreaks-tests: New file.
56205         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
56206
56207         * modules/unilbrk/u16-width-linebreaks-tests: New file.
56208         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
56209
56210         * modules/unilbrk/u8-width-linebreaks-tests: New file.
56211         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
56212
56213         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
56214         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
56215
56216         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
56217         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
56218
56219         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
56220         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
56221
56222         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
56223         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
56224
56225 2008-05-10  Bruno Haible  <bruno@clisp.org>
56226
56227         Split up 'linebreak' module.
56228         * lib/unilbrk.h: New file, based on lib/linebreak.h.
56229         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
56230         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
56231         modifications.
56232         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
56233         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
56234         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
56235         lib/linebreak.c.
56236         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
56237         lib/linebreak.c.
56238         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
56239         lib/linebreak.c.
56240         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
56241         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
56242         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
56243         lib/linebreak.c.
56244         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
56245         lib/linebreak.c.
56246         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
56247         lib/linebreak.c.
56248         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
56249         lib/linebreak.c.
56250         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
56251         lib/linebreak.c.
56252         * modules/unilbrk/base: New file.
56253         * modules/unilbrk/tables: New file.
56254         * modules/unilbrk/u8-possible-linebreaks: New file.
56255         * modules/unilbrk/u16-possible-linebreaks: New file.
56256         * modules/unilbrk/u32-possible-linebreaks: New file.
56257         * modules/unilbrk/ulc-common: New file.
56258         * modules/unilbrk/ulc-possible-linebreaks: New file.
56259         * modules/unilbrk/u8-width-linebreaks: New file.
56260         * modules/unilbrk/u16-width-linebreaks: New file.
56261         * modules/unilbrk/u32-width-linebreaks: New file.
56262         * modules/unilbrk/ulc-width-linebreaks: New file.
56263         * lib/linebreak.h: Remove file.
56264         * lib/linebreak.c: Remove file.
56265         * m4/linebreak.m4: Remove file.
56266         * modules/linebreak: Remove file.
56267         * NEWS: Mention the changes.
56268
56269 2008-05-09  Eric Blake  <ebb9@byu.net>
56270
56271         Add xmemdup0.
56272         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
56273         implementation.
56274         * lib/xmalloc.c (xmemdup0): New C implementation.
56275
56276 2008-05-08  Bruno Haible  <bruno@clisp.org>
56277
56278         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
56279
56280 2008-05-07  Eric Blake  <ebb9@byu.net>
56281
56282         Support cross-compilation of <wctype.h>.
56283         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
56284         AC_CACHE_CHECK.
56285
56286 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
56287
56288         * build-aux/vc-list-files: Add support for bzr.
56289
56290 2008-05-03  Jim Meyering  <meyering@redhat.com>
56291
56292         avoid failed assertion with tight malloc
56293         * tests/test-getndelim2.c: Correct an off-by-one assertion.
56294
56295 2008-05-03  Simon Josefsson  <simon@josefsson.org>
56296
56297         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
56298         are needed from arpa/inet.h.
56299         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
56300         Reported by Bruno Haible.
56301
56302 2008-05-02  Jim Meyering  <meyering@redhat.com>
56303
56304         avoid compilation error on FreeBSD 6
56305         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
56306
56307 2008-05-01  Jim Meyering  <meyering@redhat.com>
56308
56309         useless-if-before-free: correct --help's exit status description
56310         * build-aux/useless-if-before-free (usage): Like grep, exit 0
56311         for one or more matches, etc.  Reported by Bruno Haible.
56312
56313         vc-list-files: make the stand-alone gnulib test work
56314         * modules/vc-list-files-tests (configure.ac):
56315         Define and AC_SUBST abs_aux_dir.
56316         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
56317         $(abs_top_srcdir) to each script and having each of them
56318         duplicate the work of setting PATH, set PATH here, using
56319         the new variable, abs_aux_dir instead.
56320         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
56321         * tests/test-vc-list-files-git.sh: Likewise.
56322         Reported by Bruno Haible.
56323
56324 2008-05-01  Bruno Haible  <bruno@clisp.org>
56325
56326         * lib/getndelim2.c (getndelim2): Fix newsize computation during
56327         reallocation. Rename 'done' to 'found_delimiter'.
56328
56329 2008-05-01  Jim Meyering  <meyering@redhat.com>
56330
56331         vc-list-files: accommodate /bin/sh like the one from Solaris 10
56332         * build-aux/vc-list-files: Use `...`, not $(...).
56333
56334 2008-04-30  Jim Meyering  <meyering@redhat.com>
56335
56336         add tests for vc-list-files
56337         * modules/vc-list-files-tests: New module.
56338         * tests/test-vc-list-files-cvs.sh: New file.
56339         * tests/test-vc-list-files-git.sh: New file.
56340
56341         avoid a warning from gcc
56342         * lib/getndelim2.c (IF_LINT): Define.
56343         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
56344
56345         vc-list-files: work properly with build-aux/cvsu, too
56346         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
56347         to all cvs-based clauses.
56348
56349         vc-list-files: work properly in the CVS+awk case, too
56350         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
56351
56352         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
56353         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
56354         take more than one file argument, so .  Add quotes, just in case $dir
56355         ever contains a shell meta-character.  Prompted by Soren Hansen in
56356         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
56357
56358 2008-04-29  Eric Blake  <ebb9@byu.net>
56359
56360         Optimize getndelim2 to use block operations when possible.
56361         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
56362         freadseek, and memchr2.
56363         * lib/getndelim2.c (getndelim2): Use them for block reads.
56364
56365 2008-04-29  Bruno Haible  <bruno@clisp.org>
56366
56367         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
56368         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56369         * modules/inet_ntop (Depends-on): Add extensions.
56370         * modules/inet_pton (Depends-on): Likewise.
56371         Reported by Simon Josefsson.
56372
56373 2008-04-29  Jim Meyering  <meyering@redhat.com>
56374
56375         When the is more than one match in a block, match all of them.
56376         * build-aux/useless-if-before-free: Iterate through each block
56377         until there are no more matches.
56378
56379         Fix broken useless-if-before-free script.
56380         * build-aux/useless-if-before-free: Fix typo: missing "?" after
56381         the expression to match cast of argument to free-like function.
56382
56383 2008-04-29  Eric Blake  <ebb9@byu.net>
56384
56385         Use new header.
56386         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
56387
56388 2008-04-29  Jim Meyering  <meyering@redhat.com>
56389
56390         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
56391         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
56392         by gnulib to exist and to declare e.g., inet_ntop.
56393         Don't include "inet_ntop.h", now removed.
56394
56395         * m4/arpa_inet_h.m4: Remove trailing blanks.
56396
56397 2008-04-29  Eric Blake  <ebb9@byu.net>
56398
56399         Silence valgrind on safe reads beyond potential array bounds.
56400         * lib/rawmemchr.valgrind: New file.
56401         * lib/strchrnul.valgrind: Likewise.
56402         * modules/rawmemchr (Files): Distribute new file.
56403         * modules/strchrnul (Files): Likewise.
56404         Suggested by Bruno Haible.
56405
56406 2008-04-29  Bruno Haible  <bruno@clisp.org>
56407
56408         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
56409         (inet_ntop, inet_pton): Change portability warning's wording.
56410         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
56411         Invoke gl_CHECK_NEXT_HEADERS.
56412         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
56413         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
56414         set ARPA_INET_H.
56415         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56416         * modules/arpa_inet (Description): No longer only for systems that
56417         lack it.
56418         (Depends-on): Add include_next.
56419         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
56420         HAVE_ARPA_INET_H.
56421
56422 2008-04-29  Jim Meyering  <meyering@redhat.com>
56423
56424         * modules/mkdir (License): Re-license as LGPLv2+.
56425
56426 2008-04-29  Bruno Haible  <bruno@clisp.org>
56427
56428         * modules/rawmemchr (Maintainer): Set to Eric.
56429         * modules/strchrnul (Maintainer): Likewise.
56430
56431 2008-04-29  Simon Josefsson  <simon@josefsson.org>
56432
56433         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
56434         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
56435
56436         * modules/arpa_inet (arpa/inet.h): Use them.
56437
56438 2008-04-28  Eric Blake  <ebb9@byu.net>
56439
56440         Test getndelim2.
56441         * modules/getndelim2-tests: New file.
56442         * tests/test-getndelim2.c: Likewise.
56443         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
56444         stream.
56445         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
56446
56447         * MODULES.html.sh: Document new module.
56448
56449 2008-04-20  Bruno Haible  <bruno@clisp.org>
56450
56451         * lib/c-stack.c (die): Use raise.
56452         * modules/c-stack (Depends-on): Add raise.
56453
56454 2008-04-28  Bruno Haible  <bruno@clisp.org>
56455
56456         Expect rpmatch to be declared.
56457         * lib/yesno.c (rpmatch): Remove declaration.
56458
56459         Declare rpmatch.
56460         * lib/stdlib.in.h (rpmatch): New declaration.
56461         * lib/rpmatch.c: Include <stdlib.h> first.
56462         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
56463         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
56464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
56465         HAVE_RPMATCH.
56466         * modules/rpmatch (Depends-on): Add stdlib, extensions.
56467         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56468         (Include): Set to <stdlib.h>.
56469         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
56470         HAVE_RPMATCH.
56471         * NEWS: Document the change.
56472
56473 2008-04-28  Bruno Haible  <bruno@clisp.org>
56474
56475         Change rpmatch to use nl_langinfo when appropriate.
56476         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
56477         (N_): New macro.
56478         (localized_pattern): New function/macro.
56479         (try): Remove match, nomatch arguments. Copy the pattern into safe
56480         memory before caching it.
56481         (rpmatch): Use localized_pattern. Add translator comments.
56482         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
56483         Suggested by Eric Blake.
56484         * modules/rpmatch (Depends-on): Add stdbool.
56485
56486 2008-04-28  Eric Blake  <ebb9@byu.net>
56487
56488         Add rawmemchr module, matching glibc.
56489         * modules/string (Makefile.am): New indicator.
56490         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
56491         * lib/string.in.h (rawmemchr): Declare when appropriate.
56492         * modules/rawmemchr: New file.
56493         * m4/rawmemchr.m4: Likewise.
56494         * lib/rawmemchr.c: Likewise.
56495         * modules/rawmemchr-tests: Likewise.
56496         * tests/test-rawmemchr.c: Likewise.
56497         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
56498         module.
56499         * modules/strchrnul (Depends-on): Add rawmemchr.
56500         * lib/strchrnul.c (strchrnul): Optimize a corner case.
56501
56502         Whitespace cleanup.
56503         * tests/test-strchrnul.c: Reindent.
56504         * lib/strchrnul.c: Likewise.
56505
56506         Optimize and test strchrnul.
56507         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
56508         * modules/strchrnul-tests: New file.
56509         * tests/test-strchrnul.c: Likewise.
56510
56511         Remove intprops dependency.
56512         * modules/memchr (Depends-on): Remove intprops.
56513         * modules/memrchr (Depends-on): Likewise.
56514         * modules/memchr2 (Depends-on): Likewise.
56515         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
56516         * lib/memrchr.c (__memrchr): Likewise.
56517         * lib/memrchr2.c (memchr2): Likewise.
56518         Reported by Simon Josefsson.
56519
56520 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56521
56522         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
56523         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56524
56525 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56526
56527         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
56528
56529         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
56530
56531         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
56532
56533         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
56534         declarations.
56535         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
56536
56537         * m4/inet_pton.m4: Don't check for header files.
56538
56539         * m4/inet_ntop.m4: Don't check for header files.
56540
56541 2008-04-28  Simon Josefsson  <simon@josefsson.org>
56542
56543         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
56544         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
56545         trigger for cygwin).
56546         Reported by Bruno Haible  <bruno@clisp.org>.
56547
56548 2008-04-28  Bruno Haible  <bruno@clisp.org>
56549
56550         * doc/posix-functions/strdup.texi: Mention mingw problem.
56551
56552 2008-04-27  Bruno Haible  <bruno@clisp.org>
56553
56554         * modules/stat-time-tests (Depends-on): Add sleep.
56555         * tests/test-stat-time.c (force_unlink): New function.
56556         (cleanup): Use it.
56557         (test_mtime): Remove the ctime related tests.
56558         (test_ctime): New function, containing the ctime related tests.
56559         (main): Call test_ctime, except on native Windows platforms.
56560
56561 2008-04-27  Bruno Haible  <bruno@clisp.org>
56562
56563         * lib/rpmatch.c (rpmatch): Add some comments.
56564         Reported by James Youngman <jay@gnu.org>.
56565
56566 2008-04-27  Bruno Haible  <bruno@clisp.org>
56567
56568         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
56569         quiet NaNs.
56570
56571 2008-04-27  Bruno Haible  <bruno@clisp.org>
56572
56573         Make test-yesno.sh work on mingw.
56574         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
56575         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
56576         (main): Set stdin to binary mode.
56577         * modules/yesno-tests (Depends-on): Add binary-io.
56578
56579 2008-04-27  Bruno Haible  <bruno@clisp.org>
56580
56581         Fix 'isfinite' on x86, x86_64, ia64 platforms.
56582         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
56583         argument that lie outside the IEEE 854 domain.
56584         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
56585         (gl_ISFINITE): Use it.
56586         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
56587
56588 2008-04-27  Bruno Haible  <bruno@clisp.org>
56589
56590         Allow local renaming in config.h.
56591         * lib/memrchr.c (memrchr): Don't undefine outside libc.
56592
56593 2008-04-27  Bruno Haible  <bruno@clisp.org>
56594
56595         * lib/memchr.c (__memchr): Change type of 'i'.
56596         * lib/memchr2.c (memchr2): Likewise.
56597
56598 2008-04-26  Eric Blake  <ebb9@byu.net>
56599         and Bruno Haible  <bruno@clisp.org>
56600
56601         Optimize and test memrchr.
56602         * modules/memrchr (Depends-on): Add intprops.
56603         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
56604         * modules/memrchr-tests: New file.
56605         * tests/test-memrchr.c: New file.
56606
56607 2008-04-26  Bruno Haible  <bruno@clisp.org>
56608
56609         Add tentative support for DragonFly BSD.
56610         * lib/stdio-impl.h: Add macros for DragonFly BSD.
56611         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
56612         fp.
56613         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56614         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
56615         * lib/fpurge.c (fpurge): Likewise.
56616         * lib/freadable.c (freaadable): Likewise.
56617         * lib/freadahead.c (freadahead): Likewise.
56618         * lib/freading.c (freading): Likewise.
56619         * lib/freadptr.c (freadptr): Likewise.
56620         * lib/freadseek.c (freadptrinc): Likewise.
56621         * lib/fseeko.c (fseeko): Likewise.
56622         * lib/fseterr.c (fseterr): Likewise.
56623         * lib/fwritable.c (fwritable): Likewise.
56624         * lib/fwriting.c (fwriting): Likewise.
56625
56626 2008-04-26  Bruno Haible  <bruno@clisp.org>
56627
56628         * lib/stdio-impl.h: New file.
56629         * lib/fbufmode.c: Include stdio-impl.h.
56630         (fbufmode): Use fp_, remove redundant #defines.
56631         * lib/fflush.c: Include stdio-impl.h.
56632         (clear_ungetc_buffer): Remove redundant #defines.
56633         * lib/fpurge.c: Include stdio-impl.h.
56634         (fpurge): Remove redundant #defines.
56635         * lib/freadable.c: Include stdio-impl.h.
56636         (freadable): Remove redundant #defines.
56637         * lib/freadahead.c: Include stdio-impl.h.
56638         (freadahead): Remove redundant #defines.
56639         * lib/freading.c: Include stdio-impl.h.
56640         (freading): Remove redundant #defines.
56641         * lib/freadptr.c: Include stdio-impl.h.
56642         (freadptr): Remove redundant #defines.
56643         * lib/freadseek.c: Include stdio-impl.h.
56644         (freadptrinc): Remove redundant #defines.
56645         * lib/fseeko.c: Include stdio-impl.h.
56646         (rpl_fseeko): Remove redundant #defines.
56647         * lib/fseterr.c: Include stdio-impl.h.
56648         (fseterr): Remove redundant #defines.
56649         * lib/fwritable.c: Include stdio-impl.h.
56650         (fwritable: Remove redundant #defines.
56651         * lib/fwriting.c: Include stdio-impl.h.
56652         (fwriting): Remove redundant #defines.
56653         * modules/fbufmode (Files): Add lib/stdio-impl.h.
56654         * modules/fflush (Files): Likewise.
56655         * modules/fpurge (Files): Likewise.
56656         * modules/freadable (Files): Likewise.
56657         * modules/freadahead (Files): Likewise.
56658         * modules/freading (Files): Likewise.
56659         * modules/freadptr (Files): Likewise.
56660         * modules/freadseek (Files): Likewise.
56661         * modules/fseeko (Files): Likewise.
56662         * modules/fseterr (Files): Likewise.
56663         * modules/fwritable (Files): Likewise.
56664         * modules/fwriting (Files): Likewise.
56665
56666 2008-04-26  Bruno Haible  <bruno@clisp.org>
56667
56668         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
56669         restore_seek_optimization, update_fpos_cache): New functions, extracted
56670         from rpl_fflush.
56671         (rpl_fflush): Use them.
56672         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
56673         (gl_REPLACE_FFLUSH): Use it.
56674
56675 2008-04-26  Bruno Haible  <bruno@clisp.org>
56676
56677         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
56678         on Solaris.
56679         * tests/test-xstrtoimax.sh: Likewise.
56680         * tests/test-xstrtoumax.sh: Likewise.
56681         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56682
56683 2008-04-26  Bruno Haible  <bruno@clisp.org>
56684
56685         * modules/memchr-tests: New file.
56686         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
56687
56688 2008-04-26  Eric Blake  <ebb9@byu.net>
56689             Bruno Haible  <bruno@clisp.org>
56690
56691         * lib/memchr.c: Include intprops.h.
56692         (__memchr): Optimize parallel detection of matching bytes. Rename local
56693         variables. Add explanatory comments.
56694
56695 2008-04-26  Bruno Haible  <bruno@clisp.org>
56696
56697         Fix module 'memchr', broken since 2000-10-28.
56698         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
56699
56700 2008-04-26  Bruno Haible  <bruno@clisp.org>
56701
56702         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
56703         comments.
56704
56705 2008-04-25  Eric Blake  <ebb9@byu.net>
56706
56707         Use native fstatat on cygwin 1.7.0.
56708         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
56709         first.
56710
56711 2008-04-23  Eric Blake  <ebb9@byu.net>
56712
56713         Improve memchr2 performance.
56714         * lib/memchr2.c (memchr2): Further optimize parallel detection of
56715         NUL bytes.
56716         * modules/memchr2 (Depends-on): Use intprops.h.
56717
56718 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56719
56720         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
56721         an inline function instead of a CPP macro.  Patch by Ben Pfaff
56722         <blp@cs.stanford.edu>.
56723
56724 2008-04-23  Simon Josefsson  <simon@josefsson.org>
56725
56726         * lib/arpa_inet.in.h: New file.
56727
56728         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
56729         (Makefile.am): Sed in substitute header file.
56730
56731         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
56732         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
56733
56734         * modules/inet_ntop (configure.ac): Use
56735         gl_ARPA_INET_MODULE_INDICATOR.
56736
56737         * modules/inet_pton (configure.ac): Use
56738         gl_ARPA_INET_MODULE_INDICATOR.
56739
56740 2008-04-22  Jim Meyering  <meyering@redhat.com>
56741
56742         * modules/verify (License): Re-license as LGPLv2+.
56743
56744 2008-04-22  Simon Josefsson  <simon@josefsson.org>
56745
56746         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
56747         parameter to void* as per POSIX standard (MinGW uses char*).
56748
56749 2008-04-21  Bruno Haible  <bruno@clisp.org>
56750
56751         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
56752         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
56753         Define to replacements if REPLACE_ISWCNTRL is 1.
56754         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
56755         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
56756         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
56757         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
56758         what it fixes.
56759         * doc/posix-functions/iswalpha.texi: Likewise.
56760         * doc/posix-functions/iswblank.texi: Likewise.
56761         * doc/posix-functions/iswcntrl.texi: Likewise.
56762         * doc/posix-functions/iswdigit.texi: Likewise.
56763         * doc/posix-functions/iswgraph.texi: Likewise.
56764         * doc/posix-functions/iswlower.texi: Likewise.
56765         * doc/posix-functions/iswprint.texi: Likewise.
56766         * doc/posix-functions/iswpunct.texi: Likewise.
56767         * doc/posix-functions/iswspace.texi: Likewise.
56768         * doc/posix-functions/iswupper.texi: Likewise.
56769         * doc/posix-functions/iswxdigit.texi: Likewise.
56770         Reported by Alain Guibert.
56771
56772 2008-04-21  Bruno Haible  <bruno@clisp.org>
56773
56774         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
56775         Patch by Alain Guibert.
56776
56777 2008-04-21  Bruno Haible  <bruno@clisp.org>
56778
56779         Fix test failures on mingw.
56780         * tests/test-xstrtol.c (print_no_progname): New function.
56781         (main): Install it in error_print_progname hook.
56782         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
56783         * tests/test-xstrtoimax.sh: Likewise.
56784         * tests/test-xstrtoumax.sh: Likewise.
56785
56786 2008-04-21  Bruno Haible  <bruno@clisp.org>
56787
56788         Fix test failure on mingw.
56789         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
56790
56791 2008-04-21  Bruno Haible  <bruno@clisp.org>
56792
56793         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
56794         Actually assign a value.
56795
56796 2008-04-20  Bruno Haible  <bruno@clisp.org>
56797
56798         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
56799         take 2.
56800         * lib/canonicalize.c (canonicalize_file_name): Elide if the
56801         'canonicalize-lgpl' module is also used.
56802         * lib/canonicalize-lgpl.c: Undo last change.
56803         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
56804
56805 2008-04-20  Bruno Haible  <bruno@clisp.org>
56806
56807         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
56808         config.h. Provide _mkdir based fallback for mingw.
56809         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
56810         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
56811         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
56812         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
56813         rather than defining mkdir in config.h.
56814         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
56815         (gl_SYS_STAT_H_DEFAULTS): New macro.
56816         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
56817         HAVE_IO_H any more.
56818         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
56819         HAVE_DECL_MKDIR and HAVE_IO_H.
56820
56821 2008-04-20  Bruno Haible  <bruno@clisp.org>
56822
56823         * lib/isapipe.c: Port to native Windows platforms.
56824
56825 2008-04-20  Bruno Haible  <bruno@clisp.org>
56826
56827         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
56828
56829 2008-04-21  Eric Blake  <ebb9@byu.net>
56830
56831         Work around preprocessors that don't handle UINTMAX_MAX.
56832         * lib/memchr2.c (memchr2): Avoid embedded #if.
56833         Reported by Alain Guibert, fix suggested by Bruno Haible.
56834
56835 2008-04-21  Simon Josefsson  <simon@josefsson.org>
56836
56837         * doc/posix-functions/strftime.texi (strftime): Explain better
56838         Windows incompatibility.  Suggested by Micah Cowan
56839         <micah@cowan.name>.
56840
56841 2008-04-20  Bruno Haible  <bruno@clisp.org>
56842
56843         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
56844         unistr/u8-mblen.
56845
56846 2008-04-20  Bruno Haible  <bruno@clisp.org>
56847
56848         Fix test failure on platforms with non-GNU iconv.
56849         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
56850         (U_TO_U8): Use it, rather than u16_to_u8.
56851         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
56852         units at the end of the input string.
56853         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
56854
56855 2008-04-20  Bruno Haible  <bruno@clisp.org>
56856
56857         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
56858         when the resulting length is 0.
56859         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
56860
56861 2008-04-20  Bruno Haible  <bruno@clisp.org>
56862
56863         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
56864         works.
56865         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
56866
56867 2008-04-20  Bruno Haible  <bruno@clisp.org>
56868
56869         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
56870         * modules/tsearch-tests (configure.ac): Test for initstate function.
56871
56872 2008-04-20  Bruno Haible  <bruno@clisp.org>
56873
56874         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
56875         for nlink_t if missing.
56876         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
56877
56878 2008-04-19  Bruno Haible  <bruno@clisp.org>
56879
56880         Work around snprintf bug on Linux libc5.
56881         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
56882         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
56883         gl_SNPRINTF_SIZE1.
56884         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56885         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
56886         that test failed.
56887         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
56888         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
56889         * modules/snprintf (Files): Add m4/printf.m4.
56890         * modules/vsnprintf (Files): Likewise.
56891         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
56892         * doc/posix-functions/vsnprintf.texi: Likewise.
56893
56894 2008-04-19  Bruno Haible  <bruno@clisp.org>
56895
56896         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
56897         from 0.0058 to less than 10^-7.
56898
56899 2008-04-19  Bruno Haible  <bruno@clisp.org>
56900
56901         Fix rounding when a precision is given.
56902         * lib/vasnprintf.c (is_borderline): New function.
56903         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
56904         9...9x.
56905         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
56906         %e, %g.
56907         * tests/test-vasprintf-posix.c (test_function): Likewise.
56908         * tests/test-snprintf-posix.h (test_function): Likewise.
56909         * tests/test-sprintf-posix.h (test_function): Likewise.
56910         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
56911         * tests/test-printf-posix.h (test_function): Likewise.
56912         * tests/test-printf-posix.output: Update.
56913         Reported by John Darrington <john@darrington.wattle.id.au> via
56914         Ben Pfaff <blp@cs.stanford.edu>.
56915
56916 2008-04-18  Simon Josefsson  <simon@josefsson.org>
56917
56918         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
56919         Suggested by Bruno Haible <bruno@clisp.org>.
56920
56921 2008-04-17  Bruno Haible  <bruno@clisp.org>
56922
56923         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
56924         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
56925         implementation.
56926         Patch by Bruce Merry <bmerry@gmail.com>.
56927
56928 2008-04-17  Simon Josefsson  <simon@josefsson.org>
56929
56930         * doc/posix-functions/strftime.texi (strftime): Mention that %e
56931         doesn't work under Windows.
56932
56933 2008-04-16  Bruno Haible  <bruno@clisp.org>
56934
56935         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
56936         New macros.
56937         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
56938         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
56939         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
56940         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
56941         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
56942         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
56943         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
56944         macros.
56945         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
56946         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
56947         Northern Sotho, Uighur.
56948
56949 2008-04-16  Bruno Haible  <bruno@clisp.org>
56950
56951         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
56952         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
56953         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
56954         Reported by Daniel Bergström <daniel@octocode.com>.
56955
56956 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
56957             Bruno Haible  <bruno@clisp.org>
56958
56959         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
56960         function.
56961         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
56962         New functions, mostly extracted from gl_locale_name_default.
56963         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
56964
56965 2008-04-16  Eric Blake  <ebb9@byu.net>
56966
56967         Adjust strtod detection to catch glibc 2.7 bug.
56968         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
56969         Reported by John Gatewood Ham.
56970
56971 2008-04-16  Bruno Haible  <bruno@clisp.org>
56972
56973         Add tentative support for Linux libc5.
56974         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
56975         * lib/fpurge.c (fpurge): Likewise.
56976         * lib/freadable.c (freadable): Likewise.
56977         * lib/freadahead.c (freadahead): Likewise.
56978         * lib/freading.c (freading): Likewise.
56979         * lib/freadptr.c (freadptr): Likewise.
56980         * lib/freadseek.c (freadptrinc): Likewise.
56981         * lib/fseeko.c (rpl_fseeko): Likewise.
56982         * lib/fseterr.c (fseterr): Likewise.
56983         * lib/fwritable.c (fwritable): Likewise.
56984         * lib/fwriting.c (fwriting): Likewise.
56985         Reported by Alain Guibert <alguibert+bts@free.fr>.
56986
56987 2008-04-15  Bruno Haible  <bruno@clisp.org>
56988
56989         * modules/mathl (configure.ac): Define module indicator.
56990
56991 2008-04-15  Bruno Haible  <bruno@clisp.org>
56992
56993         * lib/logl.c (logl): Remove unused variables.
56994
56995 2008-04-15  Bruno Haible  <bruno@clisp.org>
56996
56997         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
56998         fails.
56999
57000 2008-04-15  Bruno Haible  <bruno@clisp.org>
57001
57002         * lib/trim.c (trim2): Fix argument of isspace() macro.
57003
57004 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57005
57006         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57007         to 0.
57008         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57009
57010 2008-04-14  Bruno Haible  <bruno@clisp.org>
57011
57012         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57013         AC_LANG_PROGRAM argument.
57014         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57015         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57016         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57017         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57018         * m4/math_h.m4 (gl_MATH_H): Likewise.
57019         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57020         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57021         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57022         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57023         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57024         * m4/regex.m4 (gl_REGEX): Likewise.
57025         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57026         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57028         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57029         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57030         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57031         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57032         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57033
57034 2008-04-14  Jim Meyering  <meyering@redhat.com>
57035
57036         test-strtod: fix typos: s/abs/fabs/
57037         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57038
57039 2008-04-13  Bruno Haible  <bruno@clisp.org>
57040
57041         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57042         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57043         module is also used and while not building the reloc-wrapper.
57044
57045 2008-04-13  Bruno Haible  <bruno@clisp.org>
57046
57047         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57048
57049 2008-04-13  Bruno Haible  <bruno@clisp.org>
57050
57051         Fix AIX compilation failure introduced on 2008-04-02.
57052         * tests/test-frexp.c (exp): Undefine before redefining.
57053         * tests/test-frexpl.c (exp): Likewise.
57054
57055 2008-04-13  Bruno Haible  <bruno@clisp.org>
57056
57057         Work around a HP-UX stdio bug.
57058         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57059         * tests/test-ftello.c (main): Likewise.
57060         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57061         * doc/posix-functions/ftello.texi: Likewise.
57062
57063 2008-04-13  Bruno Haible  <bruno@clisp.org>
57064
57065         Make test-signbit pass on HP-UX/hppa.
57066         * tests/test-signbit.c (minus_zerol): New variable.
57067         (test_signbitl): Use it.
57068
57069 2008-04-13  Bruno Haible  <bruno@clisp.org>
57070
57071         Make truncl work on OSF/1 4.0.
57072         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57073         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57074         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57075         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57076         HAVE_DECL_TRUNCL.
57077         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57078         HAVE_DECL_TRUNCL.
57079         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57080
57081 2008-04-13  Bruno Haible  <bruno@clisp.org>
57082
57083         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57084
57085 2008-04-13  Bruno Haible  <bruno@clisp.org>
57086
57087         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57088         expression, so as to avoid HP-UX 11 cc compiler bug.
57089
57090 2008-04-13  Bruno Haible  <bruno@clisp.org>
57091
57092         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57093
57094 2008-04-13  Bruno Haible  <bruno@clisp.org>
57095
57096         * lib/git-merge-changelog.c: Remove empty declaration outside of
57097         functions.
57098
57099 2008-04-13  Bruno Haible  <bruno@clisp.org>
57100
57101         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57102
57103 2008-04-13  Bruno Haible  <bruno@clisp.org>
57104
57105         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57106         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57107         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57108         also if it exists but lacks definitions of the SHUT_* macros.
57109         * modules/sys_socket (Description): Update.
57110         Reported by Elbert Pol <e.pol@chello.nl>.
57111
57112 2008-04-13  Bruno Haible  <bruno@clisp.org>
57113
57114         * lib/localcharset.c (OS2): Don't redefine if already defined.
57115         Reported by Elbert Pol <e.pol@chello.nl>.
57116
57117 2008-04-13  Bruno Haible  <bruno@clisp.org>
57118
57119         * lib/binary-io.h [__EMX__]: Include <io.h>.
57120         Reported by Elbert Pol <e.pol@chello.nl>.
57121
57122 2008-04-12  Bruno Haible  <bruno@clisp.org>
57123
57124         * lib/fpucw.h: Enable the definitions also for x86_64.
57125         Needed for NetBSD/x86_64.
57126         Reported by Thomas Klausner <tk@giga.or.at>.
57127
57128 2008-04-12  Bruno Haible  <bruno@clisp.org>
57129
57130         * tests/test-strtod.c: Include isnand.h.
57131         (main): Use isnand instead of isnan.
57132         Reported by Jim Meyering.
57133
57134 2008-04-12  Bruno Haible  <bruno@clisp.org>
57135
57136         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57137         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57138
57139 2008-04-12  Jim Meyering  <meyering@redhat.com>
57140
57141         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57142
57143 2008-04-12  Bruno Haible  <bruno@clisp.org>
57144
57145         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57146         Reported by Elbert Pol <e.pol@chello.nl>.
57147
57148 2008-04-12  Eric Blake  <ebb9@byu.net>
57149
57150         Work around Solaris 10 math.h bug.
57151         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57152         (gl_MATH_H_DEFAULTS): Set up default.
57153         * modules/math (Makefile.am): Replace new indicators.
57154         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57155         * tests/test-math.c (main): Test this.
57156         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57157         * doc/posix-headers/math.texi (math.h): Mention bug.
57158         Reported by Nelson H. F. Beebe and Jim Meyering.
57159
57160 2008-04-11  Bruno Haible  <bruno@clisp.org>
57161
57162         Adapt to future versions of Apple GCC.
57163         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57164         Reported by Peter O'Gorman <peter@pogma.com>.
57165
57166 2008-04-11  Bruno Haible  <bruno@clisp.org>
57167
57168         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57169
57170 2008-04-11  Bruno Haible  <bruno@clisp.org>
57171
57172         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
57173
57174         * modules/getaddrinfo-tests (Makefile.am): Define
57175         test_getaddrinfo_LDADD.
57176
57177 2008-04-11  Bruno Haible  <bruno@clisp.org>
57178
57179         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
57180         (init): Fix syntax error.
57181         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
57182         is declared.
57183
57184 2008-04-11  Bruno Haible  <bruno@clisp.org>
57185
57186         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
57187         * modules/glob (Depends-on): Add stdbool.
57188
57189 2008-04-11  Bruno Haible  <bruno@clisp.org>
57190
57191         * lib/trim.c: Include <string.h>.
57192
57193 2008-04-11  Eric Blake  <ebb9@byu.net>
57194
57195         Avoid compile failure on OS/2.
57196         * lib/regex_internal.h (internal_function): Disable optimization
57197         on OS/2 (__EMX__), where it caused compiler error.
57198         Reported by Elbert Pol.
57199
57200 2008-04-11  Bruno Haible  <bruno@clisp.org>
57201
57202         Flush the standard error stream before aborting. Needed on mingw.
57203         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
57204         * tests/test-array_list.c (ASSERT): Likewise.
57205         * tests/test-array_oset.c (ASSERT): Likewise.
57206         * tests/test-avltree_list.c (ASSERT): Likewise.
57207         * tests/test-avltree_oset.c (ASSERT): Likewise.
57208         * tests/test-avltreehash_list.c (ASSERT): Likewise.
57209         * tests/test-binary-io.c (ASSERT): Likewise.
57210         * tests/test-byteswap.c (ASSERT): Likewise.
57211         * tests/test-c-ctype.c (ASSERT): Likewise.
57212         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
57213         * tests/test-c-strcasestr.c (ASSERT): Likewise.
57214         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
57215         * tests/test-c-strstr.c (ASSERT): Likewise.
57216         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
57217         * tests/test-canonicalize.c (ASSERT): Likewise.
57218         * tests/test-carray_list.c (ASSERT): Likewise.
57219         * tests/test-ceilf1.c (ASSERT): Likewise.
57220         * tests/test-ceilf2.c (ASSERT): Likewise.
57221         * tests/test-ceill.c (ASSERT): Likewise.
57222         * tests/test-count-one-bits.c (ASSERT): Likewise.
57223         * tests/test-fbufmode.c (ASSERT): Likewise.
57224         * tests/test-fflush2.c (ASSERT): Likewise.
57225         * tests/test-floorf1.c (ASSERT): Likewise.
57226         * tests/test-floorf2.c (ASSERT): Likewise.
57227         * tests/test-floorl.c (ASSERT): Likewise.
57228         * tests/test-fopen.c (ASSERT): Likewise.
57229         * tests/test-fpending.c (ASSERT): Likewise.
57230         * tests/test-fprintf-posix.c (ASSERT): Likewise.
57231         * tests/test-fpurge.c (ASSERT): Likewise.
57232         * tests/test-freadable.c (ASSERT): Likewise.
57233         * tests/test-freadahead.c (ASSERT): Likewise.
57234         * tests/test-freading.c (ASSERT): Likewise.
57235         * tests/test-freadptr.c (ASSERT): Likewise.
57236         * tests/test-freadptr2.c (ASSERT): Likewise.
57237         * tests/test-freadseek.c (ASSERT): Likewise.
57238         * tests/test-freopen.c (ASSERT): Likewise.
57239         * tests/test-frexp.c (ASSERT): Likewise.
57240         * tests/test-frexpl.c (ASSERT): Likewise.
57241         * tests/test-fseek.c (ASSERT): Likewise.
57242         * tests/test-fseeko.c (ASSERT): Likewise.
57243         * tests/test-fstrcmp.c (ASSERT): Likewise.
57244         * tests/test-ftell.c (ASSERT): Likewise.
57245         * tests/test-ftello.c (ASSERT): Likewise.
57246         * tests/test-func.c (ASSERT): Likewise.
57247         * tests/test-fwritable.c (ASSERT): Likewise.
57248         * tests/test-fwriting.c (ASSERT): Likewise.
57249         * tests/test-getdelim.c (ASSERT): Likewise.
57250         * tests/test-getline.c (ASSERT): Likewise.
57251         * tests/test-i-ring.c (ASSERT): Likewise.
57252         * tests/test-iconv-utf.c (ASSERT): Likewise.
57253         * tests/test-iconv.c (ASSERT): Likewise.
57254         * tests/test-isfinite.c (ASSERT): Likewise.
57255         * tests/test-isnand.c (ASSERT): Likewise.
57256         * tests/test-isnanf.c (ASSERT): Likewise.
57257         * tests/test-isnanl.h (ASSERT): Likewise.
57258         * tests/test-ldexpl.c (ASSERT): Likewise.
57259         * tests/test-linked_list.c (ASSERT): Likewise.
57260         * tests/test-linkedhash_list.c (ASSERT): Likewise.
57261         * tests/test-localename.c (ASSERT): Likewise.
57262         * tests/test-lseek.c (ASSERT): Likewise.
57263         * tests/test-mbscasecmp.c (ASSERT): Likewise.
57264         * tests/test-mbscasestr1.c (ASSERT): Likewise.
57265         * tests/test-mbscasestr2.c (ASSERT): Likewise.
57266         * tests/test-mbscasestr3.c (ASSERT): Likewise.
57267         * tests/test-mbscasestr4.c (ASSERT): Likewise.
57268         * tests/test-mbschr.c (ASSERT): Likewise.
57269         * tests/test-mbscspn.c (ASSERT): Likewise.
57270         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
57271         * tests/test-mbspbrk.c (ASSERT): Likewise.
57272         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
57273         * tests/test-mbsrchr.c (ASSERT): Likewise.
57274         * tests/test-mbsspn.c (ASSERT): Likewise.
57275         * tests/test-mbsstr1.c (ASSERT): Likewise.
57276         * tests/test-mbsstr2.c (ASSERT): Likewise.
57277         * tests/test-mbsstr3.c (ASSERT): Likewise.
57278         * tests/test-memchr2.c (ASSERT): Likewise.
57279         * tests/test-memmem.c (ASSERT): Likewise.
57280         * tests/test-open.c (ASSERT): Likewise.
57281         * tests/test-printf-frexp.c (ASSERT): Likewise.
57282         * tests/test-printf-frexpl.c (ASSERT): Likewise.
57283         * tests/test-printf-posix.c (ASSERT): Likewise.
57284         * tests/test-quotearg.c (ASSERT): Likewise.
57285         * tests/test-rbtree_list.c (ASSERT): Likewise.
57286         * tests/test-rbtree_oset.c (ASSERT): Likewise.
57287         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
57288         * tests/test-round1.c (ASSERT): Likewise.
57289         * tests/test-roundf1.c (ASSERT): Likewise.
57290         * tests/test-roundl.c (ASSERT): Likewise.
57291         * tests/test-signbit.c (ASSERT): Likewise.
57292         * tests/test-sleep.c (ASSERT): Likewise.
57293         * tests/test-snprintf-posix.c (ASSERT): Likewise.
57294         * tests/test-snprintf.c (ASSERT): Likewise.
57295         * tests/test-sprintf-posix.c (ASSERT): Likewise.
57296         * tests/test-stat-time.c (ASSERT): Likewise.
57297         * tests/test-strcasestr.c (ASSERT): Likewise.
57298         * tests/test-strerror.c (ASSERT): Likewise.
57299         * tests/test-striconv.c (ASSERT): Likewise.
57300         * tests/test-striconveh.c (ASSERT): Likewise.
57301         * tests/test-striconveha.c (ASSERT): Likewise.
57302         * tests/test-strsignal.c (ASSERT): Likewise.
57303         * tests/test-strstr.c (ASSERT): Likewise.
57304         * tests/test-strtod.c (ASSERT): Likewise.
57305         * tests/test-trunc1.c (ASSERT): Likewise.
57306         * tests/test-trunc2.c (ASSERT): Likewise.
57307         * tests/test-truncf1.c (ASSERT): Likewise.
57308         * tests/test-truncf2.c (ASSERT): Likewise.
57309         * tests/test-truncl.c (ASSERT): Likewise.
57310         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
57311         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
57312         * tests/test-vasnprintf.c (ASSERT): Likewise.
57313         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
57314         * tests/test-vasprintf.c (ASSERT): Likewise.
57315         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
57316         * tests/test-vprintf-posix.c (ASSERT): Likewise.
57317         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
57318         * tests/test-vsnprintf.c (ASSERT): Likewise.
57319         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
57320         * tests/test-wcwidth.c (ASSERT): Likewise.
57321         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
57322         * tests/test-xprintf-posix.c (ASSERT): Likewise.
57323         * tests/test-xvasprintf.c (ASSERT): Likewise.
57324         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
57325         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
57326         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
57327         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
57328         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
57329         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
57330         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
57331         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
57332         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
57333         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
57334         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
57335         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
57336         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
57337         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
57338         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
57339         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
57340         * tests/unictype/test-block_list.c (ASSERT): Likewise.
57341         * tests/unictype/test-block_of.c (ASSERT): Likewise.
57342         * tests/unictype/test-block_test.c (ASSERT): Likewise.
57343         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
57344         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
57345         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
57346         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
57347         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
57348         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
57349         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
57350         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
57351         * tests/unictype/test-combining.c (ASSERT): Likewise.
57352         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
57353         * tests/unictype/test-digit.c (ASSERT): Likewise.
57354         * tests/unictype/test-mirror.c (ASSERT): Likewise.
57355         * tests/unictype/test-numeric.c (ASSERT): Likewise.
57356         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
57357         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
57358         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
57359         * tests/unictype/test-scripts.c (ASSERT): Likewise.
57360         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
57361         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
57362         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
57363         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
57364         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
57365         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
57366         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
57367         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
57368         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
57369         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
57370         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
57371         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
57372         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
57373         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
57374         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
57375         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
57376         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
57377         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
57378         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
57379         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
57380         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
57381         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
57382         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
57383         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
57384         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
57385         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
57386         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
57387         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
57388         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
57389         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
57390         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
57391         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
57392         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
57393         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
57394         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
57395         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
57396         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
57397         Reported by Eric Blake.
57398
57399 2008-04-11  Bruno Haible  <bruno@clisp.org>
57400
57401         * lib/wchar.in.h: Tweak comment.
57402
57403 2008-04-11  Bruno Haible  <bruno@clisp.org>
57404
57405         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
57406         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
57407         gl_COMMON.
57408         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
57409
57410 2008-04-11  Bruno Haible  <bruno@clisp.org>
57411
57412         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
57413
57414 2008-04-11  Simon Josefsson  <simon@josefsson.org>
57415
57416         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
57417         of attempting to use non-existing /dev/*random.  Based on patch
57418         from Adam Strzelecki <ono@java.pl> in
57419         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
57420
57421 2008-04-08  Bruno Haible  <bruno@clisp.org>
57422
57423         Add tentative support for emx+gcc.
57424         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
57425         * lib/fpurge.c (fpurge): Likewise.
57426         * lib/freadable.c (freadable): Likewise.
57427         * lib/freadahead.c (freadahead): Likewise.
57428         * lib/freading.c (freading): Likewise.
57429         * lib/freadptr.c (freadptr): Likewise.
57430         * lib/freadseek.c (freadptrinc): Likewise.
57431         * lib/fseeko.c (rpl_fseeko): Likewise.
57432         * lib/fseterr.c (fseterr): Likewise.
57433         * lib/fwritable.c (fwritable): Likewise.
57434         * lib/fwriting.c (fwriting): Likewise.
57435         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
57436
57437 2008-04-09  Eric Blake  <ebb9@byu.net>
57438
57439         Avoid some autoconf warnings.
57440         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
57441         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
57442         * m4/afs.m4 (gl_AFS): Likewise.
57443         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
57444         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
57445         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
57446         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
57447         (gl_INTEGER_TYPE_SUFFIX): Likewise.
57448         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
57449         (AC_CHECK_DECLS_ONCE): Likewise.
57450         Rename file...
57451         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
57452         gnulib-tool requires autoconf 2.59 or better.
57453         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
57454
57455 2008-04-08  Eric Blake  <ebb9@byu.net>
57456
57457         Use 'git describe --match' if present (added in git 1.5.5).
57458         * build-aux/git-version-gen: Limit result to tags that match 'v*'
57459         if possible.
57460
57461 2008-04-08  Bruno Haible  <bruno@clisp.org>
57462
57463         Add tentative support for OpenServer.
57464         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
57465         _ptr, _cnt.
57466         * lib/fpurge.c (fpurge): Likewise.
57467         * lib/freadable.c (freadable): Likewise.
57468         * lib/freadahead.c (freadahead): Likewise.
57469         * lib/freading.c (freading): Likewise.
57470         * lib/freadptr.c (freadptr): Likewise.
57471         * lib/freadseek.c (freadptrinc): Likewise.
57472         * lib/fseeko.c (rpl_fseeko): Likewise.
57473         * lib/fseterr.c (fseterr): Likewise.
57474         * lib/fwritable.c (fwritable): Likewise.
57475         * lib/fwriting.c (fwriting): Likewise.
57476         Reported by Roger Cornelius <rac@tenzing.org> and
57477         Brian K. White <brian@aljex.com>.
57478
57479 2008-04-06  Jim Meyering  <meyering@redhat.com>
57480
57481         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
57482
57483 2008-04-06  Bruno Haible  <bruno@clisp.org>
57484
57485         Avoid possible error with non-ASCII bytes in UTF-8 locales.
57486         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
57487         * tests/test-printf-posix.sh: Likewise.
57488         * tests/test-vfprintf-posix.sh: Likewise.
57489         * tests/test-vprintf-posix.sh: Likewise.
57490         * tests/test-xprintf-posix.sh: Likewise.
57491
57492 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57493
57494         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
57495         hide error from 'ls', needed on OS/2.
57496         Report by Elbert Pol <elbert.pol@gmail.com>.
57497
57498 2008-04-04  Eric Blake  <ebb9@byu.net>
57499
57500         Make test-fseeko.c failures meaningful.
57501         * tests/test-fseeko.c: Print line number on failure.
57502         * tests/test-fseek.c: Likewise.
57503         Reported by Nelson H. F. Beebe.
57504
57505         Improve strtod bug detection check.
57506         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
57507         required for Solaris 10.
57508         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
57509
57510 2008-04-04  Bruno Haible  <bruno@clisp.org>
57511
57512         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
57513         by m4/setenv.m4.
57514
57515 2008-04-03  Eric Blake  <ebb9@byu.net>
57516
57517         Ensure sane .version contents.
57518         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
57519         version string.
57520         * build-aux/git-version-gen: Improve documentation.
57521
57522         Make GNU make output nicer.
57523         * top/GNUmakefile [!_have-Makefile]: Add dependency on
57524         MAKECMDGOALS to enforce message for all command line targets.  Set
57525         srcdir for use in maint.mk.
57526
57527         Another maintainer tweak.
57528         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
57529         a target that regenerates version.
57530
57531 2008-04-03  Jim Meyering  <meyering@redhat.com>
57532
57533         vc-list-files: don't cause coreutils "make po-check" failure
57534         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
57535
57536 2008-04-03  Eric Blake  <ebb9@byu.net>
57537
57538         Allow VPATH usage of vc-list-files.
57539         * build-aux/vc-list-files (scriptversion): Add timestamp.
57540         (options): Add --help, --version, -C.
57541         (CVS): Support installed cvsu.
57542
57543 2008-04-02  Bruno Haible  <bruno@clisp.org>
57544
57545         Avoid some "statement with no effect" warnings from gcc.
57546         * tests/test-wctype.c (main): Explicitly ignore unused values.
57547         Reported by Jim Meyering.
57548
57549 2008-04-02  Jim Meyering  <meyering@redhat.com>
57550
57551         Avoid some warnings from "gcc -Wshadow".
57552         * tests/test-frexp.c (exp): Define to a different identifier.
57553         * tests/test-frexpl.c (exp): Likewise.
57554
57555 2008-04-03  Jim Meyering  <meyering@redhat.com>
57556
57557         bootstrap: remove dangling *.[ch] symlinks from lib
57558         * build-aux/bootstrap [dangling symlink removal]: Move find's
57559         -depth option to precede all others, to avoid a warning.
57560         Remove *.[ch] files too, and from "$source_base" (usually lib/).
57561
57562 2008-04-02  Bruno Haible  <bruno@clisp.org>
57563
57564         Avoid some warnings from "gcc -Wshadow".
57565         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
57566         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
57567         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
57568         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
57569         Reported by Jim Meyering.
57570
57571 2008-04-01  Bruno Haible  <bruno@clisp.org>
57572
57573         Fix test to work on IRIX 6.5 with cc.
57574         * tests/test-math.c (numeric_equal): New function.
57575         (main): Use it.
57576
57577 2008-04-01  Bruno Haible  <bruno@clisp.org>
57578
57579         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
57580
57581 2008-04-01  Bruno Haible  <bruno@clisp.org>
57582
57583         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
57584         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57585         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
57586         (Depends-on): Remove math.
57587
57588         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
57589         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57590         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
57591         (Depends-on): Remove math.
57592
57593         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
57594         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57595         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
57596         (Depends-on): Remove math.
57597         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
57598         (Depends-on): Remove math.
57599
57600         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
57601         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
57602         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
57603         (Depends-on): Remove math.
57604         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
57605         (Depends-on): Remove math.
57606
57607         * tests/test-round1.c: Include nan.h.
57608         (main): Use NaNd instead of NAN.
57609         * modules/round-tests (Files): Add tests/nan.h.
57610
57611         * tests/test-trunc1.c: Include nan.h.
57612         (main): Use NaNd instead of NAN.
57613         * modules/trunc-tests (Files): Add tests/nan.h.
57614
57615         * tests/test-roundf1.c: Include nan.h.
57616         (main): Use NaNf instead of NAN.
57617         * modules/roundf-tests (Files): Add tests/nan.h.
57618
57619         * tests/test-truncf1.c: Include nan.h.
57620         (main): Use NaNf instead of NAN.
57621         * modules/truncf-tests (Files): Add tests/nan.h.
57622
57623         * tests/test-ceilf1.c: Include nan.h.
57624         (main): Use NaNf instead of NAN.
57625         * modules/ceilf-tests (Files): Add tests/nan.h.
57626
57627         * tests/test-floorf1.c: Include nan.h.
57628         (main): Use NaNf instead of NAN.
57629         * modules/floorf-tests (Files): Add tests/nan.h.
57630
57631         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
57632         (main): Use NaNf instead of NAN.
57633         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
57634
57635         * tests/test-isnand.c: Include nan.h instead of <math.h>.
57636         (main): Use NaNd instead of NAN.
57637         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
57638
57639         * tests/test-frexp.c: Include nan.h.
57640         (main): Use NaNd instead of NAN.
57641         * modules/frexp-tests (Files): Add tests/nan.h.
57642
57643         * lib/isnan.c: Don't include <math.h>.
57644         (FUNC): Don't use NAN macro.
57645         * modules/isnand-nolibm (Depends-on): Remove math.
57646         * modules/isnanf-nolibm (Depends-on): Remove math.
57647         * modules/isnanl (Depends-on): Remove math.
57648         * modules/isnanl-nolibm (Depends-on): Remove math.
57649
57650         * tests/nan.h: New file.
57651
57652 2008-04-01  Eric Blake  <ebb9@byu.net>
57653
57654         Fix typos.
57655         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
57656         values to be the right type.
57657
57658         For now, cater to gnulib strtod inaccuracies.
57659         * tests/test-strtod.c (main): Allow 1-ulp error on expected
57660         fractional results.  While not as nice from a QoI perspective, it
57661         is a quicker patch than correctly implementing decimal to binary
57662         rounding.
57663
57664 2008-03-31  Eric Blake  <ebb9@byu.net>
57665
57666         Guarantee a definition of NAN.
57667         * lib/math.in.h (NAN): Define if missing.
57668         * tests/test-math.c (main): Test it.
57669         * doc/posix-headers/math.texi (math.h): Document this.
57670         * lib/isnan.c (rpl_isnand): Use it.
57671         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
57672         * tests/test-floorf1.c (NaN): Likewise.
57673         * tests/test-frexp.c (NaN): Likewise.
57674         * tests/test-isnand.c (NaN): Likewise.
57675         * tests/test-isnanf.c (NaN): Likewise.
57676         * tests/test-round1.c (NaN): Likewise.
57677         * tests/test-roundf1.c (NaN): Likewise.
57678         * tests/test-snprintf-posix.h (NaN): Likewise.
57679         * tests/test-sprintf-posix.h (NaN): Likewise.
57680         * tests/test-trunc1.c (NaN): Likewise.
57681         * tests/test-truncf1.c (NaN): Likewise.
57682         * tests/test-vasnprintf-posix.c (NaN): Likewise.
57683         * tests/test-vasprintf-posix.c (NaN): Likewise.
57684         * modules/isnand-nolibm (Depends-on): Add math.
57685         * modules/isnanf-nolibm (Depends-on): Likewise.
57686         * modules/isnanl (Depends-on): Likewise.
57687         * modules/isnanl-nolibm (Depends-on): Likewise.
57688         * modules/snprintf-posix-tests (Depends-on): Likewise.
57689         * modules/sprintf-posix-tests (Depends-on): Likewise.
57690         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
57691         * modules/vsprintf-posix-tests (Depends-on): Likewise.
57692         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
57693         * modules/vasprintf-posix-tests (Depends-on): Likewise.
57694
57695 2008-03-31  Bruno Haible  <bruno@clisp.org>
57696
57697         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
57698         * doc/posix-functions/strtod.texi: Likewise.
57699
57700 2008-03-31  Bruno Haible  <bruno@clisp.org>
57701
57702         * tests/test-strtod.c (main): Don't use C99 syntax.
57703
57704 2008-03-31  Bruno Haible  <bruno@clisp.org>
57705
57706         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
57707         Reported by Eric Blake.
57708
57709 2008-03-31  Jim Meyering  <meyering@redhat.com>
57710
57711         Don't compare actual signbit return values.
57712         * tests/test-strtod.c (main): Rather, compare only their
57713         zero/non-zero nature.
57714
57715 2008-03-31  Eric Blake  <ebb9@byu.net>
57716
57717         More strtod documentation.
57718         * doc/posix-functions/strtod.texi (strtod): Interpret more test
57719         failures as distinct bugs.
57720
57721 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
57722
57723         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
57724         Problem reported by Erik Benada in
57725         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
57726
57727 2008-03-30  Bruno Haible  <bruno@clisp.org>
57728
57729         * tests/test-strtod.c: Add comments about which assertion fails on which
57730         platform.
57731         * doc/posix-functions/strtod.texi: Add info about many more platforms.
57732
57733 2008-03-30  Eric Blake  <ebb9@byu.net>
57734
57735         Test signbit behavior on zeros.
57736         * tests/test-signbit.c (test_signbitf): Add tests for zero.
57737         (test_signbitd, test_signbitl): Likewise.
57738
57739         More strtod touchups.
57740         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
57741         sign of negative underflow, for now.  Use .5, not .1.
57742         * doc/posix-functions/strtod.texi (strtod): Mention these
57743         limitations.
57744         Reported by Jim Meyering.
57745
57746 2008-03-30  Bruno Haible  <bruno@clisp.org>
57747
57748         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
57749         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
57750
57751 2008-03-30  Bruno Haible  <bruno@clisp.org>
57752
57753         Avoid failure when attempting to return empty iconv results on some
57754         platforms.
57755         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
57756         allocation, don't report ENOMEM when the resulting string is empty.
57757
57758 2008-03-30  Bruno Haible  <bruno@clisp.org>
57759
57760         Fix buffer overrun.
57761         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
57762         Don't consider the width for tmp_length. Check count against tmp_length
57763         before doing the padding. Ensure enough allocation during padding.
57764
57765 2008-03-30  Eric Blake  <ebb9@byu.net>
57766
57767         strtod touchups.
57768         * lib/strtod.c (strtod): Avoid compiler warnings.
57769         Reported by Jim Meyering.
57770
57771 2008-03-30  Bruno Haible  <bruno@clisp.org>
57772
57773         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
57774         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
57775         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
57776         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
57777         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
57778         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
57779         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
57780         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
57781
57782         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
57783         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
57784         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
57785         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
57786         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
57787         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
57788         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
57789         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
57790
57791         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
57792         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
57793         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
57794         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
57795         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
57796         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
57797         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
57798         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
57799
57800         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
57801         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
57802
57803         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
57804         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
57805
57806         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
57807         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
57808
57809         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
57810         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
57811         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
57812
57813         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
57814         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
57815         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
57816
57817         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
57818         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
57819         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
57820
57821         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
57822         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
57823         * modules/vasprintf (Depends-on): Add EOVERFLOW.
57824
57825         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
57826         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
57827         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
57828         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
57829         (Depends-on): Add EOVERFLOW.
57830         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
57831         (Depends-on): Add EOVERFLOW.
57832         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57833         (Depends-on): Add EOVERFLOW.
57834         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
57835         (Depends-on): Add EOVERFLOW.
57836         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57837         (Depends-on): Add EOVERFLOW.
57838         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
57839         (Depends-on): Add EOVERFLOW.
57840         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57841         (Depends-on): Add EOVERFLOW.
57842         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
57843         (Depends-on): Add EOVERFLOW.
57844
57845         * lib/sprintf.c (EOVERFLOW): Remove fallback.
57846         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
57847         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
57848
57849         * lib/snprintf.c (EOVERFLOW): Remove fallback.
57850         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
57851         * modules/snprintf (Depends-on): Add EOVERFLOW.
57852
57853         * lib/poll.c (EOVERFLOW): Remove fallback.
57854         * modules/poll (Depends-on): Add EOVERFLOW.
57855
57856         * lib/getugroups.c (EOVERFLOW): Remove fallback.
57857         * modules/getugroups (Depends-on): Add EOVERFLOW.
57858
57859         * lib/getdelim.c (EOVERFLOW): Remove fallback.
57860         * modules/getdelim (Depends-on): Add EOVERFLOW.
57861
57862         * lib/ftell.c (EOVERFLOW): Remove fallback.
57863         * modules/ftell (Depends-on): Add EOVERFLOW.
57864
57865         * lib/fprintf.c (EOVERFLOW): Remove fallback.
57866         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
57867         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
57868
57869         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
57870
57871         * modules/EOVERFLOW-tests: New file.
57872         * tests/test-EOVERFLOW.c: New file.
57873
57874         * modules/EOVERFLOW: New file.
57875         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
57876
57877 2008-03-30  Bruno Haible  <bruno@clisp.org>
57878
57879         Fix bug introduced on 2007-06-10.
57880         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
57881         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
57882
57883 2008-03-30  Bruno Haible  <bruno@clisp.org>
57884
57885         Improve freadseek's efficiency after ungetc.
57886         * lib/freadseek.c: Include freadahead.h.
57887         (freadptrinc): New function, extracted from freadseek.
57888         (freadseek): Use it in a loop. Use freadahead to determine the number
57889         of loop iterations.
57890         * modules/freadseek (Depends-on): Add freadahead.
57891         (configure.ac): Require AC_C_INLINE.
57892
57893 2008-03-30  Bruno Haible  <bruno@clisp.org>
57894
57895         * lib/freadseek.c (freadseek): Don't ignore the return value of
57896         freadptr.
57897
57898 2008-03-29  Eric Blake  <ebb9@byu.net>
57899
57900         Add hex float support.
57901         * modules/strtod (Depends-on): Add c-ctype.
57902         (Link): Mention POW_LIB.
57903         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
57904         whitespace between 'e' and exponent.
57905         * tests/test-strtod.c (main): Enable hex float tests.
57906         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
57907         now provides.
57908
57909         Document various strtod bugs, with some fixes.
57910         * doc/posix-functions/strtod.texi (strtod): Document bugs with
57911         "-0x", "inf", "nan", and hex constants.
57912         * doc/posix-functions/atof.texi (atof): Likewise.
57913         * modules/stdlib (Makefile.am): Support strtod.
57914         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
57915         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
57916         detect additional strtod bugs.
57917         * lib/stdlib.in.h (rpl_strtod): Add declarations.
57918         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
57919         bool where appropriate.  Parse 'inf' and 'nan'.
57920         * tests/test-strtod.c: New file.
57921         * modules/strtod (Depends-on): Add stdbool, stdlib.
57922         (configure.ac): Turn on module indicator.
57923         * modules/strtod-tests: New module.
57924
57925 2008-03-29  Eric Blake  <ebb9@byu.net>
57926
57927         Fix ftell on mingw.
57928         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
57929         * modules/ftell-tests (Depends-on): Add binary-io.
57930         * modules/ftello-tests (Depends-on): Likewise.
57931         * tests/test-ftell.c (main): Enhance test to cover behavior after
57932         ungetc.  Enforce binary mode.
57933         * tests/test-ftello.c (main): Likewise.
57934
57935         Pass test-freadseek on cygwin.
57936         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
57937         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
57938         ungetc buffer.
57939
57940         * tests/test-fflush2.c (main): Fix typo.
57941
57942 2008-03-29  Bruno Haible  <bruno@clisp.org>
57943
57944         * tests/test-fflush2.c (main): Temporarily disable the contents of
57945         this test.
57946         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
57947         Reported by Eric Blake.
57948
57949 2008-03-28  Simon Josefsson  <simon@josefsson.org>
57950
57951         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
57952         (GC_SHA224_DIGEST_SIZE): Add.
57953
57954         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
57955         (gc_hash_digest_length): Likewise.
57956         (gc_hash_buffer): Likewise.
57957
57958 2008-03-25  Bruno Haible  <bruno@clisp.org>
57959
57960         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
57961         detail which gettext release to use.
57962         Reported by Simon Josefsson.
57963
57964 2008-03-26  Jim Meyering  <meyering@redhat.com>
57965
57966         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
57967         * modules/gnumakefile (clean-GNUmakefile): Also, use
57968         test ... && ... || : syntax rather than if-then ... fi.
57969
57970         gnumakefile: Don't double-quote-expand $(VPATH) value.
57971         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
57972
57973 2008-03-24  Eric Blake  <ebb9@byu.net>
57974
57975         Alter GNUmakefile to install into top directory.
57976         * modules/maintainer-makefile: Split, and add dependency...
57977         * modules/gnumakefile: to this new module.
57978         * build-aux/GNUmakefile: Move...
57979         * top/GNUmakefile: ...here.
57980         * build-aux/maint.mk: Move...
57981         * top/maint.mk: ...here.
57982         * MODULES.html.sh (Support for maintaining...): Document new
57983         module.
57984
57985 2008-03-23  Bruno Haible  <bruno@clisp.org>
57986
57987         * gnulib-tool: New options --vc-files, --no-vc-files.
57988         (func_usage): Document them.
57989         (vc_files): New variable.
57990         (func_import): Consider vc_files.
57991         (func_create_testdir): Set vc_files to empty.
57992         Suggested by Jim Meyering and Karl Berry.
57993
57994 2008-03-23  Bruno Haible  <bruno@clisp.org>
57995
57996         Fix regex compilation error on HP-UX 11.
57997         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
57998         * modules/regex (Files): Add m4/mbstate_t.m4.
57999         Reported by Ton Voon <ton.voon@altinity.com>.
58000
58001 2008-03-23  Bruno Haible  <bruno@clisp.org>
58002
58003         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58004
58005 2008-03-23  Eric Blake  <ebb9@byu.net>
58006             Bruno Haible  <bruno@clisp.org>
58007
58008         Install files from top/ in the destination directory.
58009         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58010         augmentation also for the files from top/.
58011         (func_import, func_create_testdir): Rewrite file names:
58012         top/filename -> filename.
58013
58014 2008-03-23  Bruno Haible  <bruno@clisp.org>
58015
58016         Tweak "gnulib --version" output.
58017         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58018
58019 2008-03-23  Bruno Haible  <bruno@clisp.org>
58020
58021         Tweak "gnulib --version" output.
58022         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58023         rather than contents of ChangeLog, when possible.
58024
58025 2008-03-21  Eric Blake  <ebb9@byu.net>
58026
58027         More --version tweaks.
58028         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58029         date of last ChangeLog entry.
58030
58031 2008-03-21  Jim Meyering  <meyering@redhat.com>
58032
58033         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58034
58035 2008-03-20  Eric Blake  <ebb9@byu.net>
58036
58037         VPATH fix.
58038         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58039
58040 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58041
58042         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58043         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58044
58045 2008-03-20  Eric Blake  <ebb9@byu.net>
58046
58047         Sync GNUmakefile with coreutils.
58048         * build-aux/GNUmakefile (have-Makefile): Rename...
58049         (_have-Makefile): ...to this, for namespace consideration.
58050         (GNUmakefile.cfg): Include, if present.
58051         (_autoreconf): Define a default.
58052         (_is-dist-target): New rule for rebuilds to pick up intra-release
58053         version.
58054         (maint-cfg.mk): Rename...
58055         (cfg.mk): ...to this.
58056
58057 2008-03-18  Jim Meyering  <meyering@redhat.com>
58058
58059         New script and module: mktempd
58060         * MODULES.html.sh (maint+release support): Add mktempd.
58061         * build-aux/mktempd: New file.
58062         * modules/mktempd: New file.
58063
58064 2008-03-15  Jim Meyering  <meyering@redhat.com>
58065
58066         Undo last change.
58067         * lib/sha1.c, lib/md5.c: 63 != ~63.
58068         Reported by Andreas Schwab.
58069
58070         sha1.c, md5.c: Hoist a redundant expression.
58071         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58072         "ctx->buflen" only once, before calling *_process_block.
58073         * lib/md5.c (md5_process_bytes): Likewise.
58074
58075 2008-03-14  Eric Blake  <ebb9@byu.net>
58076
58077         Bump copyright year in files generated by gnulib-tool.
58078         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58079         gnulib-tool, rather than hard-coding it.
58080
58081         Fix 'gnulib-tool --version' output to work with git.
58082         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58083         (startup): ...here.
58084         (func_version): Use it to invoke git-version-gen, rather than
58085         relying on CVS keyword expansion.  Modernize wording.
58086         (cvsdatestamp, last_checkin_date, version): Kill unused
58087         variables.
58088
58089 2008-03-12  Jim Meyering  <meyering@redhat.com>
58090
58091         Recognize optional cast of the argument to free.
58092         * build-aux/useless-if-before-free: Update regexps.
58093
58094         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58095
58096 2008-03-11  Bruno Haible  <bruno@clisp.org>
58097
58098         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58099         by a single package.
58100         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58101         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58102         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58103         Reported by Sam Steingold <sds@gnu.org>.
58104
58105 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58106
58107         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58108         repositories.
58109
58110 2008-03-11  Bruno Haible  <bruno@clisp.org>
58111
58112         Avoid conflicts between local macro definitions.
58113         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58114         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58115
58116 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58117             Bruno Haible  <bruno@clisp.org>
58118
58119         Make va_copy work with some version of xlc on AIX 5.1.
58120         * lib/stdarg.in.h: New file.
58121         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58122         On AIX, use a <stdarg.h> file substitute.
58123         * modules/stdarg (Files): Add lib/stdarg.in.h.
58124         (Depends-on): Add include_next.
58125         (Makefile.am): Build a stdarg.h substitute if requested.
58126         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58127
58128 2008-03-10  Bruno Haible  <bruno@clisp.org>
58129
58130         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58131         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58132         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58133
58134 2008-03-10  Bruno Haible  <bruno@clisp.org>
58135
58136         * modules/stdlib (Depends-on): Add include_next, remove
58137         absolute-header.
58138
58139 2008-03-09  Bruno Haible  <bruno@clisp.org>
58140
58141         * lib/freadahead.h (freadahead): Document more precisely.
58142         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58143         the sum of both buffer sizes.
58144         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58145         * NEWS: Document the change.
58146
58147 2008-03-09  Bruno Haible  <bruno@clisp.org>
58148
58149         Extend freadptr to return also the buffer size.
58150         * lib/freadptr.h (freadptr): Add sizep argument.
58151         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58152         (freadptr): Add sizep argument. Determine buffer size like freadahead
58153         does.
58154         * tests/test-freadptr.c: Don't include freadahead.h.
58155         (main): Adapt for new calling convention of freadptr.
58156         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58157         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58158         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58159         tests/test-freadptr2.sh.
58160         (Depends): Remove freadahead.
58161         (TESTS): Add test-freadptr2.sh.
58162         (check_PROGRAMS): Add test-freadptr2.
58163
58164 2008-03-09  Bruno Haible  <bruno@clisp.org>
58165
58166         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58167         Report and solution by Simon Josefsson.
58168
58169 2008-03-06  Bruno Haible  <bruno@clisp.org>
58170
58171         Make fflush after ungetc work on BSD platforms.
58172         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
58173         * tests/test-fflush2.c: New file.
58174         * tests/test-fflush2.sh: New file.
58175         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
58176         tests/test-fflush2.c.
58177         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
58178         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
58179
58180 2008-03-06  Eric Blake  <ebb9@byu.net>
58181
58182         Likewise for ftello.
58183         * modules/ftello (Dependencies): Add extensions.
58184         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
58185
58186 2008-03-06  Bruno Haible  <bruno@clisp.org>
58187
58188         * modules/fseeko (Dependencies): Add extensions.
58189         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
58190         Needed on glibc systems.
58191
58192 2008-03-06  Bruno Haible  <bruno@clisp.org>
58193
58194         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
58195         email address.
58196         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58197
58198 2008-03-06  Bruno Haible  <bruno@clisp.org>
58199
58200         * users.txt: Add libgnupdf.
58201
58202 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
58203
58204         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
58205         (Header File Substitutes, Function Substitutes,
58206         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
58207         (Build robot for gnulib): Fix typo.
58208
58209 2008-03-06  Bruno Haible  <bruno@clisp.org>
58210
58211         * doc/gnulib-tool.texi (VCS Issues): Small updates.
58212         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58213
58214 2008-03-06  Bruno Haible  <bruno@clisp.org>
58215
58216         * doc/func.texi: New file, extracted from doc/gnulib.texi.
58217         * doc/gnulib.texi: Include it.
58218
58219 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58220
58221         * modules/func (License): Change license to unlimited; there was
58222         no LGPL parts in the module anyway.
58223
58224 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58225
58226         * modules/__func__: Renamed to modules/func.
58227         * modules/__func__-tests: Renamed to modules/func-tests.
58228         * tests/test-__func__.c: Renamed to tests/test-func.c.
58229         * m4/__func__.m4: Renamed to m4/func.m4.
58230         * doc/gnulib.texi (__func__): Section renamed to func.
58231         Suggested by Eric Blake <ebb9@byu.net>.
58232
58233 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58234
58235         * doc/gnulib.texi (__func__): Use C99 terminology when talking
58236         about __func__.  Make example self-contained.  Suggested by Eric
58237         Blake <ebb9@byu.net>.
58238
58239         * tests/test-__func__.c (main): Avoid extraneous () around __func.
58240         Suggested by Eric Blake <ebb9@byu.net>.
58241
58242 2008-03-06  Simon Josefsson  <simon@josefsson.org>
58243
58244         * modules/__func__: New file.
58245         * modules/__func__-tests: New file.
58246         * tests/test-__func__.c: New file.
58247         * m4/__func__.m4: New file.
58248         * doc/gnulib.texi (__func__): Document __func__ module.
58249
58250 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58251
58252         * modules/byteswap (License): Re-license as LGPLv2+.
58253
58254 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58255
58256         * doc/Makefile: Add pdf target.
58257
58258 2008-03-05  Simon Josefsson  <simon@josefsson.org>
58259
58260         * modules/inline (License): Use 'unlimited', since there are only
58261         *.m4 files in this module.
58262
58263 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58264             Bruno Haible  <bruno@clisp.org>
58265
58266         Add support for HP C 7.1 on OpenVMS 8.3.
58267         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
58268
58269 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
58270
58271         Update VMS specifics.
58272         * lib/getopt.c [VMS]: Remove include of unixlib.h.
58273
58274 2008-03-02  Jim Meyering  <meyering@redhat.com>
58275
58276         Remove the last dependency on the "free" module.
58277         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
58278         Reported by Bob Proulx.
58279
58280         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
58281
58282         Remove useless "if" tests before free.  Deprecate "free" module.
58283         * doc/posix-functions/free.texi: Mention that this
58284         module is no longer useful.
58285         * modules/free (Notice): Say this module is obsolete.
58286         * modules/readutmp (Depends-on): Remove free.
58287         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
58288         * lib/putenv.c (putenv): Likewise.
58289         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
58290         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
58291         * tests/test-c-strcasestr.c (main): Likewise.
58292         * tests/test-c-strstr.c (main): Likewise.
58293         * tests/test-mbscasestr1.c (main): Likewise.
58294         * tests/test-mbscasestr2.c (main): Likewise.
58295         * tests/test-mbsstr1.c (main): Likewise.
58296         * tests/test-mbsstr2.c (main): Likewise.
58297         * tests/test-memmem.c (main): Likewise.
58298         * tests/test-strcasestr.c (main): Likewise.
58299         * tests/test-striconv.c (main): Likewise.
58300         * tests/test-striconveh.c (main): Likewise.
58301         * tests/test-striconveha.c (main): Likewise.
58302         * tests/test-strstr.c (main): Likewise.
58303
58304         * build-aux/git-version-gen: Adjust a comment and the Usage string.
58305
58306         bootstrap: sync from coreutils again
58307         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
58308
58309 2008-03-01  Jim Meyering  <meyering@redhat.com>
58310
58311         bootstrap: sync from coreutils
58312         * build-aux/bootstrap (update_po_files): Copy a .po file into place
58313         also when the target doesn't exist.
58314
58315 2008-03-01  Eric Blake  <ebb9@byu.net>
58316
58317         Fix bugs in last patch.
58318         * lib/memchr2.c (memchr2): Fix typo.
58319         * tests/test-memchr2.c: Test previous bug, and don't use GNU
58320         extension.
58321         Reported by Bruce Korb.
58322
58323         New module 'memchr2'.
58324         * modules/memchr2: New file.
58325         * modules/memchr2-tests: Likewise.
58326         * lib/memchr2.h: Likewise.
58327         * lib/memchr2.c: Likewise, based on memchr.c.
58328         * tests/test-memchr2.c: New test.
58329         * MODULES.html.sh (String handling): Add memchr2.
58330
58331 2008-02-29  Bruno Haible  <bruno@clisp.org>
58332
58333         * modules/freadseek-tests: New file.
58334         * tests/test-freadseek.sh: New file.
58335         * tests/test-freadseek.c: New file.
58336
58337         New module 'freadseek'.
58338         * modules/freadseek: New file.
58339         * lib/freadseek.h: New file.
58340         * lib/freadseek.c: New file.
58341         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
58342
58343 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
58344
58345         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
58346         wydawca.
58347
58348         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
58349         program_invocation_name and program_invocation_short_name are
58350         present.
58351
58352 2008-02-28  Bruno Haible  <bruno@clisp.org>
58353
58354         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
58355         * tests/test-freadptr.sh: Also test non-seekable stdin.
58356
58357 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
58358
58359         * build-aux/bootstrap (source_base, m4_base)
58360         (doc_base, tests_base): New variables.
58361         (gnulib_tool_options): Do not hardcode base directories, use
58362         the above variables instead.
58363
58364 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
58365
58366         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
58367
58368 2008-02-28  Bruno Haible  <bruno@clisp.org>
58369
58370         * modules/freadptr-tests: New file.
58371         * tests/test-freadptr.sh: New file.
58372         * tests/test-freadptr.c: New file.
58373
58374         New module 'freadptr'.
58375         * modules/freadptr: New file.
58376         * lib/freadptr.h: New file.
58377         * lib/freadptr.c: New file.
58378         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
58379
58380 2008-02-26  Karl Berry  <karl@freefriends.org>
58381
58382         Sync from Libtool:
58383         * libltdl/argz.c (argz_add, argz_count): New functions.
58384         * libltdl/argz.in.h: Declare them.
58385         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
58386
58387 2008-02-22  Bruno Haible  <bruno@clisp.org>
58388
58389         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
58390         is a pointer type.  Needed for HP-UX 10.
58391         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
58392         * doc/posix-functions/gmtime_r.texi: Likewise.
58393         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58394
58395 2008-02-24  Bruno Haible  <bruno@clisp.org>
58396
58397         * modules/environ-tests: New file.
58398         * tests/test-environ.c: New file.
58399
58400         New module 'environ'.
58401         * modules/environ: New file.
58402         * lib/unistd.in.h (environ): New declaration.
58403         * m4/environ.m4: New file.
58404         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
58405         after use.
58406         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
58407         HAVE_DECL_ENVIRON.
58408         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
58409         HAVE_DECL_ENVIRON.
58410         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
58411         wrong claim that 'environ' is missing on some systems.
58412         * modules/execute (Depends-on): Add environ.
58413         * lib/execute.c (environ): Remove fallback declaration.
58414         * modules/pipe (Depends-on): Add environ.
58415         * lib/pipe.c (environ): Remove fallback declaration.
58416         * modules/setenv (Depends-on): Add environ.
58417         * lib/setenv.c (environ): Remove fallback declaration.
58418         * modules/unsetenv (Depends-on): Add environ.
58419         * lib/unsetenv.c (environ): Remove fallback declaration.
58420         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
58421         m4/environ.m4.
58422         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
58423         (gl_PREREQ_UNSETENV): Likewise.
58424
58425 2008-02-24  Bruno Haible  <bruno@clisp.org>
58426
58427         * doc/posix-functions/environ.texi: Document the MacOS X problem.
58428
58429 2008-02-20  Bob Proulx  <bob@proulx.com>
58430
58431         Enable use of older two part flavor 'git describe'.
58432         * build-aux/git-version-gen: If using the older two part flavor of
58433         git version then recreate the third part now present in the
58434         newer three part flavor of git describe.
58435
58436 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
58437
58438         * lib/fts.c (fts_build): Typo correction to comment.
58439
58440 2008-02-17  Bruno Haible  <bruno@clisp.org>
58441
58442         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
58443         generating no-op conflicts.
58444
58445 2008-02-17  Bruno Haible  <bruno@clisp.org>
58446
58447         Speed up by 10%.
58448         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
58449         result_entries, rather than an index-based loop.
58450
58451 2008-02-17  Bruno Haible  <bruno@clisp.org>
58452
58453         Speed up by 25%.
58454         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
58455         'hashcode_cached'.
58456         (entry_create): New function.
58457         (entry_hashcode): Use the cached hashcode if possible.
58458         (read_changelog_file, try_split_merged_entry): Use entry_create.
58459
58460 2008-02-17  Bruno Haible  <bruno@clisp.org>
58461
58462         Speed up from O(n^2) to O(n) for long ChangeLog files.
58463         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
58464         (read_changelog_file): Change implementation of entries_reversed list
58465         to rbtreehash.
58466         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
58467
58468 2008-02-17  Bruno Haible  <bruno@clisp.org>
58469
58470         New option --split-merged-entry.
58471         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
58472         (find_paragraph_end, try_split_merged_entry): New functions.
58473         (long_options): Add option --split-merged-entry.
58474         (usage): Document option --split-merged-entry.
58475         (main): Implement option --split-merged-entry.
58476         Reported by Eric Blake.
58477
58478 2008-02-17  Bruno Haible  <bruno@clisp.org>
58479
58480         * lib/git-merge-changelog.c: Include c-strstr.h.
58481         (main): Support the "git pull --rebase" situation.
58482         * modules/git-merge-changelog (Depends-on): Add c-strstr.
58483         Reported by Eric Blake.
58484
58485 2008-02-16  Eric Blake  <ebb9@byu.net>
58486
58487         Avoid doubling \ in common case of "c-maybe" quoting style.
58488         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
58489         eliding outer quotes.
58490         * lib/quotearg.h: Document this.
58491         * tests/test-quotearg.c (result_strings, inputs, results_g)
58492         (flag_results, locale_results): Test it by adding a new string to
58493         each test group.
58494         (compare_strings): Test new string.
58495
58496 2008-02-13  Eric Blake  <ebb9@byu.net>
58497
58498         Avoid trigraph quoting in default output.
58499         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
58500         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
58501         unless explicitly requested.
58502         * tests/test-quotearg.c (flag_results, main): Add additional tests.
58503
58504 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
58505
58506         Don't rely on signed integer overflowing to negative value.
58507         * lib/getugroups.c (getugroups): Include <limits.h>.
58508         Instead, compare against INT_MAX, and increment only if the test passes.
58509
58510 2008-02-13  Jim Meyering  <meyering@redhat.com>
58511         and Eric Blake  <ebb9@byu.net>
58512
58513         Avoid shadowing warning and compile errors on Linux.
58514         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
58515         forwarding macros on Linux.
58516         (dcgettext): Define a stub, for Linux.
58517         (results_g, main): Avoid warnings.
58518
58519 2008-02-12  Eric Blake  <ebb9@byu.net>
58520
58521         Silence warning in last patch.
58522         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
58523
58524         Quotearg part 4: add tests, fix c-maybe colon quoting.
58525         * lib/quotearg.h: Improve documentation.
58526         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
58527         escapes when adding outer quotes.  When quoting trigraphs, use
58528         valid C notation.  When quoting NUL, omit extra characters if next
58529         character is not digit.  Alter prototype.
58530         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
58531         callers.
58532         * modules/quotearg-tests: New module.
58533         * tests/test-quotearg.c: New test.
58534
58535 2008-02-07  Eric Blake  <ebb9@byu.net>
58536
58537         Quotearg part 3: add flag to control outer quote elision.
58538         * lib/quotearg.h (c_maybe_quoting_style): New style.
58539         (enum quoting_flags): Better documentation of flags.
58540         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
58541         c-maybe style.
58542         (quotearg_buffer_restyled): Handle new flag to elide outer
58543         quotes.
58544
58545         Quotearg part 2: add flag that can control NUL elision.
58546         * lib/quotearg.h (set_quoting_flags): New prototype.
58547         * lib/quotearg.c (struct quoting_options): Add flag field.
58548         (set_quoting_flags): New function.
58549         (quotearg_buffer_restyled): Add flags parameter.
58550         (quotearg_alloc_mem): Set the flag if length cannot be returned.
58551         (quotearg_n_options): Set the flag, since length cannot be
58552         returned.
58553         (quoting_options_from_style): Default flags correctly.
58554
58555         Quotearg part 1: more wrappers, restore quotearg_char state.
58556         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
58557         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
58558         (quotearg_colon_mem): New wrappers.
58559         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
58560         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
58561         functions.
58562         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
58563         (quotearg_colon_mem): New functions.
58564
58565 2008-02-11  Bruno Haible  <bruno@clisp.org>
58566
58567         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
58568         library in the current directory: it does not work with parallel make.
58569         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58570
58571 2008-02-11  Bruno Haible  <bruno@clisp.org>
58572
58573         * .gitattributes: New file.
58574
58575 2008-02-11  Jim Meyering  <meyering@redhat.com>
58576
58577         useless-if-before-free: Fix reversed exit values.
58578         * build-aux/useless-if-before-free: Use correct values
58579         for EXIT_MATCH and EXIT_NO_MATCH.
58580
58581         * build-aux/useless-if-before-free: Close stdout carefully.
58582
58583 2008-02-10  Bruno Haible  <bruno@clisp.org>
58584
58585         New module 'git-merge-changelog'.
58586         * modules/git-merge-changelog: New file.
58587         * lib/git-merge-changelog.c: New file.
58588
58589 2008-02-10  Jim Meyering  <meyering@redhat.com>
58590
58591         useless-if-before-free: New option: --list (-l).
58592
58593         useless-if-before-free: Don't exit immediately upon open failure.
58594         * build-aux/useless-if-before-free: Exit 2 for errors.
58595         Upon failure to open a file, don't exit immediately.
58596         Rather, just warn and continue with any remaining files.
58597
58598 2008-02-10  Bruno Haible  <bruno@clisp.org>
58599
58600         New abstract list operation 'node_set_value'.
58601         * lib/gl_list.h (gl_list_node_set_value): New function.
58602         (struct gl_list_implementation): New field node_set_value.
58603         * lib/gl_list.c (gl_list_node_set_value): New function.
58604         * lib/gl_array_list.c (gl_array_node_set_value): New function.
58605         (gl_array_list_implementation): Update.
58606         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
58607         (gl_carray_list_implementation): Update.
58608         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
58609         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
58610         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
58611         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
58612         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
58613         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
58614         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
58615         Update.
58616         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
58617         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
58618         (gl_sublist_list_implementation): Update.
58619
58620 2008-02-10  Bruno Haible  <bruno@clisp.org>
58621
58622         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
58623         Needed when ELEMENT is #defined to 'some_type *'.
58624
58625 2008-02-10  Jim Meyering  <meyering@redhat.com>
58626
58627         New script and module: useless-if-before-free
58628         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
58629         * build-aux/useless-if-before-free: New file.
58630         * modules/useless-if-before-free: New file.
58631
58632         * build-aux/gitlog-to-changelog: Use committer date, not author date.
58633
58634         xstrtol_error: Fix typo.
58635         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
58636         s/exit_failure/exit_status/.
58637
58638 2008-02-09  Jim Meyering  <meyering@redhat.com>
58639
58640         New script and module: gitlog-to-changelog
58641         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
58642         * modules/gitlog-to-changelog: New file.
58643         * build-aux/gitlog-to-changelog: New file.
58644
58645 2008-02-08  Jim Meyering  <meyering@redhat.com>
58646
58647         Avoid two "parameter unused" warnings.
58648         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
58649         Mark "st" as used.
58650
58651         Use "git COMMAND", not "git-COMMAND".
58652         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
58653         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
58654         * build-aux/git-version-gen: Use "git status", not "git-status".
58655
58656 2008-02-07  Bruno Haible  <bruno@clisp.org>
58657
58658         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
58659         Avoids a crash on Windows Vista.
58660         Reported by Adam Strzelecki <ono@java.pl> via
58661         Simon Josefsson <simon@josefsson.org>.
58662
58663 2008-02-06  Bruno Haible  <bruno@clisp.org>
58664
58665         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
58666         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
58667         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
58668         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
58669         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58670         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58671         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
58672         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
58673         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58674         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58675         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58676         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58677         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58678         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58679         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58680         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
58681         left-adjust flag.
58682         * tests/test-snprintf-posix.h (test_function): Likewise.
58683         * tests/test-sprintf-posix.h (test_function): Likewise.
58684         * tests/test-vasprintf-posix.c (test_function): Likewise.
58685         * doc/posix-functions/fprintf.texi: Update.
58686         * doc/posix-functions/printf.texi: Update.
58687         * doc/posix-functions/snprintf.texi: Update.
58688         * doc/posix-functions/sprintf.texi: Update.
58689         * doc/posix-functions/vfprintf.texi: Update.
58690         * doc/posix-functions/vprintf.texi: Update.
58691         * doc/posix-functions/vsnprintf.texi: Update.
58692         * doc/posix-functions/vsprintf.texi: Update.
58693         Reported by Peter Fales <psfales@alcatel-lucent.com>.
58694
58695 2008-02-06  Bruno Haible  <bruno@clisp.org>
58696
58697         Fix bug introduced on 2008-01-26.
58698         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
58699
58700 2008-02-06  Bruno Haible  <bruno@clisp.org>
58701
58702         Fix bug introduced on 2007-06-10.
58703         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
58704         !NEED_PRINTF_FLAG_ZERO.
58705
58706 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
58707
58708         getloadavg: use libperfstat on AIX5
58709         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
58710
58711 2008-02-03  Bruno Haible  <bruno@clisp.org>
58712
58713         * lib/diffseq.h: Add comments about required #includes.
58714         Reported by Michael Biggs <gnulib@doubleplum.net>.
58715
58716 2008-02-01  Bruno Haible  <bruno@clisp.org>
58717
58718         * users.txt: Add gnuit.
58719
58720 2008-01-31  Bruno Haible  <bruno@clisp.org>
58721
58722         * lib/md4.c (set_uint32): Mark as inline.
58723         * lib/md5.c (set_uint32): Likewise.
58724         * lib/sha1.c (set_uint32): Likewise.
58725         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
58726         * m4/md5.m4 (gl_MD5): Likewise.
58727         * m4/sha1.m4 (gl_SHA1): Likewise.
58728
58729 2008-01-31  Jim Meyering  <meyering@redhat.com>
58730
58731         Use "sizeof VAR", rather than a literal "4".
58732         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
58733         * lib/md4.c (md4_read_ctx): Likewise.
58734         * lib/sha1.c (sha1_read_ctx): Likewise.
58735
58736 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58737
58738         * tests/test-sha1.c: New file, based on test-md5.c.
58739
58740         * modules/crypto/sha1-tests: New file.
58741
58742 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58743
58744         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
58745
58746 2008-01-31  Jim Meyering  <meyering@redhat.com>
58747
58748         Prefer "sizeof v" over the equivalent "4".
58749         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
58750         * lib/md5.c (set_uint32): Likewise.
58751         * lib/sha1.c (set_uint32): Likewise.
58752
58753 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58754
58755         * lib/sha1.c (set_uint32): Mark function as static.
58756
58757 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58758
58759         md2: clarify comments to say that alignment is not required.
58760         * lib/md2.h: Remove warning about alignment in comment.
58761         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
58762         never been required.
58763
58764 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58765
58766         md4: adapt alignment constraint fix from sha1.
58767         * lib/md4.c (set_uint32): New function, from sha1.c
58768         (md4_read_ctx): Use it.
58769         (md4_finish_ctx): Doc fix.
58770         * lib/md4.h: Doc fix.
58771
58772 2008-01-31  Simon Josefsson  <simon@josefsson.org>
58773
58774         md5: adapt alignment constraint fix from sha1.
58775         * lib/md5.c (set_uint32): New function, from sha1.c
58776         (md5_read_ctx): Use it.
58777         (md5_finish_ctx): Doc fix.
58778         * lib/md5.h: Doc fix.
58779
58780 2008-01-30  Peter Palfrader  <weasel@debian.org>
58781
58782         sha1: remove the result buffer alignment constraint
58783         * lib/sha1.c (set_uint32): New function.
58784         (sha1_read_ctx): Rewrite to remove the result buffer alignment
58785         constraint.
58786         (sha1_finish_ctx): Remove comment warning about alignment constraint.
58787         * lib/sha1.h: Likewise.
58788
58789 2008-01-30  Andreas Schwab  <schwab@suse.de>
58790             Bruno Haible  <bruno@clisp.org>
58791
58792         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
58793         correct definition of LDBL_MIN_EXP.
58794
58795 2008-01-30  Karl Berry  <karl@gnu.org>
58796
58797         * config/srclist-update: try to preserve x bit on updates.
58798         * config/srclistvars.sh: update for karl.
58799
58800 2008-01-29  Jim Meyering  <meyering@redhat.com>
58801
58802         vasnprintf.c: Avoid warning about unused label
58803         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
58804         "overflow" label definition and associated code with the
58805         same cpp condition that guards the sole use of that label.
58806
58807 2008-01-26  Bruno Haible  <bruno@clisp.org>
58808
58809         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
58810         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
58811         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
58812         * lib/isnanl-nolibm.h (isnanl): Likewise.
58813         Reported by Paul Eggert <eggert@cs.ucla.edu>.
58814
58815 2008-01-26  Bruno Haible  <bruno@clisp.org>
58816
58817         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
58818         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
58819
58820 2008-01-26  Bruno Haible  <bruno@clisp.org>
58821
58822         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
58823         GCC >= 4.0 built-in.
58824         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
58825
58826 2008-01-26  Bruno Haible  <bruno@clisp.org>
58827
58828         Rename isnan, applicable to 'double' only, to isnand.
58829         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
58830         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
58831         (configure.ac): Update.
58832         (Include): Replace "isnan.h" with "isnand.h".
58833         * m4/isnand.m4: Renamed from m4/isnan.m4.
58834         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
58835         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
58836         instead of isnan.c.
58837         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
58838         instead of HAVE_ISNAN_IN_LIBC.
58839         (isnand): Renamed from isnan.
58840         * lib/isnand.c: New file.
58841         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
58842         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
58843         (Makefile.am): Update.
58844         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
58845         Include isnand.h instead of isnan.h.
58846         (main): Test isnand instead of isnan.
58847         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
58848         isnan-nolibm.
58849         * modules/frexp (Depends-on): Likewise.
58850         * modules/frexp-tests (Depends-on): Likewise.
58851         * modules/frexp-nolibm (Depends-on): Likewise.
58852         * modules/frexp-nolibm-tests (Depends-on): Likewise.
58853         * modules/isfinite (Depends-on): Likewise.
58854         * modules/round-tests (Depends-on): Likewise.
58855         * modules/signbit (Depends-on): Likewise.
58856         * modules/signbit-tests (Depends-on): Likewise.
58857         * modules/snprintf-posix (Depends-on): Likewise.
58858         * modules/sprintf-posix (Depends-on): Likewise.
58859         * modules/trunc-tests (Depends-on): Likewise.
58860         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58861         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58862         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58863         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58864         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58865         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58866         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58867         * modules/vasnprintf-posix (Depends-on): Likewise.
58868         * modules/vasprintf-posix (Depends-on): Likewise.
58869         * modules/vfprintf-posix (Depends-on): Likewise.
58870         * modules/vsnprintf-posix (Depends-on): Likewise.
58871         * modules/vsprintf-posix (Depends-on): Likewise.
58872         * lib/frexp.c: Include isnand.h instead of isnan.h.
58873         (ISNAN): Set to isnand instead of isnan.
58874         * lib/isfinite.c: Include isnand.h instead of isnan.h.
58875         (gl_isfinited): Use isnand instead of isnan.
58876         * lib/signbitd.c: Include isnand.h instead of isnan.h.
58877         (gl_signbitd): Use isnand instead of isnan.
58878         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
58879         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
58880         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
58881         (main): Use isnand instead of isnan.
58882         * tests/test-round1.c: Include isnand.h.
58883         (main): Use isnand instead of isnan.
58884         * tests/test-round2.c: Include isnand.h instead of isnan.h.
58885         (ISNAN): Set to isnand instead of isnan.
58886         * tests/test-trunc1.c: Include isnand.h.
58887         (main): Use isnand instead of isnan.
58888         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
58889         (equal): Use isnand instead of isnan.
58890         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
58891         isnand-nolibm.
58892         * NEWS: Mention the change.
58893
58894 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
58895             Bruno Haible  <bruno@clisp.org>
58896
58897         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
58898         the GCC builtins for signbits are present and set
58899         REPLACE_SIGNBIT_USING_GCC if so.
58900         * lib/math.in.h (signbit): Define using GCC builtins if
58901         REPLACE_SIGNBIT_USING_GCC is set.
58902         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
58903         REPLACE_SIGNBIT_USING_GCC.
58904         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
58905
58906 2008-01-25  Jim Meyering  <meyering@redhat.com>
58907
58908         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
58909         * lib/poll.c: Include <config.h>, not "config.h".
58910         * tests/test-getaddrinfo.c: Likewise.
58911
58912 2008-01-25  Simon Josefsson  <simon@josefsson.org>
58913
58914         * modules/sockets-tests: New file.
58915
58916 2008-01-24  Simon Josefsson  <simon@josefsson.org>
58917
58918         * modules/sockets: New module, can be used to call WSA_Startup and
58919         WSA_Cleanup when needed.
58920
58921         * lib/sockets.h, lib/sockets.c: New files.
58922
58923         * m4/sockets.m4: New file.
58924
58925         * tests/test-sockets.c: New file.
58926
58927 2008-01-19  Bruno Haible  <bruno@clisp.org>
58928
58929         * doc/posix-headers: Renamed from doc/headers.
58930         * doc/posix-functions: Renamed from doc/functions.
58931         * doc/gnulib.texi: Update.
58932
58933 2008-01-19  Bruno Haible  <bruno@clisp.org>
58934
58935         * doc/glibc-functions/strcasestr.texi: Include contents of
58936         doc/functions/strcasestr.texi, fixing the list of platforms.
58937         * doc/functions/strcasestr.texi: Remove file.
58938
58939 2008-01-19  Bruno Haible  <bruno@clisp.org>
58940
58941         * doc/glibc-functions/memmem.texi: Include contents of
58942         doc/functions/memmem.texi.
58943         * doc/functions/memmem.texi: Remove file.
58944
58945 2008-01-18  Bruno Haible  <bruno@clisp.org>
58946
58947         * doc/glibc-functions/*.texi: New files.
58948         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
58949         to use the new files.
58950
58951 2008-01-17  Bruno Haible  <bruno@clisp.org>
58952
58953         * tests/test-gethostname.c (main): Fix printf statement.
58954
58955 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58956
58957         * modules/gethostname-tests: New file.
58958
58959         * tests/test-gethostname.c: New file.
58960
58961 2008-01-17  Simon Josefsson  <simon@josefsson.org>
58962
58963         * lib/gethostname.c: Include string.h unconditionally, strncpy is
58964         used by the UNAME case.  Reported by Bruno Haible
58965         <bruno@clisp.org>.
58966
58967 2008-01-17  Eric Blake  <ebb9@byu.net>
58968
58969         Convert c-strcasestr to be more efficient.
58970         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
58971         (Depends-on): Add c-strcase, remove malloca, strnlen.
58972         * tests/test-c-strcasestr.c (main): Enhance test.
58973         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
58974
58975 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58976
58977         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
58978         Use it in creating po/Makevars.
58979
58980 2008-01-15  Simon Josefsson  <simon@josefsson.org>
58981
58982         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
58983         Applications that requires it should initialize libgcrypt
58984         manually.
58985
58986 2008-01-16  Simon Josefsson  <simon@josefsson.org>
58987
58988         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
58989
58990 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
58991
58992         Fix problem with getdate on mingw32 reported by Simon Josefsson
58993         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
58994         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
58995         tzname", when deciding whether to declare tzname.
58996         * lib/strftime.c (tzname): Likewise.
58997
58998 2008-01-15  Bruno Haible  <bruno@clisp.org>
58999
59000         Work around a MacOS X 10.5 bug in frexpl().
59001         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59002         * doc/functions/frexpl.texi: Document the bug.
59003         Reported by Elias Pipping <pipping@gentoo.org>.
59004
59005 2008-01-14  Eric Blake  <ebb9@byu.net>
59006
59007         Touch up previous patch.
59008         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59009         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59010
59011         Convert strcasestr module to use Two-Way algorithm.
59012         * modules/strcasestr-simple: New module, based on the old
59013         strcasestr, but with Two-Way rather than KMP.
59014         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59015         * lib/string.in.h (rpl_strcasestr): Declare.
59016         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59017         performance.
59018         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59019         * modules/string (Makefile.am): Support strcasestr.
59020         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59021         * modules/strcasestr-tests (Depends-on): Check for alarm.
59022         * tests/test-strcasestr.c: Augment test.
59023         * lib/str-two-way.h: Clean up stray macro.
59024         * NEWS: Document new module.
59025         * MODULES.html.sh (string handling): Likewise.
59026         * doc/functions/strcasestr.texi: New file.
59027         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59028         here, since it is not a POSIX function.
59029
59030 2008-01-14  Colin Watson  <cjwatson@debian.org>
59031             Bruno Haible  <bruno@clisp.org>
59032
59033         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59034         works fine; if not, set REPLACE_STRSIGNAL.
59035         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59037         REPLACE_STRSIGNAL.
59038         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59039         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59040         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59041
59042 2008-01-14  Bruno Haible  <bruno@clisp.org>
59043
59044         * modules/strsignal (Include): Change to <string.h>.
59045
59046 2008-01-14  Colin Watson  <cjwatson@debian.org>
59047
59048         * modules/argp (Notice): Add a notice recommending to change
59049         XGETTEXT_OPTIONS.
59050         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59051
59052 2008-01-13  Colin Watson  <cjwatson@debian.org>
59053
59054         * modules/strsignal-tests: New file.
59055         * tests/test-strsignal.c: New file.
59056
59057         * lib/strsignal.c: New file, from glibc with modifications.
59058         * lib/siglist.h: New file, from glibc with modifications.
59059         * lib/string.in.h (strsignal): New declaration.
59060         * m4/strsignal.m4: New file.
59061         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59062         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59063         * modules/strsignal: New file.
59064         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59065         HAVE_DECL_STRSIGNAL.
59066
59067 2008-01-13  Bruno Haible  <bruno@clisp.org>
59068
59069         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59070         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59071         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59072         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59073
59074 2008-01-13  Bruno Haible  <bruno@clisp.org>
59075
59076         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59077         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59078         * lib/argp.h (__attribute__): Likewise.
59079         * lib/c-stack.c (__attribute__): Likewise.
59080         * lib/error.h (__attribute__): Likewise.
59081         * lib/fts.c (__attribute__): Likewise.
59082         * lib/openat.h (__attribute__): Likewise.
59083         * lib/stdio.in.h (__attribute__): Likewise.
59084         * lib/string.in.h (__attribute__): Likewise.
59085         * lib/utimens.c (__attribute__): Likewise.
59086         * lib/vasnprintf.h (__attribute__): Likewise.
59087         * lib/xalloc.h (__attribute__): Likewise.
59088         * lib/xprintf.h (__attribute__): Likewise.
59089         * lib/xstrtol.h (__attribute__): Likewise.
59090         * lib/xvasprintf.h (__attribute__): Likewise.
59091
59092 2008-01-12  Bruno Haible  <bruno@clisp.org>
59093
59094         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59095         * doc/glibc-headers/a.out.texi: New file.
59096         * doc/glibc-headers/aliases.texi: New file.
59097         * doc/glibc-headers/alloca.texi: New file.
59098         * doc/glibc-headers/ar.texi: New file.
59099         * doc/glibc-headers/argp.texi: New file.
59100         * doc/glibc-headers/argz.texi: New file.
59101         * doc/glibc-headers/byteswap.texi: New file.
59102         * doc/glibc-headers/crypt.texi: New file.
59103         * doc/glibc-headers/endian.texi: New file.
59104         * doc/glibc-headers/envz.texi: New file.
59105         * doc/glibc-headers/err.texi: New file.
59106         * doc/glibc-headers/error.texi: New file.
59107         * doc/glibc-headers/execinfo.texi: New file.
59108         * doc/glibc-headers/fpu_control.texi: New file.
59109         * doc/glibc-headers/fstab.texi: New file.
59110         * doc/glibc-headers/fts.texi: New file.
59111         * doc/glibc-headers/getopt.texi: New file.
59112         * doc/glibc-headers/ieee754.texi: New file.
59113         * doc/glibc-headers/ifaddrs.texi: New file.
59114         * doc/glibc-headers/libintl.texi: New file.
59115         * doc/glibc-headers/mcheck.texi: New file.
59116         * doc/glibc-headers/mntent.texi: New file.
59117         * doc/glibc-headers/obstack.texi: New file.
59118         * doc/glibc-headers/paths.texi: New file.
59119         * doc/glibc-headers/printf.texi: New file.
59120         * doc/glibc-headers/pty.texi: New file.
59121         * doc/glibc-headers/resolv.texi: New file.
59122         * doc/glibc-headers/shadow.texi: New file.
59123         * doc/glibc-headers/sysexits.texi: New file.
59124         * doc/glibc-headers/ttyent.texi: New file.
59125
59126 2008-01-12  Jim Meyering  <meyering@redhat.com>
59127
59128         announce-gen: emit Gnulib's git-based version string.
59129         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59130         New option --gnulib-version=V, where V is expected to be
59131         the output of running git describe in the gnulib directory.
59132         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59133         not useful, and plan to stop publishing an xdelta file with each
59134         coreutils release.
59135
59136         * build-aux/announce-gen: Also check for lzma-compressed files.
59137
59138 2008-01-11  Bruno Haible  <bruno@clisp.org>
59139
59140         * tests/test-memmem.c (main): Increase maximum allowed time.
59141         * tests/test-strstr.c (main): Likewise.
59142
59143 2008-01-11  Bruno Haible  <bruno@clisp.org>
59144
59145         * doc/functions/memmem.texi: Add more precisions about platforms.
59146         * doc/functions/strstr.texi: Likewise.
59147
59148 2008-01-10  Eric Blake  <ebb9@byu.net>
59149
59150         * m4/strstr.m4: Delete cruft from copy-n-paste.
59151         Reported by Bruno Haible.
59152
59153 2008-01-10  Bruno Haible  <bruno@clisp.org>
59154
59155         Make c-strstr rely on strstr.
59156         * lib/c-strstr.c: Don't include str-kmp.h.
59157         (c_strstr): Define in terms of strstr.
59158         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59159         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59160
59161 2008-01-10  Bruno Haible  <bruno@clisp.org>
59162
59163         * doc/gnulib.texi (String Functions in C Locale): New section.
59164         * doc/c-ctype.texi: New file.
59165         * doc/c-strcase.texi: New file.
59166         * doc/c-strcaseeq.texi: New file.
59167         * doc/c-strcasestr.texi: New file.
59168         * doc/c-strstr.texi: New file.
59169         * doc/c-strtod.texi: New file.
59170         * doc/c-strtold.texi: New file.
59171
59172 2008-01-10  Eric Blake  <ebb9@byu.net>
59173
59174         * lib/relocatable.h: Fix a comment.
59175
59176 2008-01-10  Eric Blake  <ebb9@byu.net>
59177
59178         Share two-way algorithm.
59179         * lib/str-two-way.h: New file, merged from...
59180         * lib/memmem.c: ...here...
59181         * lib/strstr.c: ...and here.
59182         * modules/memmem (Files): Use it.
59183         * modules/strstr (Files): Likewise.
59184
59185         Avoid quadratic strstr implementations.
59186         * lib/strstr.c: New file.
59187         * m4/strstr.m4: Likewise.
59188         * modules/strstr: Likewise.
59189         * modules/strstr-tests: Likewise.
59190         * tests/test-strstr.c: Likewise.
59191         * lib/string.in.h (rpl_strstr): Declare.
59192         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
59193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
59194         * modules/string (Makefile.am): Likewise.
59195         * MODULES.html.sh (string handling): Mention new module.
59196         * doc/functions/strstr.texi (strstr): Document the bug.
59197
59198 2008-01-10  Bruno Haible  <bruno@clisp.org>
59199
59200         * lib/relocatable.h (relocate): State whether result is freshly
59201         allocated or not.
59202         * lib/relocatable.c (relocate): Return a freshly allocated string
59203         instead of a pointer to a privately held string.
59204         Reported by Sylvain Beucler <beuc@gnu.org>.
59205
59206 2008-01-10  Colin Watson  <cjwatson@debian.org>
59207
59208         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
59209         s/S_ISNLK/S_ISLNK/.
59210
59211 2008-01-09  Bruno Haible  <bruno@clisp.org>
59212
59213         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
59214         and other files.
59215         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
59216         if it's only a guess.
59217         * modules/memmem: Simplify by depending on memmem-simple.
59218
59219 2008-01-09  Bruno Haible  <bruno@clisp.org>
59220
59221         Work around OpenBSD 4.0 tdelete() bug.
59222         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
59223         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
59224         macros and don't redefine the enum values.
59225         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
59226         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
59227         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
59228
59229 2008-01-09  Bruno Haible  <bruno@clisp.org>
59230
59231         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
59232         (main): Don't perform the tests if setlocale did not install a UTF-8
59233         locale. Needed on OpenBSD 4.0.
59234         * modules/wcwidth-tests (Depends-on): Add localcharset.
59235
59236 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
59237
59238         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
59239         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
59240         * NEWS: announce this.
59241         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
59242
59243 2008-01-09  Simon Josefsson  <simon@josefsson.org>
59244         and Eric Blake  <ebb9@byu.net>
59245
59246         Add memmem-simple module.
59247         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
59248         (gl_FUNC_MEMMEM): Separate performance from presence checks.
59249         * modules/memmem-simple: New file.
59250         * modules/memmem (Description): Tweak.
59251         * MODULES.html.sh (string handling): Mention new module.
59252         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
59253         addressed by memmem-simple.
59254         * NEWS: Document the difference.
59255
59256 2008-01-09  Eric Blake  <ebb9@byu.net>
59257
59258         Give gcc some memmem optimization hints.
59259         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
59260         (strcasestr): Declare as pure.
59261         * modules/memmem (Maintainer): Claim my implementation.
59262
59263 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59264
59265         Support AIX 6.1 and higher.
59266         * build-aux/config.libpath: Likewise.
59267         * build-aux/config.rpath: Likewise.
59268
59269 2008-01-08  Jim Meyering  <meyering@redhat.com>
59270             Bruno Haible  <bruno@clisp.org>
59271
59272         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
59273         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
59274         Reported by Peter Fales in
59275         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
59276
59277 2008-01-08  Bruno Haible  <bruno@clisp.org>
59278
59279         * modules/unictype/category-of (Depends-on): Add
59280         unictype/category-none.
59281         * modules/unictype/category-and-tests (Depends-on): Add
59282         unictype/category-{L,N,Lu,Nd}.
59283         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
59284         * modules/unictype/category-or-tests (Depends-on): Add
59285         unictype/category-{L,N}.
59286         * modules/unictype/category-name-tests (Depends-on): Add
59287         unictype/category-{Z,Nl}.
59288         Reported by Simon Josefsson.
59289
59290 2008-01-08  Bruno Haible  <bruno@clisp.org>
59291
59292         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
59293         convention better.
59294         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
59295         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
59296         Reported by Peter Miller <millerp@canb.auug.org.au>.
59297
59298 2008-01-08  Eric Blake  <ebb9@byu.net>
59299
59300         Rewrite memmem to guarantee linear complexity without malloc.
59301         * lib/memmem.c (memmem): Use Two-Way rather than
59302         Knuth-Morris-Pratt, to allow O(1) space usage.
59303         (critical_factorization, two_way_short_needle)
59304         (two_way_long_needle): New functions.
59305         (knuth_morris_pratt): Delete.
59306         * modules/memmem (Depends-on): No longer need malloca or stdbool.
59307         Add stdint.
59308         * tests/test-memmem.c (main): Add tests for periodic needle and
59309         sublinear performance.
59310         * doc/functions/memmem.texi (memmem): Document other deficiencies
59311         in cygwin and older glibc.
59312
59313 2008-01-08  Bruno Haible  <bruno@clisp.org>
59314
59315         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
59316         augmentation.
59317
59318 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
59319
59320         Add a configure time option: --disable-acl.
59321         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
59322         AC_ARG_ENABLE(acl).
59323
59324 2008-01-06  Simon Josefsson  <simon@josefsson.org>
59325
59326         * tests/test-localename.c: Don't include obsolete "setenv.h".
59327
59328         * modules/localename-tests (Depends-on): Need unsetenv.
59329
59330 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59331
59332         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
59333
59334 2008-01-06  Colin Watson  <cjwatson@debian.org>
59335
59336         * users.txt: Add man-db.
59337
59338 2008-01-07  Bruno Haible  <bruno@clisp.org>
59339
59340         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
59341         previous section name.
59342
59343 2008-01-07  Bruno Haible  <bruno@clisp.org>
59344
59345         * lib/progname.c (set_program_name): Don't strip off a leading
59346         "lt-" prefix outside a .libs directory.
59347         Suggested by Paul Eggert.
59348
59349 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
59350             Bruno Haible  <bruno@clisp.org>
59351
59352         Improve memory cleanup in 'relocatable' module.
59353         * lib/relocatable.h (compute_curr_prefix): Change return type to
59354         'char *'.
59355         * lib/relocatable.c (compute_curr_prefix): Change return type to
59356         'char *'. Free curr_installdir after use.
59357         (relocate): Free curr_prefix_better after use.
59358         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
59359
59360 2008-01-01  Bruno Haible  <bruno@clisp.org>
59361
59362         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
59363         failure on older glibc systems.
59364         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59365
59366 2008-01-05  Eric Blake  <ebb9@byu.net>
59367
59368         Avoid quadratic system memmem.
59369         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
59370         Reported by Ralf Wildenhues.
59371
59372         Fix memmem test for mingw.
59373         * modules/memmem-tests (configure.ac): Check for alarm.
59374         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
59375         it.
59376         * doc/functions/memmem.texi: New file.
59377         * doc/gnulib.texi (Function Substitutes): Add memmem.
59378         Reported by Bruno Haible.
59379
59380 2008-01-04  Bruno Haible  <bruno@clisp.org>
59381
59382         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
59383         Require gl_HEADER_STRINGS_H_DEFAULTS, not
59384         gl_HEADER_STRING_H_DEFAULTS.
59385
59386 2008-01-04  Eric Blake  <ebb9@byu.net>
59387
59388         Shorten duration of memmem test.
59389         * tests/test-memmem.c (main): Use alarm to declare failure if test
59390         is taking too long.
59391         Reported by Ralf Wildenhues.
59392
59393 2007-12-21  Simon Josefsson  <simon@josefsson.org>
59394
59395         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
59396         string, needed by strerror.
59397
59398 2008-01-03  Colin Watson  <cjwatson@debian.org>
59399             Bruno Haible  <bruno@clisp.org>
59400
59401         * doc/gnulib-tool.texi (Localization): New section.
59402
59403 2008-01-02  Bruno Haible  <bruno@clisp.org>
59404
59405         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
59406         variables to 'unsigned char *' type.
59407         Reported by Paul Eggert.
59408
59409 2008-01-02  Jim Meyering  <jim@meyering.net>
59410
59411         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
59412
59413 2007-12-31  Jim Meyering  <jim@meyering.net>
59414
59415         Avoid use of private FTS type name.
59416         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
59417
59418 2007-12-30  Karl Berry  <karl@gnu.org>
59419
59420         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
59421         work around defect in Texinfo and/or the standalone Info browser.
59422
59423 2007-12-30  Bruno Haible  <bruno@clisp.org>
59424
59425         Unify 5 copies of the KMP code.
59426         * lib/str-kmp.h: New file.
59427         * lib/c-strcasestr.c: Include str-kmp.h.
59428         (knuth_morris_pratt): Remove function.
59429         (c_strcasestr): Update.
59430         * lib/c-strstr.c: Include str-kmp.h.
59431         (knuth_morris_pratt): Remove function.
59432         (c_strcasestr): Update.
59433         * lib/mbscasestr.c: Include str-kmp.h.
59434         (knuth_morris_pratt_unibyte): Remove function.
59435         * lib/mbsstr.c: Include str-kmp.h.
59436         (knuth_morris_pratt_unibyte): Remove function.
59437         * lib/strcasestr.c: Include str-kmp.h.
59438         (knuth_morris_pratt): Remove function.
59439         (strcasestr): Update.
59440         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
59441         * modules/c-strstr (Files): Likewise.
59442         * modules/mbscasestr (Files): Likewise.
59443         * modules/mbsstr (Files): Likewise.
59444         * modules/strcasestr (Files): Likewise.
59445         Suggested by Paul Eggert.
59446
59447 2007-12-30  Bruno Haible  <bruno@clisp.org>
59448
59449         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
59450         defined.
59451
59452 2007-12-30  Bruno Haible  <bruno@clisp.org>
59453
59454         * lib/xmalloca.h: Include xalloc.h.
59455         (xnmalloca): New macro.
59456
59457 2007-12-30  Bruno Haible  <bruno@clisp.org>
59458
59459         * lib/malloca.h (nmalloca): New macro.
59460         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
59461         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
59462         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
59463         knuth_morris_pratt_multibyte): Likewise.
59464         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
59465         knuth_morris_pratt_multibyte): Likewise.
59466         * lib/memmem.c (knuth_morris_pratt): Likewise.
59467         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
59468
59469 2007-12-25  Bruno Haible  <bruno@clisp.org>
59470
59471         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
59472         * lib/glob.c: Don't include openat.h.
59473         (link_exists2_p): Add back the code that deals with the
59474         !GLOB_ALTDIRFUNC case.
59475         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
59476         let it do the filename concatenation.
59477         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
59478         * modules/glob (Depends-on): Remove openat.
59479
59480 2007-12-31  Bruno Haible  <bruno@clisp.org>
59481
59482         * modules/dirfd (License): Change to LGPLv2+.
59483         Approved by Jim Meyering.
59484
59485 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59486
59487         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
59488         when multiplying M by sizeof (size_t).
59489
59490 2007-12-10  Martin Lambers  <marlam@marlam.de>
59491
59492         Override getpagesize on mingw.
59493         * lib/getpagesize.c: New file.
59494         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
59495         * modules/getpagesize (Files): Add lib/getpagesize.c.
59496         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
59497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
59498         REPLACE_GETPAGESIZE.
59499         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
59500
59501 2007-12-25  Bruno Haible  <bruno@clisp.org>
59502
59503         * modules/localcharset (Notice): New field.
59504         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
59505         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
59506
59507 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59508             Bruno Haible  <bruno@clisp.org>
59509
59510         Avoid using the syntax symbol() in formatted documentation.
59511         * MODULES.html.sh (func_module): When replacing symbol() with a
59512         hyperlink, remove the parentheses. Show an error if some remain.
59513         Recognize and render the '...' syntax.
59514         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
59515         Rework. Add paragraph about GCC's inlining.
59516         * doc/alloca.texi: Likewise.
59517         * doc/error.texi: Remove parentheses from symbol reference.
59518         * doc/gnulib-intro.texi: Likewise.
59519         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
59520         * modules/fnmatch (Description): Reword to say "the ... function".
59521         * modules/full-read (Description): Likewise.
59522         * modules/full-write (Description): Likewise.
59523         * modules/safe-read (Description): Likewise.
59524         * modules/safe-write (Description): Likewise.
59525         * modules/strchrnul (Description): Likewise.
59526         * modules/trim (Description): Likewise.
59527         * modules/error (Description): Remove parentheses from symbol
59528         references.
59529         * modules/verror (Description): Likewise.
59530         Reported by Karl Berry.
59531
59532 2007-12-25  Bruno Haible  <bruno@clisp.org>
59533
59534         Fixup after 2007-10-16 commit.
59535         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
59536
59537 2007-12-24  Bruno Haible  <bruno@clisp.org>
59538
59539         Make --enable-relocatable work with DESTDIR.
59540         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
59541         to compute installdir from destprog.
59542         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
59543         also set the RELOC_DESTDIR variable.
59544         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59545
59546 2007-12-24  Bruno Haible  <bruno@clisp.org>
59547
59548         Fix link error due to xalloc_die().
59549         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
59550         of xreadlink.
59551         * lib/relocwrapper.c: Update comments.
59552         * build-aux/install-reloc: Remove xreadlink.c from file list.
59553         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
59554         xreadlink.c.
59555         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59556
59557 2007-12-24  Bruno Haible  <bruno@clisp.org>
59558
59559         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
59560         * lib/setenv.h: Remove file.
59561         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
59562         lib/setenv.h.
59563         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
59564         (Depends-on): Add stdlib.
59565         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
59566         gl_FUNC_UNSETENV.
59567         (Include): Replace setenv.h with <stdlib.h>.
59568         * modules/unsetenv: New file.
59569         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
59570         * lib/unsetenv.c: Include <stdlib.h> first.
59571         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
59572         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
59573         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
59574         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
59575         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
59576         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
59578         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
59579         * doc/functions/unsetenv.texi: Update.
59580         * modules/xsetenv (Depends-on): Add unsetenv.
59581         * modules/getdate (Depends-on): Likewise.
59582         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
59583         * lib/xsetenv.c: Don't include setenv.h.
59584         * lib/getdate.y: Likewise.
59585         * lib/relocwrapper.c: Likewise.
59586         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
59587         (Depends-on): Add stdlib.
59588         * NEWS: Mention the changes.
59589         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
59590
59591 2007-12-23  Bruno Haible  <bruno@clisp.org>
59592
59593         * lib/memmem.c (memmem): Use lowercase variable names. Tab
59594         indentation.
59595
59596 2007-12-23  Bruno Haible  <bruno@clisp.org>
59597
59598         * lib/c-strcasestr.c: Add more comments.
59599         * lib/c-strstr.c: Likewise.
59600         * lib/mbscasestr.c: Likewise.
59601         * lib/mbsstr.c: Likewise.
59602         * lib/strcasestr.c: Likewise.
59603         * lib/memmem.c: Likewise.
59604
59605 2007-12-23  Bruno Haible  <bruno@clisp.org>
59606
59607         * tests/test-memmem.c: Include <string.h> first.
59608
59609 2007-12-22  Bruno Haible  <bruno@clisp.org>
59610
59611         * gnulib-tool (func_create_testdir): Change $auxdir while generating
59612         the contents of $testsbase.
59613         Reported by Ralf Wildenhues.
59614
59615 2007-12-22  Bruno Haible  <bruno@clisp.org>
59616
59617         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
59618         two variables local_ldadd_before, local_ldadd_last.
59619
59620 2007-12-20  Eric Blake  <ebb9@byu.net>
59621
59622         Work around circular library issue when cross-compiling.
59623         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
59624         that progname.o does not need to pull in rpl_memcmp.
59625
59626 2007-12-19  Eric Blake  <ebb9@byu.net>
59627
59628         Fix memmem to avoid O(n^2) worst-case complexity.
59629         * lib/memmem.c (knuth_morris_pratt): New function.
59630         (memmem): Use it if first few naive iterations fail.
59631         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
59632         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
59633         * modules/memchr (License): Likewise.
59634         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
59635         malloca.
59636         * tests/test-memmem.c: Rewrite, borrowing ideas from
59637         test-mbsstr1.c; the old version wouldn't even compile!
59638         * modules/memmem-tests: New file.
59639         * lib/string.in.h (rpl_memmem): Add declaration.
59640         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
59641         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
59642         REPLACE_MEMMEM.
59643
59644 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59645
59646         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
59647         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
59648         before any system include files, and undef after them all.  This
59649         should fix a problem on VMS reported by John E. Malmberg in
59650         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
59651
59652 2007-12-17  Eric Blake  <ebb9@byu.net>
59653
59654         Revert addition of verify, for BSD/OS.
59655         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
59656         can't handle large files, for the sake of obsolete platforms.
59657         * modules/fseeko (Depends-on): Remove verify.
59658         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
59659         * doc/functions/ftello.texi (ftello): Likewise.
59660         * doc/functions/fgetpos.texi (fgetpos): Likewise.
59661         Reported by Larry Jones.
59662
59663 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
59664
59665         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
59666         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
59667
59668 2007-12-17  Jim Meyering  <meyering@redhat.com>
59669
59670         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
59671         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
59672         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
59673         * modules/getcwd (Depends-on): Add openat.
59674         Reported by Petr Salinger.
59675
59676 2007-12-17  Bruno Haible  <bruno@clisp.org>
59677
59678         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
59679         avoid a segmentation fault of the configure test on x86_64 systems.
59680
59681 2007-12-15  Jim Meyering  <meyering@redhat.com>
59682
59683         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
59684
59685 2007-12-13  Eric Blake  <ebb9@byu.net>
59686
59687         Another fseek test.
59688         * tests/test-fseek.c (main): Also test ungetc handling.
59689         * tests/test-fseeko.c (main): Likewise.
59690         * modules/fseeko (Depends-on): Add verify.
59691         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
59692         large.
59693         Reported by Larry Jones.
59694
59695         Fix fseeko on mingw.
59696         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
59697         seek.
59698
59699         Beef up fseek tests.
59700         * tests/test-fseek.c (main): Also test eof handling.
59701         * tests/test-fseeko.c (main): Likewise.
59702         Reported by Larry Jones.
59703
59704 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
59705
59706         Fix fseeko on BSD-based platforms.
59707         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
59708         successful seek.
59709
59710 2007-12-12  Eric Blake  <ebb9@byu.net>
59711
59712         Allow circular dependency of separate libtests.a
59713         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
59714         when use_libtests.
59715
59716 2007-12-11  Eric Blake  <ebb9@byu.net>
59717
59718         Fix bug with -0.0L in previous patch.
59719         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
59720         * tests/test-isnan.c (main): Also test on zeroes.
59721         * tests/test-isnanf.c (main): Likewise.
59722         * tests/test-isnanl.h (main): Likewise.
59723
59724         Detect pseudo-denormals on x86 even when cross-compiling.
59725         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
59726         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
59727         invalid bit patterns that happen to satisfy ==.
59728
59729         Avoid link failures with separate libtests.a.
59730         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
59731         last, to satisfy circular dependencies.
59732
59733 2007-12-11  Eric Blake  <ebb9@byu.net>
59734         and Bruno Haible  <bruno@clisp.org>
59735
59736         Fix OpenBSD 4.0 <float.h> handling of long double.
59737         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
59738         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
59739         * doc/headers/float.texi (float.h): Document OpenBSD bug.
59740
59741 2007-12-11  Jim Meyering  <meyering@redhat.com>
59742
59743         * users.txt: Add libvirt.
59744
59745         Support versions of autoconf prior to 2.59c.
59746         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
59747         if it is not already defined.
59748
59749 2007-12-09  Bruno Haible  <bruno@clisp.org>
59750
59751         Let 'gnulib-tool --import' collect sources needed for the tests in
59752         tests/ rather than in lib/.
59753         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
59754         argument. If true, add rules to generate libtests.a, and put libtests.a
59755         into $(LDADD). Consider source files in subdirectories and set
59756         uses_subdirs.
59757         (func_emit_initmacro_start, func_emit_initmacro_end,
59758         func_emit_initmacro_done): Pass all arguments explicitly.
59759         (func_import): Determine two module lists main_modules,
59760         testsrelated_modules. Determine use_libtests. Determine two variables
59761         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
59762         instead of just sed_transform_lib_file. Determine two variables
59763         main_files and testsrelated_files. Compute 'files' as the union of
59764         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
59765         func_add_or_update. In the generated gnulib-comp.m4, collect the
59766         object files for tests/ in different variables than those for lib/.
59767         Substitute LIBTESTS_LIBDEPS.
59768         (func_create_testdir): Combine the uses_subdirs results from
59769         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
59770
59771 2007-12-09  Bruno Haible  <bruno@clisp.org>
59772
59773         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
59774         the build-aux directory.
59775
59776 2007-12-09  Bruno Haible  <bruno@clisp.org>
59777
59778         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
59779         introduced on 2006-09-09.
59780
59781 2007-12-07  Jim Meyering  <meyering@redhat.com>
59782
59783         Let these macros work also with autoconf-2.59.
59784         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
59785         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
59786         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
59787
59788 2007-12-06  Jim Meyering  <meyering@redhat.com>
59789
59790         Avoid a configure-time syntax error in gl_FUNC_ACL.
59791         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
59792         function in each branch, before testing the cache variable.
59793
59794 2007-12-04  Eric Blake  <ebb9@byu.net>
59795
59796         Make scripts executable.
59797         * build-aux/config.guess: Add execute permissions.
59798         * build-aux/config.sub: Likewise.
59799         * build-aux/gendocs.sh: Likewise.
59800
59801         Fix frexp on mingw.
59802         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
59803         cross-compiling.
59804         * doc/functions/frexp.texi (frexp): Document the bug.
59805
59806         Make cygwin fseeko check more reliable.
59807         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
59808         version numbers, rather than unrelated feature check.
59809         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
59810         * doc/functions/ftello.texi (ftello): Likewise.
59811         Reported by Bruno Haible.
59812
59813         * m4/strerror.m4: Bump version number.
59814
59815 2007-12-03  Bruno Haible  <bruno@clisp.org>
59816
59817         * doc/functions/mprotect.texi: Mention the mingw problem.
59818
59819 2007-12-03  Eric Blake  <ebb9@byu.net>
59820
59821         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
59822         REPLACE_STRERROR is initialized before this macro.
59823
59824 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59825
59826         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
59827         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
59828         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
59829         put -lsec in even for programs other than 'ls'.  This fixes a problem
59830         for gettext reported by Bruno Haible in
59831         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
59832         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
59833         Add support for Solaris 10.  This isn't efficient, but should get the
59834         job done for now.
59835
59836 2007-12-03  James Youngman  <jay@gnu.org>
59837
59838         * doc/regexprops-generic.texi: change "an close-group" to "a
59839         close-group" and "illegal" to "not allowed".
59840
59841 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59842
59843         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
59844         pr_byname.h. Needed for the rare case when the maintainer has done
59845         "make maintainer-clean" in the source directory and then attempts a
59846         build outside the source directory.
59847         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
59848         scripts_byname.h.
59849
59850 2007-12-02  Martin Lambers <marlam@marlam.de>
59851             Bruno Haible  <bruno@clisp.org>
59852
59853         * lib/getpagesize.h: Remove file.
59854         * lib/unistd.in.h: Include declaration of getpagesize here.
59855         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
59856         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
59857         HAVE_SYS_PARAM_H.
59858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
59859         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59860         * modules/getpagesize (Files): Remove lib/getpagesize.h.
59861         (Depends-on): Add unistd.
59862         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
59863         (Include): Use <unistd.h> instead of getpagesize.h.
59864         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
59865         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
59866         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
59867         gl_GETPAGESIZE invocation, already handled by module dependency.
59868         * lib/pagealign_alloc.c: Don't include getpagesize.h.
59869
59870 2007-12-02  Bruno Haible  <bruno@clisp.org>
59871
59872         * modules/strings-tests: New file.
59873         * tests/test-strings.c: New file.
59874
59875         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
59876         * lib/strings.in.h: New file.
59877         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
59878         * m4/strings_h.m4: New file.
59879         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
59880         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
59881         * modules/strings: New file.
59882         * modules/string (Makefile.am): Update.
59883         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
59884         Reported by Karl Berry.
59885
59886 2007-12-01  Eric Blake  <ebb9@byu.net>
59887
59888         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
59889         accommodate fix in cygwin 1.5.25.
59890
59891 2007-12-01  Jim Meyering  <meyering@redhat.com>
59892
59893         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
59894         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
59895         that would inhibit utf8-optimization of a regexp containing line-
59896         or buffer-anchors, e.g., `^', `$'.
59897
59898 2007-11-30  Bruno Haible  <bruno@clisp.org>
59899
59900         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
59901         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
59902         glthread_recursive_lock_init.
59903         * lib/lock.c (glthread_recursive_lock_init)
59904         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
59905         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59906
59907 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
59908
59909         New function qset_acl, like set_acl but with syscall semantics.
59910         * lib/acl.h (qset_acl): New decl.
59911         * lib/acl.c (qset_acl): New function.
59912         (set_acl): Use new function.  Use more-consistent diagnostics.
59913
59914 2007-11-28  Jim Meyering  <meyering@redhat.com>
59915
59916         * modules/physmem (License): Change from GPL to LGPLv2+.
59917
59918 2007-11-26  Bruno Haible  <bruno@clisp.org>
59919
59920         * lib/vasnprintf.c (decode_long_double): Don't abort if the
59921         'long double' type has excess precision.
59922         Reported by Jim Meyering in
59923         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
59924
59925 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59926
59927         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
59928         Sync from <http://gnu.org/licenses>.
59929         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
59930         with license text from same location.
59931         * doc/maintain.texi, doc/standards.texi:  Sync from
59932         <http://savannah.gnu.org/projects/gnustandards>.
59933
59934 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
59935         and Jim Meyering  <meyering@redhat.com>
59936
59937         Adjust getdate' grammar to accept a slightly more regular language.
59938         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
59939         Before, the former was rejected.
59940         * lib/getdate.y (digits_to_date_time): New function, factored
59941         out of ...
59942         (number): ...here.  Just call digits_to_date_time.
59943         (hybrid): New non-terminal to handle an <unsigned number,
59944         signed relative offset> sequence consistently.
59945
59946 2007-11-18  Jim Meyering  <meyering@redhat.com>
59947
59948         Pull my changes from coreutils:
59949         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
59950         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
59951         use of $gnulib_tool_option_extras, so that it's separated from the
59952         preceding argument.
59953
59954         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
59955         * build-aux/bootstrap (cp_mark_as_generated): Create any required
59956         parent destination directories before copying a file into place.
59957
59958 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
59959
59960         bootstrap: work also with 4-argument variant of AC_INIT
59961         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
59962
59963 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59964
59965         Port test-getaddrinfo to Solaris.
59966         Problem reported by Bruno Haible in
59967         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
59968         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
59969         explanation of setting 'hints'.
59970         Don't reject an implementation merely because it returns EAI_SERVICE.
59971         (EAI_SERVICE): Define to 0 if not defined.
59972
59973 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
59974
59975         The license of gnu-make and posix-shell is now "GPLed build tool".
59976         * modules/gnu-make (License): Likewise.
59977         * modules/posix-shell (License): Likewise.
59978
59979         New module posix-shell, for determining a POSIX shell
59980         or perhaps something that is close enough to a POSIX shell.
59981         * m4/posix-shell.m4: New file.
59982         * modules/posix-shell: New file.
59983
59984         * MODULES.html.sh: Mention new module.
59985
59986         New module gnu-make, for determining whether we're using GNU Make.
59987         * m4/gnu-make.m4: New file.
59988         * modules/gnu-make: New file.
59989         * MODULES.html.sh: Mention new module.
59990
59991 2007-11-14  Jim Meyering  <meyering@redhat.com>
59992
59993         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
59994         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
59995         use this macro to create a function _definition_.
59996         Remove useless "#undef ARGMATCH_DIE".
59997
59998 2007-11-14  Bruno Haible  <bruno@clisp.org>
59999
60000         * lib/config.charset: Update for OpenBSD 4.1.
60001         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60002
60003 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60004
60005         Document 64-bit #if problems in stdint.texi.
60006         * doc/headers/stdint.texi (stdint.h): Mention problems with
60007         64-bit-#if, and how to work around them.
60008
60009         Don't insist on 'long long int' support in the preprocessor.  It
60010         breaks too many things.  For example, PRIdMAX still uses a 'long
60011         long int' format with the latest Sun compiler, even though
60012         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60013         preprocessor problem.  This causes the latest coreutils to dump
60014         core on Solaris 10 sparc with the Sun C compiler.
60015         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60016         the troublesome expressions at configure-time, not at #if-time.
60017         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60018         preprocessor.
60019         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60020         compile-time C checks, done at 'configure'-time.
60021         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60022         * modules/inttypes (Makefile): Substitute the new symbols that
60023         gl_INTTYPES_H now generates.
60024         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60025
60026 2007-11-12  Bruno Haible  <bruno@clisp.org>
60027
60028         Tests for Unicode character classification functions.
60029
60030         * modules/unictype/bidicategory-byname-tests: New file.
60031         * modules/unictype/bidicategory-name-tests: New file.
60032         * modules/unictype/bidicategory-of-tests: New file.
60033         * modules/unictype/bidicategory-test-tests: New file.
60034         * modules/unictype/block-list-tests: New file.
60035         * modules/unictype/block-of-tests: New file.
60036         * modules/unictype/block-test-tests: New file.
60037         * modules/unictype/category-C-tests: New file.
60038         * modules/unictype/category-Cc-tests: New file.
60039         * modules/unictype/category-Cf-tests: New file.
60040         * modules/unictype/category-Cn-tests: New file.
60041         * modules/unictype/category-Co-tests: New file.
60042         * modules/unictype/category-Cs-tests: New file.
60043         * modules/unictype/category-L-tests: New file.
60044         * modules/unictype/category-Ll-tests: New file.
60045         * modules/unictype/category-Lm-tests: New file.
60046         * modules/unictype/category-Lo-tests: New file.
60047         * modules/unictype/category-Lt-tests: New file.
60048         * modules/unictype/category-Lu-tests: New file.
60049         * modules/unictype/category-M-tests: New file.
60050         * modules/unictype/category-Mc-tests: New file.
60051         * modules/unictype/category-Me-tests: New file.
60052         * modules/unictype/category-Mn-tests: New file.
60053         * modules/unictype/category-N-tests: New file.
60054         * modules/unictype/category-Nd-tests: New file.
60055         * modules/unictype/category-Nl-tests: New file.
60056         * modules/unictype/category-No-tests: New file.
60057         * modules/unictype/category-P-tests: New file.
60058         * modules/unictype/category-Pc-tests: New file.
60059         * modules/unictype/category-Pd-tests: New file.
60060         * modules/unictype/category-Pe-tests: New file.
60061         * modules/unictype/category-Pf-tests: New file.
60062         * modules/unictype/category-Pi-tests: New file.
60063         * modules/unictype/category-Po-tests: New file.
60064         * modules/unictype/category-Ps-tests: New file.
60065         * modules/unictype/category-S-tests: New file.
60066         * modules/unictype/category-Sc-tests: New file.
60067         * modules/unictype/category-Sk-tests: New file.
60068         * modules/unictype/category-Sm-tests: New file.
60069         * modules/unictype/category-So-tests: New file.
60070         * modules/unictype/category-Z-tests: New file.
60071         * modules/unictype/category-Zl-tests: New file.
60072         * modules/unictype/category-Zp-tests: New file.
60073         * modules/unictype/category-Zs-tests: New file.
60074         * modules/unictype/category-and-not-tests: New file.
60075         * modules/unictype/category-and-tests: New file.
60076         * modules/unictype/category-byname-tests: New file.
60077         * modules/unictype/category-name-tests: New file.
60078         * modules/unictype/category-none-tests: New file.
60079         * modules/unictype/category-of-tests: New file.
60080         * modules/unictype/category-or-tests: New file.
60081         * modules/unictype/category-test-withtable-tests: New file.
60082         * modules/unictype/combining-class-tests: New file.
60083         * modules/unictype/ctype-alnum-tests: New file.
60084         * modules/unictype/ctype-alpha-tests: New file.
60085         * modules/unictype/ctype-blank-tests: New file.
60086         * modules/unictype/ctype-cntrl-tests: New file.
60087         * modules/unictype/ctype-digit-tests: New file.
60088         * modules/unictype/ctype-graph-tests: New file.
60089         * modules/unictype/ctype-lower-tests: New file.
60090         * modules/unictype/ctype-print-tests: New file.
60091         * modules/unictype/ctype-punct-tests: New file.
60092         * modules/unictype/ctype-space-tests: New file.
60093         * modules/unictype/ctype-upper-tests: New file.
60094         * modules/unictype/ctype-xdigit-tests: New file.
60095         * modules/unictype/decimal-digit-tests: New file.
60096         * modules/unictype/digit-tests: New file.
60097         * modules/unictype/mirror-tests: New file.
60098         * modules/unictype/numeric-tests: New file.
60099         * modules/unictype/property-alphabetic-tests: New file.
60100         * modules/unictype/property-ascii-hex-digit-tests: New file.
60101         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60102         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60103         * modules/unictype/property-bidi-block-separator-tests: New file.
60104         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60105         * modules/unictype/property-bidi-common-separator-tests: New file.
60106         * modules/unictype/property-bidi-control-tests: New file.
60107         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60108         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60109         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60110         * modules/unictype/property-bidi-european-digit-tests: New file.
60111         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60112         * modules/unictype/property-bidi-left-to-right-tests: New file.
60113         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60114         * modules/unictype/property-bidi-other-neutral-tests: New file.
60115         * modules/unictype/property-bidi-pdf-tests: New file.
60116         * modules/unictype/property-bidi-segment-separator-tests: New file.
60117         * modules/unictype/property-bidi-whitespace-tests: New file.
60118         * modules/unictype/property-byname-tests: New file.
60119         * modules/unictype/property-combining-tests: New file.
60120         * modules/unictype/property-composite-tests: New file.
60121         * modules/unictype/property-currency-symbol-tests: New file.
60122         * modules/unictype/property-dash-tests: New file.
60123         * modules/unictype/property-decimal-digit-tests: New file.
60124         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60125         * modules/unictype/property-deprecated-tests: New file.
60126         * modules/unictype/property-diacritic-tests: New file.
60127         * modules/unictype/property-extender-tests: New file.
60128         * modules/unictype/property-format-control-tests: New file.
60129         * modules/unictype/property-grapheme-base-tests: New file.
60130         * modules/unictype/property-grapheme-extend-tests: New file.
60131         * modules/unictype/property-grapheme-link-tests: New file.
60132         * modules/unictype/property-hex-digit-tests: New file.
60133         * modules/unictype/property-hyphen-tests: New file.
60134         * modules/unictype/property-id-continue-tests: New file.
60135         * modules/unictype/property-id-start-tests: New file.
60136         * modules/unictype/property-ideographic-tests: New file.
60137         * modules/unictype/property-ids-binary-operator-tests: New file.
60138         * modules/unictype/property-ids-trinary-operator-tests: New file.
60139         * modules/unictype/property-ignorable-control-tests: New file.
60140         * modules/unictype/property-iso-control-tests: New file.
60141         * modules/unictype/property-join-control-tests: New file.
60142         * modules/unictype/property-left-of-pair-tests: New file.
60143         * modules/unictype/property-line-separator-tests: New file.
60144         * modules/unictype/property-logical-order-exception-tests: New file.
60145         * modules/unictype/property-lowercase-tests: New file.
60146         * modules/unictype/property-math-tests: New file.
60147         * modules/unictype/property-non-break-tests: New file.
60148         * modules/unictype/property-not-a-character-tests: New file.
60149         * modules/unictype/property-numeric-tests: New file.
60150         * modules/unictype/property-other-alphabetic-tests: New file.
60151         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60152         * modules/unictype/property-other-grapheme-extend-tests: New file.
60153         * modules/unictype/property-other-id-continue-tests: New file.
60154         * modules/unictype/property-other-id-start-tests: New file.
60155         * modules/unictype/property-other-lowercase-tests: New file.
60156         * modules/unictype/property-other-math-tests: New file.
60157         * modules/unictype/property-other-uppercase-tests: New file.
60158         * modules/unictype/property-paired-punctuation-tests: New file.
60159         * modules/unictype/property-paragraph-separator-tests: New file.
60160         * modules/unictype/property-pattern-syntax-tests: New file.
60161         * modules/unictype/property-pattern-white-space-tests: New file.
60162         * modules/unictype/property-private-use-tests: New file.
60163         * modules/unictype/property-punctuation-tests: New file.
60164         * modules/unictype/property-quotation-mark-tests: New file.
60165         * modules/unictype/property-radical-tests: New file.
60166         * modules/unictype/property-sentence-terminal-tests: New file.
60167         * modules/unictype/property-soft-dotted-tests: New file.
60168         * modules/unictype/property-space-tests: New file.
60169         * modules/unictype/property-terminal-punctuation-tests: New file.
60170         * modules/unictype/property-test-tests: New file.
60171         * modules/unictype/property-titlecase-tests: New file.
60172         * modules/unictype/property-unassigned-code-value-tests: New file.
60173         * modules/unictype/property-unified-ideograph-tests: New file.
60174         * modules/unictype/property-uppercase-tests: New file.
60175         * modules/unictype/property-variation-selector-tests: New file.
60176         * modules/unictype/property-white-space-tests: New file.
60177         * modules/unictype/property-xid-continue-tests: New file.
60178         * modules/unictype/property-xid-start-tests: New file.
60179         * modules/unictype/property-zero-width-tests: New file.
60180         * modules/unictype/scripts-tests: New file.
60181         * modules/unictype/syntax-c-ident-tests: New file.
60182         * modules/unictype/syntax-c-whitespace-tests: New file.
60183         * modules/unictype/syntax-java-ident-tests: New file.
60184         * modules/unictype/syntax-java-whitespace-tests: New file.
60185         * tests/unictype/test-bidi_byname.c: New file.
60186         * tests/unictype/test-bidi_name.c: New file.
60187         * tests/unictype/test-bidi_of.c: New file.
60188         * tests/unictype/test-bidi_test.c: New file.
60189         * tests/unictype/test-block_list.c: New file.
60190         * tests/unictype/test-block_of.c: New file.
60191         * tests/unictype/test-block_test.c: New file.
60192         * tests/unictype/test-categ_and.c: New file.
60193         * tests/unictype/test-categ_and_not.c: New file.
60194         * tests/unictype/test-categ_byname.c: New file.
60195         * tests/unictype/test-categ_name.c: New file.
60196         * tests/unictype/test-categ_none.c: New file.
60197         * tests/unictype/test-categ_of.c: New file.
60198         * tests/unictype/test-categ_or.c: New file.
60199         * tests/unictype/test-categ_test_withtable.c: New file.
60200         * tests/unictype/test-combining.c: New file.
60201         * tests/unictype/test-decdigit.c: New file.
60202         * tests/unictype/test-digit.c: New file.
60203         * tests/unictype/test-mirror.c: New file.
60204         * tests/unictype/test-numeric.c: New file.
60205         * tests/unictype/test-pr_byname.c: New file.
60206         * tests/unictype/test-pr_test.c: New file.
60207         * tests/unictype/test-predicate-part1.h: New file.
60208         * tests/unictype/test-predicate-part2.h: New file.
60209         * tests/unictype/test-scripts.c: New file.
60210         * tests/unictype/test-sy_c_ident.c: New file.
60211         * tests/unictype/test-sy_java_ident.c: New file.
60212
60213         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
60214         for Unicode 5.0.0.
60215         * tests/unictype/test-categ_Cc.c: Likewise.
60216         * tests/unictype/test-categ_Cf.c: Likewise.
60217         * tests/unictype/test-categ_Cn.c: Likewise.
60218         * tests/unictype/test-categ_Co.c: Likewise.
60219         * tests/unictype/test-categ_Cs.c: Likewise.
60220         * tests/unictype/test-categ_L.c: Likewise.
60221         * tests/unictype/test-categ_Ll.c: Likewise.
60222         * tests/unictype/test-categ_Lm.c: Likewise.
60223         * tests/unictype/test-categ_Lo.c: Likewise.
60224         * tests/unictype/test-categ_Lt.c: Likewise.
60225         * tests/unictype/test-categ_Lu.c: Likewise.
60226         * tests/unictype/test-categ_M.c: Likewise.
60227         * tests/unictype/test-categ_Mc.c: Likewise.
60228         * tests/unictype/test-categ_Me.c: Likewise.
60229         * tests/unictype/test-categ_Mn.c: Likewise.
60230         * tests/unictype/test-categ_N.c: Likewise.
60231         * tests/unictype/test-categ_Nd.c: Likewise.
60232         * tests/unictype/test-categ_Nl.c: Likewise.
60233         * tests/unictype/test-categ_No.c: Likewise.
60234         * tests/unictype/test-categ_P.c: Likewise.
60235         * tests/unictype/test-categ_Pc.c: Likewise.
60236         * tests/unictype/test-categ_Pd.c: Likewise.
60237         * tests/unictype/test-categ_Pe.c: Likewise.
60238         * tests/unictype/test-categ_Pf.c: Likewise.
60239         * tests/unictype/test-categ_Pi.c: Likewise.
60240         * tests/unictype/test-categ_Po.c: Likewise.
60241         * tests/unictype/test-categ_Ps.c: Likewise.
60242         * tests/unictype/test-categ_S.c: Likewise.
60243         * tests/unictype/test-categ_Sc.c: Likewise.
60244         * tests/unictype/test-categ_Sk.c: Likewise.
60245         * tests/unictype/test-categ_Sm.c: Likewise.
60246         * tests/unictype/test-categ_So.c: Likewise.
60247         * tests/unictype/test-categ_Z.c: Likewise.
60248         * tests/unictype/test-categ_Zl.c: Likewise.
60249         * tests/unictype/test-categ_Zp.c: Likewise.
60250         * tests/unictype/test-categ_Zs.c: Likewise.
60251         * tests/unictype/test-ctype_alnum.c: Likewise.
60252         * tests/unictype/test-ctype_alpha.c: Likewise.
60253         * tests/unictype/test-ctype_blank.c: Likewise.
60254         * tests/unictype/test-ctype_cntrl.c: Likewise.
60255         * tests/unictype/test-ctype_digit.c: Likewise.
60256         * tests/unictype/test-ctype_graph.c: Likewise.
60257         * tests/unictype/test-ctype_lower.c: Likewise.
60258         * tests/unictype/test-ctype_print.c: Likewise.
60259         * tests/unictype/test-ctype_punct.c: Likewise.
60260         * tests/unictype/test-ctype_space.c: Likewise.
60261         * tests/unictype/test-ctype_upper.c: Likewise.
60262         * tests/unictype/test-ctype_xdigit.c: Likewise.
60263         * tests/unictype/test-decdigit.h: Likewise.
60264         * tests/unictype/test-digit.h: Likewise.
60265         * tests/unictype/test-numeric.h: Likewise.
60266         * tests/unictype/test-pr_alphabetic.c: Likewise.
60267         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
60268         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60269         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60270         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
60271         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60272         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
60273         * tests/unictype/test-pr_bidi_control.c: Likewise.
60274         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
60275         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
60276         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60277         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60278         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60279         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60280         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60281         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60282         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
60283         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
60284         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
60285         * tests/unictype/test-pr_combining.c: Likewise.
60286         * tests/unictype/test-pr_composite.c: Likewise.
60287         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60288         * tests/unictype/test-pr_dash.c: Likewise.
60289         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60290         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
60291         * tests/unictype/test-pr_deprecated.c: Likewise.
60292         * tests/unictype/test-pr_diacritic.c: Likewise.
60293         * tests/unictype/test-pr_extender.c: Likewise.
60294         * tests/unictype/test-pr_format_control.c: Likewise.
60295         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60296         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60297         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60298         * tests/unictype/test-pr_hex_digit.c: Likewise.
60299         * tests/unictype/test-pr_hyphen.c: Likewise.
60300         * tests/unictype/test-pr_id_continue.c: Likewise.
60301         * tests/unictype/test-pr_id_start.c: Likewise.
60302         * tests/unictype/test-pr_ideographic.c: Likewise.
60303         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
60304         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
60305         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60306         * tests/unictype/test-pr_iso_control.c: Likewise.
60307         * tests/unictype/test-pr_join_control.c: Likewise.
60308         * tests/unictype/test-pr_left_of_pair.c: Likewise.
60309         * tests/unictype/test-pr_line_separator.c: Likewise.
60310         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60311         * tests/unictype/test-pr_lowercase.c: Likewise.
60312         * tests/unictype/test-pr_math.c: Likewise.
60313         * tests/unictype/test-pr_non_break.c: Likewise.
60314         * tests/unictype/test-pr_not_a_character.c: Likewise.
60315         * tests/unictype/test-pr_numeric.c: Likewise.
60316         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60317         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
60318         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
60319         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60320         * tests/unictype/test-pr_other_id_start.c: Likewise.
60321         * tests/unictype/test-pr_other_lowercase.c: Likewise.
60322         * tests/unictype/test-pr_other_math.c: Likewise.
60323         * tests/unictype/test-pr_other_uppercase.c: Likewise.
60324         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
60325         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
60326         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
60327         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
60328         * tests/unictype/test-pr_private_use.c: Likewise.
60329         * tests/unictype/test-pr_punctuation.c: Likewise.
60330         * tests/unictype/test-pr_quotation_mark.c: Likewise.
60331         * tests/unictype/test-pr_radical.c: Likewise.
60332         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60333         * tests/unictype/test-pr_soft_dotted.c: Likewise.
60334         * tests/unictype/test-pr_space.c: Likewise.
60335         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60336         * tests/unictype/test-pr_titlecase.c: Likewise.
60337         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60338         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60339         * tests/unictype/test-pr_uppercase.c: Likewise.
60340         * tests/unictype/test-pr_variation_selector.c: Likewise.
60341         * tests/unictype/test-pr_white_space.c: Likewise.
60342         * tests/unictype/test-pr_xid_continue.c: Likewise.
60343         * tests/unictype/test-pr_xid_start.c: Likewise.
60344         * tests/unictype/test-pr_zero_width.c: Likewise.
60345         * tests/unictype/test-sy_c_whitespace.c: Likewise.
60346         * tests/unictype/test-sy_java_whitespace.c: Likewise.
60347
60348 2007-11-12  Bruno Haible  <bruno@clisp.org>
60349
60350         Unicode character classification functions.
60351         * lib/unictype.h: New file.
60352         * modules/unictype/base: New file.
60353         * modules/unictype/category-L: New file.
60354         * modules/unictype/category-Lu: New file.
60355         * modules/unictype/category-Ll: New file.
60356         * modules/unictype/category-Lt: New file.
60357         * modules/unictype/category-Lm: New file.
60358         * modules/unictype/category-Lo: New file.
60359         * modules/unictype/category-M: New file.
60360         * modules/unictype/category-Mn: New file.
60361         * modules/unictype/category-Mc: New file.
60362         * modules/unictype/category-Me: New file.
60363         * modules/unictype/category-N: New file.
60364         * modules/unictype/category-Nd: New file.
60365         * modules/unictype/category-Nl: New file.
60366         * modules/unictype/category-No: New file.
60367         * modules/unictype/category-P: New file.
60368         * modules/unictype/category-Pc: New file.
60369         * modules/unictype/category-Pd: New file.
60370         * modules/unictype/category-Ps: New file.
60371         * modules/unictype/category-Pe: New file.
60372         * modules/unictype/category-Pi: New file.
60373         * modules/unictype/category-Pf: New file.
60374         * modules/unictype/category-Po: New file.
60375         * modules/unictype/category-S: New file.
60376         * modules/unictype/category-Sm: New file.
60377         * modules/unictype/category-Sc: New file.
60378         * modules/unictype/category-Sk: New file.
60379         * modules/unictype/category-So: New file.
60380         * modules/unictype/category-Z: New file.
60381         * modules/unictype/category-Zs: New file.
60382         * modules/unictype/category-Zl: New file.
60383         * modules/unictype/category-Zp: New file.
60384         * modules/unictype/category-C: New file.
60385         * modules/unictype/category-Cc: New file.
60386         * modules/unictype/category-Cf: New file.
60387         * modules/unictype/category-Cs: New file.
60388         * modules/unictype/category-Co: New file.
60389         * modules/unictype/category-Cn: New file.
60390         * modules/unictype/category-or: New file.
60391         * modules/unictype/category-of: New file.
60392         * modules/unictype/category-test: New file.
60393         * modules/unictype/category-test-withtable: New file.
60394         * modules/unictype/category-byname: New file.
60395         * modules/unictype/category-none: New file.
60396         * modules/unictype/category-and: New file.
60397         * modules/unictype/category-and-not: New file.
60398         * modules/unictype/category-name: New file.
60399         * modules/unictype/combining-class: New file.
60400         * modules/unictype/category-all: New file.
60401         * modules/unictype/bidicategory-all: New file.
60402         * modules/unictype/bidicategory-byname: New file.
60403         * modules/unictype/bidicategory-name: New file.
60404         * modules/unictype/bidicategory-of: New file.
60405         * modules/unictype/bidicategory-test: New file.
60406         * modules/unictype/decimal-digit: New file.
60407         * modules/unictype/digit: New file.
60408         * modules/unictype/numeric: New file.
60409         * modules/unictype/mirror: New file.
60410         * modules/unictype/property-white-space: New file.
60411         * modules/unictype/property-alphabetic: New file.
60412         * modules/unictype/property-other-alphabetic: New file.
60413         * modules/unictype/property-not-a-character: New file.
60414         * modules/unictype/property-default-ignorable-code-point: New file.
60415         * modules/unictype/property-other-default-ignorable-code-point: New
60416         file.
60417         * modules/unictype/property-deprecated: New file.
60418         * modules/unictype/property-logical-order-exception: New file.
60419         * modules/unictype/property-variation-selector: New file.
60420         * modules/unictype/property-private-use: New file.
60421         * modules/unictype/property-unassigned-code-value: New file.
60422         * modules/unictype/property-uppercase: New file.
60423         * modules/unictype/property-other-uppercase: New file.
60424         * modules/unictype/property-lowercase: New file.
60425         * modules/unictype/property-other-lowercase: New file.
60426         * modules/unictype/property-titlecase: New file.
60427         * modules/unictype/property-soft-dotted: New file.
60428         * modules/unictype/property-id-start: New file.
60429         * modules/unictype/property-other-id-start: New file.
60430         * modules/unictype/property-id-continue: New file.
60431         * modules/unictype/property-other-id-continue: New file.
60432         * modules/unictype/property-xid-start: New file.
60433         * modules/unictype/property-xid-continue: New file.
60434         * modules/unictype/property-pattern-white-space: New file.
60435         * modules/unictype/property-pattern-syntax: New file.
60436         * modules/unictype/property-join-control: New file.
60437         * modules/unictype/property-grapheme-base: New file.
60438         * modules/unictype/property-grapheme-extend: New file.
60439         * modules/unictype/property-other-grapheme-extend: New file.
60440         * modules/unictype/property-grapheme-link: New file.
60441         * modules/unictype/property-bidi-control: New file.
60442         * modules/unictype/property-bidi-left-to-right: New file.
60443         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
60444         * modules/unictype/property-bidi-arabic-right-to-left: New file.
60445         * modules/unictype/property-bidi-european-digit: New file.
60446         * modules/unictype/property-bidi-eur-num-separator: New file.
60447         * modules/unictype/property-bidi-eur-num-terminator: New file.
60448         * modules/unictype/property-bidi-arabic-digit: New file.
60449         * modules/unictype/property-bidi-common-separator: New file.
60450         * modules/unictype/property-bidi-block-separator: New file.
60451         * modules/unictype/property-bidi-segment-separator: New file.
60452         * modules/unictype/property-bidi-whitespace: New file.
60453         * modules/unictype/property-bidi-non-spacing-mark: New file.
60454         * modules/unictype/property-bidi-boundary-neutral: New file.
60455         * modules/unictype/property-bidi-pdf: New file.
60456         * modules/unictype/property-bidi-embedding-or-override: New file.
60457         * modules/unictype/property-bidi-other-neutral: New file.
60458         * modules/unictype/property-hex-digit: New file.
60459         * modules/unictype/property-ascii-hex-digit: New file.
60460         * modules/unictype/property-ideographic: New file.
60461         * modules/unictype/property-unified-ideograph: New file.
60462         * modules/unictype/property-radical: New file.
60463         * modules/unictype/property-ids-binary-operator: New file.
60464         * modules/unictype/property-ids-trinary-operator: New file.
60465         * modules/unictype/property-zero-width: New file.
60466         * modules/unictype/property-space: New file.
60467         * modules/unictype/property-non-break: New file.
60468         * modules/unictype/property-iso-control: New file.
60469         * modules/unictype/property-format-control: New file.
60470         * modules/unictype/property-dash: New file.
60471         * modules/unictype/property-hyphen: New file.
60472         * modules/unictype/property-punctuation: New file.
60473         * modules/unictype/property-line-separator: New file.
60474         * modules/unictype/property-paragraph-separator: New file.
60475         * modules/unictype/property-quotation-mark: New file.
60476         * modules/unictype/property-sentence-terminal: New file.
60477         * modules/unictype/property-terminal-punctuation: New file.
60478         * modules/unictype/property-currency-symbol: New file.
60479         * modules/unictype/property-math: New file.
60480         * modules/unictype/property-other-math: New file.
60481         * modules/unictype/property-paired-punctuation: New file.
60482         * modules/unictype/property-left-of-pair: New file.
60483         * modules/unictype/property-combining: New file.
60484         * modules/unictype/property-composite: New file.
60485         * modules/unictype/property-decimal-digit: New file.
60486         * modules/unictype/property-numeric: New file.
60487         * modules/unictype/property-diacritic: New file.
60488         * modules/unictype/property-extender: New file.
60489         * modules/unictype/property-ignorable-control: New file.
60490         * modules/unictype/property-test: New file.
60491         * modules/unictype/property-byname: New file.
60492         * modules/unictype/property-all: New file.
60493         * modules/unictype/scripts: New file.
60494         * modules/unictype/scripts-all: New file.
60495         * modules/unictype/block-of: New file.
60496         * modules/unictype/block-test: New file.
60497         * modules/unictype/block-list: New file.
60498         * modules/unictype/block-all: New file.
60499         * modules/unictype/syntax-c-whitespace: New file.
60500         * modules/unictype/syntax-java-whitespace: New file.
60501         * modules/unictype/syntax-c-ident: New file.
60502         * modules/unictype/syntax-java-ident: New file.
60503         * modules/unictype/ctype-alnum: New file.
60504         * modules/unictype/ctype-alpha: New file.
60505         * modules/unictype/ctype-cntrl: New file.
60506         * modules/unictype/ctype-digit: New file.
60507         * modules/unictype/ctype-graph: New file.
60508         * modules/unictype/ctype-lower: New file.
60509         * modules/unictype/ctype-print: New file.
60510         * modules/unictype/ctype-punct: New file.
60511         * modules/unictype/ctype-space: New file.
60512         * modules/unictype/ctype-upper: New file.
60513         * modules/unictype/ctype-xdigit: New file.
60514         * modules/unictype/ctype-blank: New file.
60515         * lib/unictype/bidi_byname.c: New file.
60516         * lib/unictype/bidi_name.c: New file.
60517         * lib/unictype/bidi_of.c: New file.
60518         * lib/unictype/bidi_test.c: New file.
60519         * lib/unictype/bitmap.h: New file.
60520         * lib/unictype/block_test.c: New file.
60521         * lib/unictype/blocks.c: New file.
60522         * lib/unictype/categ_C.c: New file.
60523         * lib/unictype/categ_Cc.c: New file.
60524         * lib/unictype/categ_Cf.c: New file.
60525         * lib/unictype/categ_Cn.c: New file.
60526         * lib/unictype/categ_Co.c: New file.
60527         * lib/unictype/categ_Cs.c: New file.
60528         * lib/unictype/categ_L.c: New file.
60529         * lib/unictype/categ_Ll.c: New file.
60530         * lib/unictype/categ_Lm.c: New file.
60531         * lib/unictype/categ_Lo.c: New file.
60532         * lib/unictype/categ_Lt.c: New file.
60533         * lib/unictype/categ_Lu.c: New file.
60534         * lib/unictype/categ_M.c: New file.
60535         * lib/unictype/categ_Mc.c: New file.
60536         * lib/unictype/categ_Me.c: New file.
60537         * lib/unictype/categ_Mn.c: New file.
60538         * lib/unictype/categ_N.c: New file.
60539         * lib/unictype/categ_Nd.c: New file.
60540         * lib/unictype/categ_Nl.c: New file.
60541         * lib/unictype/categ_No.c: New file.
60542         * lib/unictype/categ_P.c: New file.
60543         * lib/unictype/categ_Pc.c: New file.
60544         * lib/unictype/categ_Pd.c: New file.
60545         * lib/unictype/categ_Pe.c: New file.
60546         * lib/unictype/categ_Pf.c: New file.
60547         * lib/unictype/categ_Pi.c: New file.
60548         * lib/unictype/categ_Po.c: New file.
60549         * lib/unictype/categ_Ps.c: New file.
60550         * lib/unictype/categ_S.c: New file.
60551         * lib/unictype/categ_Sc.c: New file.
60552         * lib/unictype/categ_Sk.c: New file.
60553         * lib/unictype/categ_Sm.c: New file.
60554         * lib/unictype/categ_So.c: New file.
60555         * lib/unictype/categ_Z.c: New file.
60556         * lib/unictype/categ_Zl.c: New file.
60557         * lib/unictype/categ_Zp.c: New file.
60558         * lib/unictype/categ_Zs.c: New file.
60559         * lib/unictype/categ_and.c: New file.
60560         * lib/unictype/categ_and_not.c: New file.
60561         * lib/unictype/categ_byname.c: New file.
60562         * lib/unictype/categ_name.c: New file.
60563         * lib/unictype/categ_none.c: New file.
60564         * lib/unictype/categ_of.c: New file.
60565         * lib/unictype/categ_or.c: New file.
60566         * lib/unictype/categ_test.c: New file.
60567         * lib/unictype/combining.c: New file.
60568         * lib/unictype/ctype_alnum.c: New file.
60569         * lib/unictype/ctype_alpha.c: New file.
60570         * lib/unictype/ctype_blank.c: New file.
60571         * lib/unictype/ctype_cntrl.c: New file.
60572         * lib/unictype/ctype_digit.c: New file.
60573         * lib/unictype/ctype_graph.c: New file.
60574         * lib/unictype/ctype_lower.c: New file.
60575         * lib/unictype/ctype_print.c: New file.
60576         * lib/unictype/ctype_punct.c: New file.
60577         * lib/unictype/ctype_space.c: New file.
60578         * lib/unictype/ctype_upper.c: New file.
60579         * lib/unictype/ctype_xdigit.c: New file.
60580         * lib/unictype/decdigit.c: New file.
60581         * lib/unictype/digit.c: New file.
60582         * lib/unictype/identsyntaxmap.h: New file.
60583         * lib/unictype/mirror.c: New file.
60584         * lib/unictype/numeric.c: New file.
60585         * lib/unictype/pr_alphabetic.c: New file.
60586         * lib/unictype/pr_ascii_hex_digit.c: New file.
60587         * lib/unictype/pr_bidi_arabic_digit.c: New file.
60588         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
60589         * lib/unictype/pr_bidi_block_separator.c: New file.
60590         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
60591         * lib/unictype/pr_bidi_common_separator.c: New file.
60592         * lib/unictype/pr_bidi_control.c: New file.
60593         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
60594         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
60595         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
60596         * lib/unictype/pr_bidi_european_digit.c: New file.
60597         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
60598         * lib/unictype/pr_bidi_left_to_right.c: New file.
60599         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
60600         * lib/unictype/pr_bidi_other_neutral.c: New file.
60601         * lib/unictype/pr_bidi_pdf.c: New file.
60602         * lib/unictype/pr_bidi_segment_separator.c: New file.
60603         * lib/unictype/pr_bidi_whitespace.c: New file.
60604         * lib/unictype/pr_byname.c: New file.
60605         * lib/unictype/pr_byname.gperf: New file.
60606         * lib/unictype/pr_combining.c: New file.
60607         * lib/unictype/pr_composite.c: New file.
60608         * lib/unictype/pr_currency_symbol.c: New file.
60609         * lib/unictype/pr_dash.c: New file.
60610         * lib/unictype/pr_decimal_digit.c: New file.
60611         * lib/unictype/pr_default_ignorable_code_point.c: New file.
60612         * lib/unictype/pr_deprecated.c: New file.
60613         * lib/unictype/pr_diacritic.c: New file.
60614         * lib/unictype/pr_extender.c: New file.
60615         * lib/unictype/pr_format_control.c: New file.
60616         * lib/unictype/pr_grapheme_base.c: New file.
60617         * lib/unictype/pr_grapheme_extend.c: New file.
60618         * lib/unictype/pr_grapheme_link.c: New file.
60619         * lib/unictype/pr_hex_digit.c: New file.
60620         * lib/unictype/pr_hyphen.c: New file.
60621         * lib/unictype/pr_id_continue.c: New file.
60622         * lib/unictype/pr_id_start.c: New file.
60623         * lib/unictype/pr_ideographic.c: New file.
60624         * lib/unictype/pr_ids_binary_operator.c: New file.
60625         * lib/unictype/pr_ids_trinary_operator.c: New file.
60626         * lib/unictype/pr_ignorable_control.c: New file.
60627         * lib/unictype/pr_iso_control.c: New file.
60628         * lib/unictype/pr_join_control.c: New file.
60629         * lib/unictype/pr_left_of_pair.c: New file.
60630         * lib/unictype/pr_line_separator.c: New file.
60631         * lib/unictype/pr_logical_order_exception.c: New file.
60632         * lib/unictype/pr_lowercase.c: New file.
60633         * lib/unictype/pr_math.c: New file.
60634         * lib/unictype/pr_non_break.c: New file.
60635         * lib/unictype/pr_not_a_character.c: New file.
60636         * lib/unictype/pr_numeric.c: New file.
60637         * lib/unictype/pr_other_alphabetic.c: New file.
60638         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
60639         * lib/unictype/pr_other_grapheme_extend.c: New file.
60640         * lib/unictype/pr_other_id_continue.c: New file.
60641         * lib/unictype/pr_other_id_start.c: New file.
60642         * lib/unictype/pr_other_lowercase.c: New file.
60643         * lib/unictype/pr_other_math.c: New file.
60644         * lib/unictype/pr_other_uppercase.c: New file.
60645         * lib/unictype/pr_paired_punctuation.c: New file.
60646         * lib/unictype/pr_paragraph_separator.c: New file.
60647         * lib/unictype/pr_pattern_syntax.c: New file.
60648         * lib/unictype/pr_pattern_white_space.c: New file.
60649         * lib/unictype/pr_private_use.c: New file.
60650         * lib/unictype/pr_punctuation.c: New file.
60651         * lib/unictype/pr_quotation_mark.c: New file.
60652         * lib/unictype/pr_radical.c: New file.
60653         * lib/unictype/pr_sentence_terminal.c: New file.
60654         * lib/unictype/pr_soft_dotted.c: New file.
60655         * lib/unictype/pr_space.c: New file.
60656         * lib/unictype/pr_terminal_punctuation.c: New file.
60657         * lib/unictype/pr_test.c: New file.
60658         * lib/unictype/pr_titlecase.c: New file.
60659         * lib/unictype/pr_unassigned_code_value.c: New file.
60660         * lib/unictype/pr_unified_ideograph.c: New file.
60661         * lib/unictype/pr_uppercase.c: New file.
60662         * lib/unictype/pr_variation_selector.c: New file.
60663         * lib/unictype/pr_white_space.c: New file.
60664         * lib/unictype/pr_xid_continue.c: New file.
60665         * lib/unictype/pr_xid_start.c: New file.
60666         * lib/unictype/pr_zero_width.c: New file.
60667         * lib/unictype/scripts.c: New file.
60668         * lib/unictype/sy_c_ident.c: New file.
60669         * lib/unictype/sy_c_whitespace.c: New file.
60670         * lib/unictype/sy_java_ident.c: New file.
60671         * lib/unictype/sy_java_whitespace.c: New file.
60672
60673         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
60674         Unicode 5.0.0.
60675         * lib/unictype/blocks.h: Likewise.
60676         * lib/unictype/categ_C.h: Likewise.
60677         * lib/unictype/categ_Cc.h: Likewise.
60678         * lib/unictype/categ_Cf.h: Likewise.
60679         * lib/unictype/categ_Cn.h: Likewise.
60680         * lib/unictype/categ_Co.h: Likewise.
60681         * lib/unictype/categ_Cs.h: Likewise.
60682         * lib/unictype/categ_L.h: Likewise.
60683         * lib/unictype/categ_Ll.h: Likewise.
60684         * lib/unictype/categ_Lm.h: Likewise.
60685         * lib/unictype/categ_Lo.h: Likewise.
60686         * lib/unictype/categ_Lt.h: Likewise.
60687         * lib/unictype/categ_Lu.h: Likewise.
60688         * lib/unictype/categ_M.h: Likewise.
60689         * lib/unictype/categ_Mc.h: Likewise.
60690         * lib/unictype/categ_Me.h: Likewise.
60691         * lib/unictype/categ_Mn.h: Likewise.
60692         * lib/unictype/categ_N.h: Likewise.
60693         * lib/unictype/categ_Nd.h: Likewise.
60694         * lib/unictype/categ_Nl.h: Likewise.
60695         * lib/unictype/categ_No.h: Likewise.
60696         * lib/unictype/categ_P.h: Likewise.
60697         * lib/unictype/categ_Pc.h: Likewise.
60698         * lib/unictype/categ_Pd.h: Likewise.
60699         * lib/unictype/categ_Pe.h: Likewise.
60700         * lib/unictype/categ_Pf.h: Likewise.
60701         * lib/unictype/categ_Pi.h: Likewise.
60702         * lib/unictype/categ_Po.h: Likewise.
60703         * lib/unictype/categ_Ps.h: Likewise.
60704         * lib/unictype/categ_S.h: Likewise.
60705         * lib/unictype/categ_Sc.h: Likewise.
60706         * lib/unictype/categ_Sk.h: Likewise.
60707         * lib/unictype/categ_Sm.h: Likewise.
60708         * lib/unictype/categ_So.h: Likewise.
60709         * lib/unictype/categ_Z.h: Likewise.
60710         * lib/unictype/categ_Zl.h: Likewise.
60711         * lib/unictype/categ_Zp.h: Likewise.
60712         * lib/unictype/categ_Zs.h: Likewise.
60713         * lib/unictype/categ_of.h: Likewise.
60714         * lib/unictype/combining.h: Likewise.
60715         * lib/unictype/ctype_alnum.h: Likewise.
60716         * lib/unictype/ctype_alpha.h: Likewise.
60717         * lib/unictype/ctype_blank.h: Likewise.
60718         * lib/unictype/ctype_cntrl.h: Likewise.
60719         * lib/unictype/ctype_digit.h: Likewise.
60720         * lib/unictype/ctype_graph.h: Likewise.
60721         * lib/unictype/ctype_lower.h: Likewise.
60722         * lib/unictype/ctype_print.h: Likewise.
60723         * lib/unictype/ctype_punct.h: Likewise.
60724         * lib/unictype/ctype_space.h: Likewise.
60725         * lib/unictype/ctype_upper.h: Likewise.
60726         * lib/unictype/ctype_xdigit.h: Likewise.
60727         * lib/unictype/decdigit.h: Likewise.
60728         * lib/unictype/digit.h: Likewise.
60729         * lib/unictype/mirror.h: Likewise.
60730         * lib/unictype/numeric.h: Likewise.
60731         * lib/unictype/pr_alphabetic.h: Likewise.
60732         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60733         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60734         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60735         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60736         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60737         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60738         * lib/unictype/pr_bidi_control.h: Likewise.
60739         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60740         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60741         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60742         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60743         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60744         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60745         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60746         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60747         * lib/unictype/pr_bidi_pdf.h: Likewise.
60748         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60749         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60750         * lib/unictype/pr_combining.h: Likewise.
60751         * lib/unictype/pr_composite.h: Likewise.
60752         * lib/unictype/pr_currency_symbol.h: Likewise.
60753         * lib/unictype/pr_dash.h: Likewise.
60754         * lib/unictype/pr_decimal_digit.h: Likewise.
60755         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60756         * lib/unictype/pr_deprecated.h: Likewise.
60757         * lib/unictype/pr_diacritic.h: Likewise.
60758         * lib/unictype/pr_extender.h: Likewise.
60759         * lib/unictype/pr_format_control.h: Likewise.
60760         * lib/unictype/pr_grapheme_base.h: Likewise.
60761         * lib/unictype/pr_grapheme_extend.h: Likewise.
60762         * lib/unictype/pr_grapheme_link.h: Likewise.
60763         * lib/unictype/pr_hex_digit.h: Likewise.
60764         * lib/unictype/pr_hyphen.h: Likewise.
60765         * lib/unictype/pr_id_continue.h: Likewise.
60766         * lib/unictype/pr_id_start.h: Likewise.
60767         * lib/unictype/pr_ideographic.h: Likewise.
60768         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60769         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60770         * lib/unictype/pr_ignorable_control.h: Likewise.
60771         * lib/unictype/pr_iso_control.h: Likewise.
60772         * lib/unictype/pr_join_control.h: Likewise.
60773         * lib/unictype/pr_left_of_pair.h: Likewise.
60774         * lib/unictype/pr_line_separator.h: Likewise.
60775         * lib/unictype/pr_logical_order_exception.h: Likewise.
60776         * lib/unictype/pr_lowercase.h: Likewise.
60777         * lib/unictype/pr_math.h: Likewise.
60778         * lib/unictype/pr_non_break.h: Likewise.
60779         * lib/unictype/pr_not_a_character.h: Likewise.
60780         * lib/unictype/pr_numeric.h: Likewise.
60781         * lib/unictype/pr_other_alphabetic.h: Likewise.
60782         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60783         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60784         * lib/unictype/pr_other_id_continue.h: Likewise.
60785         * lib/unictype/pr_other_id_start.h: Likewise.
60786         * lib/unictype/pr_other_lowercase.h: Likewise.
60787         * lib/unictype/pr_other_math.h: Likewise.
60788         * lib/unictype/pr_other_uppercase.h: Likewise.
60789         * lib/unictype/pr_paired_punctuation.h: Likewise.
60790         * lib/unictype/pr_paragraph_separator.h: Likewise.
60791         * lib/unictype/pr_pattern_syntax.h: Likewise.
60792         * lib/unictype/pr_pattern_white_space.h: Likewise.
60793         * lib/unictype/pr_private_use.h: Likewise.
60794         * lib/unictype/pr_punctuation.h: Likewise.
60795         * lib/unictype/pr_quotation_mark.h: Likewise.
60796         * lib/unictype/pr_radical.h: Likewise.
60797         * lib/unictype/pr_sentence_terminal.h: Likewise.
60798         * lib/unictype/pr_soft_dotted.h: Likewise.
60799         * lib/unictype/pr_space.h: Likewise.
60800         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60801         * lib/unictype/pr_titlecase.h: Likewise.
60802         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60803         * lib/unictype/pr_unified_ideograph.h: Likewise.
60804         * lib/unictype/pr_uppercase.h: Likewise.
60805         * lib/unictype/pr_variation_selector.h: Likewise.
60806         * lib/unictype/pr_white_space.h: Likewise.
60807         * lib/unictype/pr_xid_continue.h: Likewise.
60808         * lib/unictype/pr_xid_start.h: Likewise.
60809         * lib/unictype/pr_zero_width.h: Likewise.
60810         * lib/unictype/scripts.h: Likewise.
60811         * lib/unictype/scripts_byname.gperf: Likewise.
60812         * lib/unictype/sy_c_ident.h: Likewise.
60813         * lib/unictype/sy_c_whitespace.h: Likewise.
60814         * lib/unictype/sy_java_ident.h: Likewise.
60815         * lib/unictype/sy_java_whitespace.h: Likewise.
60816
60817         * lib/unictype/Makefile: New file.
60818         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
60819         glibc.
60820         * lib/unictype/3level.h: New file, copied from glibc.
60821         * lib/unictype/3levelbit.h: New file.
60822
60823 2007-11-11  Bruno Haible  <bruno@clisp.org>
60824
60825         * modules/gperf: New file.
60826         * modules/iconv_open (Depends-on): Add it.
60827         (Makefile.am): Remove the GPERF definition.
60828
60829 2007-11-11  Bruno Haible  <bruno@clisp.org>
60830
60831         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
60832         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
60833
60834 2007-11-11  Bruno Haible  <bruno@clisp.org>
60835
60836         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
60837         (usage): Remove function.
60838
60839 2007-11-11  Bruno Haible  <bruno@clisp.org>
60840
60841         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
60842         gl_FUNC_CEILF_LIBS.
60843         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
60844         gl_FUNC_CEIL_LIBS.
60845         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
60846         gl_FUNC_CEILL_LIBS.
60847         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
60848         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
60849         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
60850
60851 2007-11-11  Bruno Haible  <bruno@clisp.org>
60852
60853         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
60854         roundf were declared but do not exist on functions.
60855         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
60856         roundl were declared but do not exist on functions.
60857         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
60858         HAVE_FLOORL_AND_CEILL, respectively.
60859         Needed for Sun C on Solaris 10.
60860
60861 2007-11-11  Bruno Haible  <bruno@clisp.org>
60862
60863         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
60864         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
60865         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
60866         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
60867         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
60868         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
60869         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
60870         HAVE_DECL_ROUNDF.
60871         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
60872         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
60873         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
60874         of HAVE_DECL_ROUND*.
60875         * modules/math (Makefile.am): Update.
60876
60877 2007-11-10  Bruno Haible  <bruno@clisp.org>
60878
60879         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
60880         ptrdiff_t as m4/intl.m4.
60881
60882 2007-11-10  Jim Meyering  <meyering@redhat.com>
60883
60884         Avoid link failure for the argmatch test.
60885         * tests/test-argmatch.c (usage): Define function to avoid a link
60886         failure: argmatch_die requires a usage function.
60887
60888 2007-11-09  Bruno Haible  <bruno@clisp.org>
60889
60890         * doc/functions/snprintf.texi: Mention BeOS deficiency.
60891         * doc/functions/vsnprintf.texi: Likewise.
60892         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
60893         with a size argument < 2.
60894
60895 2007-11-09  Bruno Haible  <bruno@clisp.org>
60896
60897         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
60898         buffer. Fixes an inefficiency introduced on 2007-11-03.
60899
60900 2007-11-09  Bruno Haible  <bruno@clisp.org>
60901
60902         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
60903         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
60904
60905 2007-11-08  Jim Meyering  <meyering@redhat.com>
60906
60907         Change cache variable name prefix "jm_" to "gl_" everywhere.
60908         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
60909         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
60910         * m4/uptime.m4: s/gl_/jm_/
60911
60912 2007-11-07  Bruno Haible  <bruno@clisp.org>
60913
60914         Update to GNU gettext 0.17.
60915         * m4/intl.m4: Update to GNU gettext 0.17.
60916         * m4/po.m4: Likewise.
60917         * modules/gettext (Files): Remove m4/ulonglong.m4.
60918         (configure.ac): Require gettext infrastructure from version 0.17.
60919
60920 2007-11-06  Bruno Haible  <bruno@clisp.org>
60921
60922         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
60923         symbolic values are not defined in a public header.
60924         * lib/freadable.c (freadable) [QNX]: Likewise.
60925         * lib/freadahead.c (freadahead) [QNX]: Likewise.
60926         * lib/freading.c (freading) [QNX]: Likewise.
60927         * lib/fseterr.c (fseterr) [QNX]: Likewise.
60928         * lib/fwritable.c (fwritable) [QNX]: Likewise.
60929         * lib/fwriting.c (fwriting) [QNX]: Likewise.
60930         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
60931         Reported by Alain Magloire.
60932
60933         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
60934
60935 2007-11-05  Bruno Haible  <bruno@clisp.org>
60936
60937         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
60938         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
60939         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
60940         Reported by Eric Blake.
60941
60942 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60943             Bruno Haible  <bruno@clisp.org>
60944
60945         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
60946         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
60947         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
60948         (malloc): Undefine also before including <stdlib.h>.
60949         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
60950         Needed on OSF/1 4.0.
60951
60952 2007-11-05  Jim Meyering  <meyering@redhat.com>
60953
60954         git-version-gen: sync from coreutils.
60955         * build-aux/git-version-gen: Add comments.
60956         Change the first '-' to '.' in the snapshot version string,
60957         e.g., 6.9-377-08144 -> 6.9.377-08144
60958         Remove first parameter.
60959         Don't declare a version "-dirty" merely because a time
60960         stamp has changed.
60961
60962 2007-11-04  Bruno Haible  <bruno@clisp.org>
60963
60964         * lib/lock.h: Protect all macro definitions containing an 'if'
60965         statement through a "do { ... } while (0)".
60966         * lib/tls.h: Likewise.
60967
60968 2007-11-04  Bruno Haible  <bruno@clisp.org>
60969
60970         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
60971
60972 2007-11-04  Bruno Haible  <bruno@clisp.org>
60973
60974         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
60975         * modules/fprintf-posix (Depends-on): Add nocrash.
60976         * modules/snprintf-posix (Depends-on): Likewise.
60977         * modules/sprintf-posix (Depends-on): Likewise.
60978         * modules/vasnprintf-posix (Depends-on): Likewise.
60979         * modules/vasprintf-posix (Depends-on): Likewise.
60980         * modules/vfprintf-posix (Depends-on): Likewise.
60981         * modules/vsnprintf-posix (Depends-on): Likewise.
60982         * modules/vsprintf-posix (Depends-on): Likewise.
60983         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60984         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60985         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60986         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60987         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60988         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60989         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60990
60991 2007-11-04  Bruno Haible  <bruno@clisp.org>
60992
60993         * modules/nocrash: New file.
60994         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
60995         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
60996
60997 2007-11-04  Bruno Haible  <bruno@clisp.org>
60998
60999         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61000         precision handling.
61001         * tests/test-vasprintf-posix.c (test_function): Likewise.
61002         * tests/test-snprintf-posix.h (test_function): Likewise.
61003         * tests/test-sprintf-posix.h (test_function): Likewise.
61004
61005         Fix *printf behaviour for large precisions on mingw and BeOS.
61006         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61007         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61008         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61009         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61010         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61011         gl_PRINTF_PRECISION and test its result. Invoke
61012         gl_PREREQ_VASNPRINTF_PRECISION.
61013         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61014         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61015         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61016         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61017         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61018         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61019         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61020         * doc/functions/fprintf.texi: Update.
61021         * doc/functions/printf.texi: Update.
61022         * doc/functions/snprintf.texi: Update.
61023         * doc/functions/sprintf.texi: Update.
61024         * doc/functions/vfprintf.texi: Update.
61025         * doc/functions/vprintf.texi: Update.
61026         * doc/functions/vsnprintf.texi: Update.
61027         * doc/functions/vsprintf.texi: Update.
61028
61029 2007-11-04  Bruno Haible  <bruno@clisp.org>
61030
61031         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61032
61033 2007-11-04  Bruno Haible  <bruno@clisp.org>
61034
61035         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61036         Reported by Sylvain Beucler <beuc@gnu.org>.
61037
61038 2007-11-03  Bruno Haible  <bruno@clisp.org>
61039
61040         * tests/test-fprintf-posix2.sh: New file.
61041         * tests/test-fprintf-posix2.c: New file.
61042         * modules/fprintf-posix-tests (Files): Add them.
61043         (TESTS): Add test-fprintf-posix2.sh.
61044         (configure.ac): Check for getrlimit and setrlimit.
61045         (check_PROGRAMS): Add test-fprintf-posix2.
61046
61047         * tests/test-printf-posix2.sh: New file.
61048         * tests/test-printf-posix2.c: New file.
61049         * modules/printf-posix-tests (Files): Add them.
61050         (TESTS): Add test-printf-posix2.sh.
61051         (configure.ac): Check for getrlimit and setrlimit.
61052         (check_PROGRAMS): Add test-printf-posix2.
61053
61054         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61055         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61056         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61057         (decode_double): New function, copied from decode_long_double.
61058         (scale10_round_decimal_decoded): New function, extracted from
61059         scale10_round_decimal_long_double.
61060         (scale10_round_decimal_long_double): Use it.
61061         (scale10_round_decimal_double): New function.
61062         (floorlog10): New function.
61063         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61064         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61065         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61066         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61067         gl_PRINTF_ENOMEM and test its result. Invoke
61068         gl_PREREQ_VASNPRINTF_ENOMEM.
61069         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61070         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61071         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61072         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61073         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61074         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61075         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61076         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61077         * modules/snprintf-posix (Depends-on): Likewise.
61078         * modules/sprintf-posix (Depends-on): Likewise.
61079         * modules/vasnprintf-posix (Depends-on): Likewise.
61080         * modules/vasprintf-posix (Depends-on): Likewise.
61081         * modules/vfprintf-posix (Depends-on): Likewise.
61082         * modules/vsnprintf-posix (Depends-on): Likewise.
61083         * modules/vsprintf-posix (Depends-on): Likewise.
61084         * doc/functions/fprintf.texi: Update.
61085         * doc/functions/printf.texi: Update.
61086         * doc/functions/snprintf.texi: Update.
61087         * doc/functions/sprintf.texi: Update.
61088         * doc/functions/vfprintf.texi: Update.
61089         * doc/functions/vprintf.texi: Update.
61090         * doc/functions/vsnprintf.texi: Update.
61091         * doc/functions/vsprintf.texi: Update.
61092
61093 2007-11-03  Bruno Haible  <bruno@clisp.org>
61094
61095         * modules/frexp-nolibm-tests: New file.
61096
61097         * modules/frexp-nolibm: New file.
61098         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61099
61100 2007-11-03  Bruno Haible  <bruno@clisp.org>
61101
61102         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61103         value is C99 compliant.
61104         Needed for OSF/1 5.1.
61105
61106 2007-11-03  Bruno Haible  <bruno@clisp.org>
61107
61108         Fix out-of-memory handling of vasnprintf.
61109         * lib/printf-parse.c: Include <errno.h>.
61110         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61111         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61112         is already set.
61113
61114 2007-11-02  Eric Blake  <ebb9@byu.net>
61115
61116         Fix tests on cygwin.
61117         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61118
61119 2007-11-01  Bruno Haible  <bruno@clisp.org>
61120
61121         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61122         warning.
61123         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61124         needed for POSIX compatibility.
61125
61126 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61127
61128         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61129         for compatibility with GNU.
61130
61131 2007-11-01  Bruno Haible  <bruno@clisp.org>
61132
61133         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61134         (putenv): Renamed from rpl_putenv. Change argument type from
61135         'const char *' to 'char *'.
61136         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61137         of defining putenv in config.h, just set REPLACE_PUTENV.
61138         * modules/putenv (Depends-on): Add stdlib.
61139         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61140         (Include): Use <stdlib.h>.
61141         * lib/stdlib.in.h (putenv): New declaration.
61142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61143         REPLACE_PUTENV.
61144         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61145         REPLACE_PUTENV.
61146         Needed for MacOS X 10.5.0.
61147         Reported by Peter O'Gorman <peter@pogma.com>.
61148
61149 2007-11-01  Jim Meyering  <meyering@redhat.com>
61150
61151         Treat an empty date string exactly like "0".
61152         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61153         if the remaining date string (to be parsed) is empty, use "0".
61154         Reported by Mischa Molhoek and discussed in this thread:
61155         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61156
61157 2007-10-31  Bruno Haible  <bruno@clisp.org>
61158
61159         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61160         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61161         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61162         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61163         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61164         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61165
61166 2007-10-31  Bruno Haible  <bruno@clisp.org>
61167
61168         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61169         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61170         (AC_TYPE_LONG_LONG_INT): Use it.
61171         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
61172         it as well.
61173         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
61174         to m4/longlong.m4.
61175         * modules/stdint (Files): Remove m4/ulonglong.m4.
61176         * modules/strtoull (Files): Use m4/longlong.m4 instead of
61177         m4/ulonglong.m4.
61178         * modules/strtoumax (Files): Likewise.
61179
61180 2007-10-30  Bruno Haible  <bruno@clisp.org>
61181
61182         * modules/xvasprintf-posix: New file.
61183         Suggested by Eric Blake.
61184
61185 2007-10-30  Bruno Haible  <bruno@clisp.org>
61186
61187         * modules/xprintf-posix-tests: New file.
61188         * tests/test-xprintf-posix.sh: New file.
61189         * tests/test-xprintf-posix.c: New file.
61190         * tests/test-xfprintf-posix.c: New file.
61191
61192         * modules/xprintf-posix: New file.
61193
61194 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61195
61196         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
61197         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
61198         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
61199
61200 2007-10-29  Bruno Haible  <bruno@clisp.org>
61201
61202         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
61203         contain the special marker '_cv_'.
61204         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
61205         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
61206         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
61207         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
61208         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
61209         Reported by Ralf Wildenhues.
61210
61211 2007-10-29  Bruno Haible  <bruno@clisp.org>
61212
61213         * gnulib-tool (func_import): When --lgpl is not specified, set
61214         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
61215         GPLv3.
61216         Reported by Simon Josefsson.
61217
61218 2007-10-28  Bruno Haible  <bruno@clisp.org>
61219
61220         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
61221         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
61222         HAVE_DECL_ISFINITE.
61223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61224         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
61225         HAVE_DECL_ISFINITE.
61226
61227 2007-10-28  Bruno Haible  <bruno@clisp.org>
61228
61229         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
61230         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
61231
61232 2007-10-28  Bruno Haible  <bruno@clisp.org>
61233
61234         Fix link errors with Sun C 5.0 on Solaris 10.
61235         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
61236         function is declared but not present in the compiler's libm.
61237         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
61238         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
61239         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
61240         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
61241         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
61242         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
61243         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
61244         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
61245         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
61246         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
61247         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
61248         HAVE_DECL_FLOORL.
61249
61250 2007-10-28  Bruno Haible  <bruno@clisp.org>
61251
61252         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
61253         gl_FUNC_FLOORL. Cache the result.
61254         (gl_FUNC_FLOORL): Use it.
61255         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
61256         gl_FUNC_CEILL. Cache the result.
61257         (gl_FUNC_CEILL): Use it.
61258
61259         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
61260         gl_FUNC_FLOOR. Cache the result.
61261         (gl_FUNC_FLOOR): Use it.
61262         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
61263         gl_FUNC_CEIL. Cache the result.
61264         (gl_FUNC_CEIL): Use it.
61265
61266         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
61267         gl_FUNC_FLOORF. Cache the result.
61268         (gl_FUNC_FLOORF): Use it.
61269         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
61270         gl_FUNC_CEILF. Cache the result.
61271         (gl_FUNC_CEILF): Use it.
61272
61273 2007-10-28  Bruno Haible  <bruno@clisp.org>
61274
61275         * gnulib-tool: Allow specifying the LGPL version number through
61276         --lgpl=2 or --lgpl=3.
61277         (func_usage): Document --lgpl with argument.
61278         Handle --lgpl=... arguments.
61279         (func_import): Recognize also gl_LGPL calls with an argument. When
61280         --lgpl=2 is used and the module's license is just LGPL, report an
61281         error. Set sed_transform_lib_file according to the lgpl variable. In
61282         the generated files, use --lgpl or gl_LGPL invocations with argument,
61283         if necessary.
61284         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
61285         an LGPv2+ license.
61286         * doc/gnulib-tool.texi (Modified imports): Update explanation of
61287         gl_LGPL macro.
61288
61289 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61290             Bruno Haible  <bruno@clisp.org>
61291
61292         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
61293         (u16_uctomb_aux): Likewise.
61294         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
61295         !HAVE_INLINE.
61296         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
61297
61298 2007-10-28  Bruno Haible  <bruno@clisp.org>
61299
61300         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
61301         Invoke AM_GETTEXT_OPTION if it exists.
61302         * modules/vasprintf: Likewise.
61303         * modules/verror: Likewise.
61304         * modules/xprintf: Likewise.
61305         * modules/xvasprintf: Likewise.
61306
61307 2007-10-27  Ben Pfaff  <blp@gnu.org>
61308
61309         * lib/math.in.h: Define isfinite macro and prototypes for
61310         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
61311         implementations.
61312         * m4/math_h.m4: New substitutions for isfinite module.
61313         * lib/isfinite.c: New file.
61314         * m4/isfinite.m4: New file.
61315         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
61316         * modules/isfinite: New file.
61317         * modules/isfinite-tests: New file.
61318         * tests/tests-isfinite.c: New file.
61319         * doc/functions/isfinite.texi: Mention isfinite module.
61320         * MODULES.html.sh: Mention new module.
61321
61322 2007-10-27  Ben Pfaff  <blp@gnu.org>
61323
61324         Ralf Wildenhues reported that Tru64 4.0D declares the round
61325         functions but does not have definitions.
61326         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
61327         cannot be found in any library, set the output variable to
61328         "missing" instead of "".
61329         * m4/round.m4: Also use our substitute if we cannot find round in
61330         any library, even if it is declared.
61331         * m4/roundf.m4: Likewise for roundf.
61332         * m4/roundl.m4: Likewise for roundl.
61333         * lib/math.in.h: Undefine roundf, round, roundl before defining
61334         their replacements, to allow for hypothetical systems where these
61335         may be defined as macros but not available in libraries.
61336
61337 2007-10-27  Bruno Haible  <bruno@clisp.org>
61338
61339         * doc/gnulib.texi: Invoke @firstparagraphindent.
61340         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
61341         changes in gnulib.
61342         (Source changes): New section.
61343
61344 2007-10-26  Bruno Haible  <bruno@clisp.org>
61345
61346         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
61347         borrowed from autoconf.
61348
61349 2007-10-26  Bruno Haible  <bruno@clisp.org>
61350
61351         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
61352         strerror returned the empty string. Needed on HP-UX 11.00.
61353
61354 2007-10-24  Micah Cowan  <micah@cowan.name>
61355
61356         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
61357         * build-aux/bootstrap: Remove support for now-unnecessary option,
61358         --cvs-user, and envvars CVS_USER, CVS_RSH.
61359
61360 2007-10-24  Jim Meyering  <meyering@redhat.com>
61361
61362         Avoid diagnostics from sha1sum when there is no cached checksum.
61363         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
61364         if the po.s1 file hasn't been created yet.
61365
61366         * build-aux/bootstrap: Sync from coreutils:
61367         2007-10-24  Jim Meyering  <meyering@redhat.com>
61368         Get gnulib from the git repository, not from an obsolete cvs one.
61369         * build-aux/bootstrap: Suggestion from Micah Cowan.
61370         2007-10-04  Jim Meyering  <jim@meyering.net>
61371         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
61372         (update_po_files): Work also when there are no .po files in po/.
61373
61374 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
61375
61376         * README: Append ".git" to git and cg examples.
61377         Problem reported by Benoit Sigoure.
61378
61379 2007-10-23  Micah Cowan  <micah@cowan.name>
61380
61381         * users.txt: Add wget.
61382
61383 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61384
61385         Fix linking of some unistdio tests on FreeBSD.
61386         * modules/unistdio/u16-vsnprintf-tests
61387         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
61388         * modules/unistdio/u16-vsprintf-tests
61389         (test_u16_vsnprintf1_LDADD): Likewise.
61390         * modules/unistdio/u32-vsnprintf-tests
61391         (test_u32_vsnprintf1_LDADD): Likewise.
61392         * modules/unistdio/u32-vsprintf-tests
61393         (test_u32_vsprintf1_LDADD): Likewise.
61394         * modules/unistdio/u8-vsnprintf-tests
61395         (test_u8_vsnprintf1_LDADD): Likewise.
61396         * modules/unistdio/u8-vsprintf-tests
61397         (test_u8_vsprintf1_LDADD): Likewise.
61398         * modules/unistdio/ulc-vsnprintf-tests
61399         (test_ulc_vsnprintf1_LDADD): Likewise.
61400         * modules/unistdio/ulc-vsprintf-tests
61401         (test_ulc_vsprintf1_LDADD): Likewise.
61402
61403         Fix linking of some uniconv tests on FreeBSD.
61404         * modules/uniconv/u16-conv-from-enc-tests
61405         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
61406         * modules/uniconv/u16-conv-to-enc-tests
61407         (test_u16_conv_to_enc_LDADD): Likewise.
61408         * modules/uniconv/u16-strconv-from-enc-tests
61409         (test_u16_strconv_from_enc_LDADD): Likewise.
61410         * modules/uniconv/u16-strconv-to-enc-tests
61411         (test_u16_strconv_to_enc_LDADD): Likewise.
61412         * modules/uniconv/u32-conv-from-enc-tests
61413         (test_u32_conv_from_enc_LDADD): Likewise.
61414         * modules/uniconv/u32-conv-to-enc-tests
61415         (test_u32_conv_to_enc_LDADD): Likewise.
61416         * modules/uniconv/u32-strconv-from-enc-tests
61417         (test_u32_strconv_from_enc_LDADD): Likewise.
61418         * modules/uniconv/u32-strconv-to-enc-tests
61419         (test_u32_strconv_to_enc_LDADD): Likewise.
61420         * modules/uniconv/u8-conv-from-enc-tests
61421         (test_u8_conv_from_enc_LDADD): Likewise.
61422         * modules/uniconv/u8-conv-to-enc-tests
61423         (test_u8_conv_to_enc_LDADD): Likewise.
61424         * modules/uniconv/u8-strconv-from-enc-tests
61425         (test_u8_strconv_from_enc_LDADD): Likewise.
61426         * modules/uniconv/u8-strconv-to-enc-tests
61427         (test_u8_strconv_to_enc_LDADD): Likewise.
61428
61429 2007-10-22  Bruno Haible  <bruno@clisp.org>
61430
61431         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
61432         size.
61433
61434 2007-10-22  Eric Blake  <ebb9@byu.net>
61435
61436         Tweak x*printf documentation.
61437         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
61438         variable name and comments.
61439         Suggested by Bruno Haible.
61440
61441 2007-10-22  Bruno Haible  <bruno@clisp.org>
61442
61443         * lib/acl.c (copy_acl): Fix file name in comment.
61444
61445 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61446
61447         Fix Tru64 problem with stdbool.h.
61448         * lib/stdbool.in.h (false, true):
61449         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
61450         Don't declare as an enum in this situation; it runs afoul of Tru64.
61451         Problem reported by Steven M. Schweda in
61452         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
61453
61454 2007-10-22  Eric Blake  <ebb9@byu.net>
61455
61456         Also wrap vf?printf.
61457         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
61458         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
61459         (xvprintf, xvfprintf): New functions.
61460
61461 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61462
61463         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
61464         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
61465
61466         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
61467         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
61468
61469 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
61470
61471         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
61472         by Bruno Haible.
61473
61474 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61475
61476         * lib/getloadavg.c
61477         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
61478         Undef `sys' after including sys/table.h, for Tru64 4.0D.
61479
61480         * tests/test-i-ring.c: Work for C89.
61481
61482 2007-10-22  Bruno Haible  <bruno@clisp.org>
61483
61484         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
61485         -1u, in preprocessor expression, so that we don't test for the bug
61486         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
61487         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
61488
61489 2007-10-22  Eric Blake  <ebb9@byu.net>
61490
61491         * tests/test-yesno.sh: Silence stderr during test.
61492
61493 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61494
61495         * modules/crypto/gc-camellia: New file.
61496
61497         * m4/gc-camellia.m4: New file.
61498
61499         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
61500
61501         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
61502
61503 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61504
61505         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
61506         --help to stdout.  Reported by sms@antinode.org (Steven
61507         M. Schweda).
61508
61509 2007-10-22  Simon Josefsson  <simon@josefsson.org>
61510
61511         * users.txt: Fix link to libksba.
61512
61513 2007-10-21  Ben Pfaff  <blp@gnu.org>
61514
61515         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
61516         round.c roundf implementation that depends on floorf and ceilf to
61517         be tested unconditionally.
61518
61519 2007-10-21  Ben Pfaff  <blp@gnu.org>
61520
61521         * m4/check-libm-func.m4: Removed.
61522         * m4/check-math-lib.m4: New file.
61523         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
61524         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
61525         definition and lack of AC_LIBOBJ([roundf]).
61526         * m4/roundl.m4: Ditto, and similarly for roundl.
61527         * modules/round: Reference new m4 file.
61528         * modules/roundf: Ditto.
61529         * modules/roundl: Ditto.
61530         * tests/test-round2.c (main): Use ROUND instead of round.
61531         Bug report from Bruno Haible.
61532
61533 2007-10-21  Bruno Haible  <bruno@clisp.org>
61534
61535         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
61536         context.
61537
61538 2007-10-21  Bruno Haible  <bruno@clisp.org>
61539
61540         * tests/test-wcwidth.c (main): Allow negative result for some control
61541         characters.
61542
61543         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
61544         Needed on OSF/1 5.1.
61545
61546 2007-10-21  Bruno Haible  <bruno@clisp.org>
61547
61548         * tests/test-floorf1.c: Include isnanf.h.
61549         (main): Use isnanf() instead of isnan().
61550         * tests/test-ceilf1.c: Include isnanf.h.
61551         (main): Use isnanf() instead of isnan().
61552         * tests/test-truncf1.c: Include isnanf.h.
61553         (main): Use isnanf() instead of isnan().
61554         * tests/test-roundf1.c: Include isnanf.h.
61555         (main): Use isnanf() instead of isnan().
61556
61557 2007-10-21  Eric Blake  <ebb9@byu.net>
61558
61559         * users.txt: Update URL for m4.
61560
61561 2007-10-21  Bruno Haible  <bruno@clisp.org>
61562
61563         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
61564
61565 2007-10-21  Bruno Haible  <bruno@clisp.org>
61566
61567         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
61568         Git's management files if the CVS files are not present.
61569
61570 2007-10-20  Bruno Haible  <bruno@clisp.org>
61571
61572         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
61573         gcc-3.4.x.
61574
61575 2007-10-20  Ben Pfaff  <blp@gnu.org>
61576
61577         * lib/math.in.h: Declare round, roundf, roundl if we are providing
61578         implementations.
61579         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
61580         * lib/round.c: New file.
61581         * lib/roundf.c: New file.
61582         * lib/roundl.c: New file.
61583         * m4/round.m4: New file.
61584         * m4/roundf.m4: New file.
61585         * m4/roundl.m4: New file.
61586         * m4/check-libm-func-m4: New file.
61587         * modules/math: Replace round, roundf, roundl related @VARS@ in
61588         math.in.h.
61589         * modules/round: New file.
61590         * modules/round-tests: New file.
61591         * modules/roundf: New file.
61592         * modules/roundf-tests: New file.
61593         * modules/roundl: New file.
61594         * modules/roundl-tests: New file.
61595         * tests/test-round1.c: New file.
61596         * tests/test-round2.c: New file.
61597         * tests/test-roundf1.c: New file.
61598         * tests/test-roundf2.c: New file.
61599         * tests/test-roundl.c: New file.
61600         * doc/functions/round.texi: Mention round module.
61601         * doc/functions/roundf.texi: Mention roundf module.
61602         * doc/functions/roundl.texi: Mention roundl module.
61603         * MODULES.html.sh: Mention new modules.
61604         Thanks to Bruno Haible for suggestions.
61605
61606 2007-10-20  Jim Meyering  <meyering@redhat.com>
61607
61608         * lib/xprintf.c: Include <config.h> unconditionally.
61609
61610         Change xprintf's license to GPL.
61611         * modules/xprintf (License): s/LGPL/GPL/, since this module
61612         depends on modules (exit and exitfail) which are GPL.
61613         Suggestion from Bruno Haible.
61614
61615         xprintf fixes.
61616         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
61617         Use a clearer diagnostic.
61618         Patch from Bruno Haible.
61619
61620 2007-10-20  Bruno Haible  <bruno@clisp.org>
61621
61622         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
61623         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
61624         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61625
61626 2007-10-20  Bruno Haible  <bruno@clisp.org>
61627
61628         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
61629         precision in the comparison result > x - 1 or similar.
61630         * tests/test-ceilf2.c (correct_result_p): Likewise.
61631         * tests/test-truncf2.c (correct_result_p): Likewise.
61632         * tests/test-trunc2.c (correct_result_p): Likewise.
61633         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61634
61635 2007-10-20  Bruno Haible  <bruno@clisp.org>
61636
61637         * modules/ceil: New file.
61638         * m4/ceil.m4: New file.
61639         * doc/functions/ceil.texi: Mention the 'ceil' module.
61640
61641 2007-10-20  Bruno Haible  <bruno@clisp.org>
61642
61643         * modules/floor: New file.
61644         * m4/floor.m4: New file.
61645         * doc/functions/floor.texi: Mention the 'floor' module.
61646
61647 2007-10-20  Bruno Haible  <bruno@clisp.org>
61648
61649         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
61650         of %a.
61651         * modules/floorf-tests (Depends-on): Likewise.
61652         * modules/truncf-tests (Depends-on): Likewise.
61653         * modules/trunc-tests (Depends-on): Likewise.
61654         Reported by Ben Pfaff.
61655
61656 2007-10-19  Jim Meyering  <meyering@redhat.com>
61657
61658         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
61659         Don't bother testing specific errno values.  Just test ferror.
61660
61661         New module: xprintf
61662         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
61663
61664 2007-10-19  Bruno Haible  <bruno@clisp.org>
61665
61666         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
61667         syntax.
61668         * modules/javaexec (Makefile.am): Likewise.
61669         * modules/relocatable-prog (Makefile.am): Likewise.
61670         Suggested by Jim Meyering.
61671
61672 2007-10-18  Bruno Haible  <bruno@clisp.org>
61673
61674         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
61675         Reported by Jim Meyering.
61676
61677 2007-10-18  Eric Blake  <ebb9@byu.net>
61678
61679         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
61680
61681 2007-10-18  Bruno Haible  <bruno@clisp.org>
61682
61683         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
61684         the format string into writable memory. Needed in Fortify conditions.
61685
61686 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
61687             Bruno Haible  <bruno@clisp.org>
61688
61689         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
61690         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
61691         * modules/trim (Depends-on): Add mbchar.
61692         (configure.ac): Add gl_FUNC_MBRTOWC.
61693         (Makefile.am): Augment lib_SOURCES.
61694
61695 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
61696
61697         Modify glob.c to use fstatat and dirfd, to simplify it.
61698         Suggested by Eric Blake.
61699         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
61700         Don't include <stdbool.h>; not used.
61701         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
61702         (link_exists_p): Simplify implementation, since we can now assume
61703         dirfd and fstatat.
61704         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
61705
61706 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61707
61708         * gnulib-tool (func_get_dependencies): Fix sed script to
61709         match only tests.
61710
61711 2007-10-17  Bruno Haible  <bruno@clisp.org>
61712
61713         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
61714         allow locale names without encoding suffix.
61715         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61716         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61717
61718 2007-10-16  Bruno Haible  <bruno@clisp.org>
61719
61720         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
61721         * lib/getgroups.c (getgroups): Likewise.
61722         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
61723
61724 2007-10-16  Bruno Haible  <bruno@clisp.org>
61725
61726         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
61727         * modules/malloc-posix (License): Likewise.
61728         * modules/realloc-posix (License): Likewise.
61729         * modules/calloc-posix (License): Likewise.
61730         * modules/intprops (License): Change from GPL to LGPL, with
61731         Paul Eggert's approval.
61732
61733 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61734
61735         Merge glibc changes into lib/glob.c.
61736
61737         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
61738         2007-10-15 04:59:03 UTC.  Here are the changes:
61739
61740         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
61741
61742         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
61743
61744         * lib/glob.c: Add some branch prediction throughout.
61745
61746         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
61747
61748         [BZ #5103]
61749         * lib/glob.c (glob): Recognize patterns starting \/.
61750
61751         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
61752
61753         [BZ #3996]
61754         * lib/glob.c (attribute_hidden): Define if not defined.
61755         (glob): Unescape dirname, filename or username when needed and not
61756         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
61757         is NULL.  Handle unescaped [ in pattern without closing ].
61758         Don't pass GLOB_CHECK down to recursive glob for directories.
61759         (__glob_pattern_type): New function.
61760         (__glob_pattern_p): Implement using __glob_pattern_type.
61761         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
61762         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
61763         Remove unreachable code.
61764
61765         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
61766
61767         * lib/glob.c (glob_in_dir): Add some comments and asserts to
61768         explain why there are no leaks.
61769
61770         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
61771
61772         [BZ #3253]
61773         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
61774         time, rather allocate increasingly bigger arrays of pointers, if
61775         possible with alloca, if too large with malloc.
61776
61777 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
61778
61779         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
61780         Problem reported by H.Merijn Brand in
61781         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
61782         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
61783         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61784
61785 2007-10-15  Bruno Haible  <bruno@clisp.org>
61786
61787         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
61788         with explicit rpl_ prefix.
61789         * lib/fopen.c (fopen): Likewise.
61790         * lib/freopen.c (freopen): Likewise.
61791         * lib/iconv.c (iconv): Likewise.
61792         * lib/iconv_close.c (iconv_close): Likewise.
61793
61794 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61795
61796         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
61797
61798 2007-10-15  Bruno Haible  <bruno@clisp.org>
61799
61800         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
61801         <stddef.h> instead of <stdlib.h> since we only need NULL.
61802         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61803
61804 2007-10-15  Bruno Haible  <bruno@clisp.org>
61805
61806         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
61807         Replace paragraph talking about LIBOBJS.
61808         Reported by Colin Watson <cjwatson@debian.org>.
61809
61810 2007-10-15  Bruno Haible  <bruno@clisp.org>
61811
61812         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
61813         <stdlib.h> before using NULL.
61814
61815 2007-10-15  Simon Josefsson  <simon@josefsson.org>
61816
61817         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
61818         Reported by Albert Chin <china@thewrittenword.com>.
61819
61820 2007-10-14  Bruno Haible  <bruno@clisp.org>
61821
61822         * modules/iconv_open-utf-tests: New file.
61823         * tests/test-iconv-utf.c: New file.
61824
61825         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
61826         * modules/iconv_open-utf: New file.
61827         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
61828         (iconv, iconv_close): New declarations.
61829         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
61830         be defined.
61831         (iconv_open): Add special handling of conversion between UTF-8 and
61832         UTF-{16,32}{BE,LE}.
61833         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
61834         * lib/iconv_close.c: New file.
61835         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
61836         gl_FUNC_ICONV_OPEN.
61837         (gl_FUNC_ICONV_OPEN): Use it.
61838         (gl_FUNC_ICONV_OPEN_UTF): New macro.
61839         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
61840         and REPLACE_ICONV_UTF.
61841         * modules/iconv_open (Depends-on): Add c-strcase.
61842         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
61843         ICONV_CONST.
61844         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
61845
61846 2007-10-13  Albert Chin  <china@thewrittenword.com>
61847             Bruno Haible  <bruno@clisp.org>
61848
61849         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
61850         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
61851
61852 2007-10-13  Bruno Haible  <bruno@clisp.org>
61853
61854         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
61855         defined, use the ISO C99 inline semantics.
61856         * lib/argp.h (ARGP_EI): Likewise.
61857
61858 2007-10-13  Bruno Haible  <bruno@clisp.org>
61859
61860         Handle 'inline' change in gcc 4.3.0.
61861         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
61862         argp_fmtstream_write, argp_fmtstream_set_lmargin,
61863         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
61864         argp_fmtstream_point): Disable 'extern' declaration if the function
61865         definition is going to be provided inline.
61866         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
61867         semantics, not the ISO C99 inline semantics.
61868         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
61869         'extern' declaration if the function definition is going to be provided
61870         inline.
61871         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
61872         the GNU C inline semantics, not the ISO C99 inline semantics. With
61873         GCC 4.2, avoid a warning.
61874
61875 2007-10-13  Bruno Haible  <bruno@clisp.org>
61876
61877         * lib/freading.h (freading): Enable the use of __freading for
61878         glibc >= 2.7.
61879         * lib/freading.c (freading): Likewise.
61880
61881 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61882
61883         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
61884         "warning: C99 inline functions are not supported; using GNU89".
61885
61886 2007-10-12  Bruno Haible  <bruno@clisp.org>
61887
61888         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
61889         of 2.
61890         * tests/test-ceilf2.c: New file.
61891         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
61892
61893         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
61894         * modules/ceilf-tests: Update.
61895
61896 2007-10-12  Bruno Haible  <bruno@clisp.org>
61897
61898         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
61899         of 2.
61900         * tests/test-floorf2.c: New file.
61901         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
61902
61903         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
61904         * modules/floorf-tests: Update.
61905
61906 2007-10-12  Bruno Haible  <bruno@clisp.org>
61907
61908         * tests/test-trunc2.c: New file.
61909         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
61910
61911         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
61912         * modules/trunc-tests: Update.
61913
61914 2007-10-12  Bruno Haible  <bruno@clisp.org>
61915
61916         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
61917         of 2.
61918         * tests/test-truncf2.c: New file.
61919         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
61920
61921         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
61922         * modules/truncf-tests: Update.
61923
61924 2007-10-11  Eric Blake  <ebb9@byu.net>
61925
61926         Don't claim strerror is broken on Interix.
61927         * doc/functions/strerror.texi (strerror): Known broken systems are
61928         now Solaris 8, and not Interix.
61929         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
61930         Interix on cross-compile.
61931         Reported by Martin Koeppe in
61932         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
61933
61934 2007-10-11  Bruno Haible  <bruno@clisp.org>
61935
61936         * modules/i-ring-tests: New file.
61937         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
61938         instead of assert.
61939
61940 2007-10-11  Bruno Haible  <bruno@clisp.org>
61941
61942         * modules/filenamecat-tests: New file.
61943         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
61944         * lib/filenamecat.c: Remove test code.
61945
61946 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61947
61948         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
61949
61950         * lib/strerror.c: Include <string.h> always, to test interface,
61951         and to remove the need for the dummy.
61952         Include intprops.h to compute width instead of doing it ourselves
61953         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
61954         (strerror): Define it to return NULL if there's no system strerror.
61955         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
61956         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
61957         ancient pre-strerror Unix systems well any more.  Saying "unknown
61958         system error" is enough.
61959         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
61960         simpler strerror.c implementation.
61961         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
61962         Simplify the tests to reflect the simpler strerror implementation.
61963         * modules/strerror (Depends-on): Add intprops.
61964
61965 2007-10-09  Eric Blake  <ebb9@byu.net>
61966
61967         Silence test-fpending.
61968         * modules/fpending-tests (Files): Add wrapper script.
61969         * tests/test-fpending.sh: New file.
61970
61971 2007-10-09  Bruno Haible  <bruno@clisp.org>
61972
61973         * MODULES.html.sh (func_module): Don't create a hyperlink for
61974         function names like 'printf_frexp'.
61975         (Misc): Add crc, memxor.
61976         (Characteristics of floating types): New section.
61977         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
61978         isnanf-nolibm, signbit, trunc, truncf, truncl.
61979         (Enhancements for ISO C 99 functions): New subsection Input/output.
61980         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
61981         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
61982         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
61983         (Compatibility checks for POSIX:2001 functions): Add clock-time.
61984         (Enhancements for POSIX:2001 functions): Add chdir-long.
61985         (File system functions): Add areadlink, chdir-safer, read-file.
61986         Remove cycle-check.
61987         (File system as inode set): New section.
61988         (Date and time): Add gethrxtime.
61989         (Multithreading): Add openmp.
61990         (Internationalization functions): Add localename.
61991         (Unicode string functions): Add unistr/u*-mbsnlen.
61992         (Support for maintaining and releasing projects): Add git-version-gen.
61993         (Lone files): Remove directories.
61994
61995 2007-10-08  Ben Pfaff  <blp@gnu.org>
61996
61997         * lib/xmalloca.h: Fix typo in comment.
61998
61999 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62000
62001         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62002         when avoiding problems with integer overflow.  Use a portable test
62003         instead.
62004
62005 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62006
62007         * modules/dummy (License): Change to LGPLv2+.
62008         * modules/float (License): Likewise
62009         * modules/realloc (License): Likewise
62010         * modules/stdlib (License): Likewise
62011
62012 2007-10-07  Bruno Haible  <bruno@clisp.org>
62013
62014         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62015         * floor.c (TWO_MANT_DIG): Likewise.
62016         * ceil.c (TWO_MANT_DIG): Likewise.
62017         Reported by Ben Pfaff.
62018
62019 2007-10-07  Bruno Haible  <bruno@clisp.org>
62020
62021         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62022         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62023         * lib/frexp.c (FUNC): Likewise.
62024         * lib/printf-frexp.h (printf_frexp): Likewise.
62025         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62026         * lib/printf-frexp.c (FUNC): Likewise.
62027         Suggested by Jim Meyering.
62028
62029 2007-10-07  Jim Meyering  <meyering@redhat.com>
62030
62031         Make xnanosleep's integer overflow test more robust.
62032         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62033         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62034
62035 2007-10-07  Bruno Haible  <bruno@clisp.org>
62036
62037         * NEWS: Mention the license change.
62038
62039         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62040         abbreviations in the modules files.
62041
62042         Change copyright notice from GPLv2+ to GPLv3+.
62043         * README: Change copyright notice.
62044         * MODULES.html.sh: Likewise.
62045         * build-aux/bootstrap.conf: Likewise.
62046         * build-aux/config.libpath: Likewise.
62047         * build-aux/csharpcomp.sh.in: Likewise.
62048         * build-aux/csharpexec.sh.in: Likewise.
62049         * build-aux/install-reloc: Likewise.
62050         * build-aux/javacomp.sh.in: Likewise.
62051         * build-aux/javaexec.sh.in: Likewise.
62052         * build-aux/ldd.sh.in: Likewise.
62053         * build-aux/reloc-ldflags: Likewise.
62054         * build-aux/relocatable.sh.in: Likewise.
62055         * build-aux/x-to-1.in: Likewise.
62056         * check-module: Likewise.
62057         * config/srclistvars.sh: Likewise.
62058         * gnulib-tool: Likewise.
62059         * lib/acl-internal.h: Likewise.
62060         * lib/acl.c: Likewise.
62061         * lib/acl.h: Likewise.
62062         * lib/acl_entries.c: Likewise.
62063         * lib/areadlink-with-size.c: Likewise.
62064         * lib/areadlink.c: Likewise.
62065         * lib/areadlink.h: Likewise.
62066         * lib/argmatch.c: Likewise.
62067         * lib/argmatch.h: Likewise.
62068         * lib/argp-ba.c: Likewise.
62069         * lib/argp-eexst.c: Likewise.
62070         * lib/argp-fmtstream.c: Likewise.
62071         * lib/argp-fmtstream.h: Likewise.
62072         * lib/argp-fs-xinl.c: Likewise.
62073         * lib/argp-help.c: Likewise.
62074         * lib/argp-namefrob.h: Likewise.
62075         * lib/argp-parse.c: Likewise.
62076         * lib/argp-pin.c: Likewise.
62077         * lib/argp-pv.c: Likewise.
62078         * lib/argp-pvh.c: Likewise.
62079         * lib/argp-xinl.c: Likewise.
62080         * lib/argp.h: Likewise.
62081         * lib/at-func.c: Likewise.
62082         * lib/atanl.c: Likewise.
62083         * lib/backupfile.c: Likewise.
62084         * lib/backupfile.h: Likewise.
62085         * lib/basename.c: Likewise.
62086         * lib/binary-io.h: Likewise.
62087         * lib/byteswap.in.h: Likewise.
62088         * lib/c-stack.c: Likewise.
62089         * lib/c-stack.h: Likewise.
62090         * lib/c-strcasestr.c: Likewise.
62091         * lib/c-strcasestr.h: Likewise.
62092         * lib/c-strstr.c: Likewise.
62093         * lib/c-strstr.h: Likewise.
62094         * lib/c-strtod.c: Likewise.
62095         * lib/calloc.c: Likewise.
62096         * lib/canon-host.c: Likewise.
62097         * lib/canon-host.h: Likewise.
62098         * lib/canonicalize-lgpl.c: Likewise.
62099         * lib/canonicalize.c: Likewise.
62100         * lib/canonicalize.h: Likewise.
62101         * lib/ceil.c: Likewise.
62102         * lib/ceilf.c: Likewise.
62103         * lib/ceill.c: Likewise.
62104         * lib/chdir-long.c: Likewise.
62105         * lib/chdir-long.h: Likewise.
62106         * lib/chdir-safer.c: Likewise.
62107         * lib/chdir-safer.h: Likewise.
62108         * lib/chown.c: Likewise.
62109         * lib/classpath.c: Likewise.
62110         * lib/classpath.h: Likewise.
62111         * lib/clean-temp.c: Likewise.
62112         * lib/clean-temp.h: Likewise.
62113         * lib/cloexec.c: Likewise.
62114         * lib/close-stream.c: Likewise.
62115         * lib/closein.c: Likewise.
62116         * lib/closein.h: Likewise.
62117         * lib/closeout.c: Likewise.
62118         * lib/closeout.h: Likewise.
62119         * lib/concat-filename.c: Likewise.
62120         * lib/copy-file.c: Likewise.
62121         * lib/copy-file.h: Likewise.
62122         * lib/count-one-bits.h: Likewise.
62123         * lib/crc.c: Likewise.
62124         * lib/crc.h: Likewise.
62125         * lib/creat-safer.c: Likewise.
62126         * lib/csharpcomp.c: Likewise.
62127         * lib/csharpcomp.h: Likewise.
62128         * lib/csharpexec.c: Likewise.
62129         * lib/csharpexec.h: Likewise.
62130         * lib/cycle-check.c: Likewise.
62131         * lib/cycle-check.h: Likewise.
62132         * lib/diacrit.c: Likewise.
62133         * lib/diacrit.h: Likewise.
62134         * lib/diffseq.h: Likewise.
62135         * lib/dirchownmod.c: Likewise.
62136         * lib/dirent.in.h: Likewise.
62137         * lib/dirfd.c: Likewise.
62138         * lib/dirfd.h: Likewise.
62139         * lib/dirname.c: Likewise.
62140         * lib/dirname.h: Likewise.
62141         * lib/dummy.c: Likewise.
62142         * lib/dup-safer.c: Likewise.
62143         * lib/dup2.c: Likewise.
62144         * lib/eealloc.h: Likewise.
62145         * lib/error.c: Likewise.
62146         * lib/error.h: Likewise.
62147         * lib/euidaccess.c: Likewise.
62148         * lib/exclude.c: Likewise.
62149         * lib/exclude.h: Likewise.
62150         * lib/execute.c: Likewise.
62151         * lib/execute.h: Likewise.
62152         * lib/exitfail.c: Likewise.
62153         * lib/exitfail.h: Likewise.
62154         * lib/expl.c: Likewise.
62155         * lib/fatal-signal.c: Likewise.
62156         * lib/fatal-signal.h: Likewise.
62157         * lib/fbufmode.c: Likewise.
62158         * lib/fbufmode.h: Likewise.
62159         * lib/fchdir.c: Likewise.
62160         * lib/fchmodat.c: Likewise.
62161         * lib/fchownat.c: Likewise.
62162         * lib/fcntl--.h: Likewise.
62163         * lib/fcntl-safer.h: Likewise.
62164         * lib/fcntl.in.h: Likewise.
62165         * lib/fd-safer.c: Likewise.
62166         * lib/fflush.c: Likewise.
62167         * lib/file-has-acl.c: Likewise.
62168         * lib/file-set.c: Likewise.
62169         * lib/file-type.c: Likewise.
62170         * lib/file-type.h: Likewise.
62171         * lib/fileblocks.c: Likewise.
62172         * lib/filemode.c: Likewise.
62173         * lib/filemode.h: Likewise.
62174         * lib/filename.h: Likewise.
62175         * lib/filenamecat.c: Likewise.
62176         * lib/filenamecat.h: Likewise.
62177         * lib/findprog.c: Likewise.
62178         * lib/findprog.h: Likewise.
62179         * lib/float.in.h: Likewise.
62180         * lib/floor.c: Likewise.
62181         * lib/floorf.c: Likewise.
62182         * lib/floorl.c: Likewise.
62183         * lib/fopen-safer.c: Likewise.
62184         * lib/fopen.c: Likewise.
62185         * lib/fpending.c: Likewise.
62186         * lib/fpending.h: Likewise.
62187         * lib/fprintf.c: Likewise.
62188         * lib/fprintftime.h: Likewise.
62189         * lib/fpucw.h: Likewise.
62190         * lib/fpurge.c: Likewise.
62191         * lib/fpurge.h: Likewise.
62192         * lib/freadable.c: Likewise.
62193         * lib/freadable.h: Likewise.
62194         * lib/freadahead.c: Likewise.
62195         * lib/freadahead.h: Likewise.
62196         * lib/freading.c: Likewise.
62197         * lib/freading.h: Likewise.
62198         * lib/free.c: Likewise.
62199         * lib/freopen.c: Likewise.
62200         * lib/frexp.c: Likewise.
62201         * lib/frexpl.c: Likewise.
62202         * lib/fseek.c: Likewise.
62203         * lib/fseterr.c: Likewise.
62204         * lib/fseterr.h: Likewise.
62205         * lib/fstatat.c: Likewise.
62206         * lib/fstrcmp.c: Likewise.
62207         * lib/fstrcmp.h: Likewise.
62208         * lib/fsusage.c: Likewise.
62209         * lib/fsusage.h: Likewise.
62210         * lib/ftell.c: Likewise.
62211         * lib/ftello.c: Likewise.
62212         * lib/fts-cycle.c: Likewise.
62213         * lib/fts.c: Likewise.
62214         * lib/fts_.h: Likewise.
62215         * lib/full-read.c: Likewise.
62216         * lib/full-read.h: Likewise.
62217         * lib/full-write.c: Likewise.
62218         * lib/full-write.h: Likewise.
62219         * lib/fwritable.c: Likewise.
62220         * lib/fwritable.h: Likewise.
62221         * lib/fwriteerror.c: Likewise.
62222         * lib/fwriteerror.h: Likewise.
62223         * lib/fwriting.c: Likewise.
62224         * lib/fwriting.h: Likewise.
62225         * lib/gcd.c: Likewise.
62226         * lib/gcd.h: Likewise.
62227         * lib/getcwd.c: Likewise.
62228         * lib/getdate.h: Likewise.
62229         * lib/getdate.y: Likewise.
62230         * lib/getdomainname.c: Likewise.
62231         * lib/getdomainname.h: Likewise.
62232         * lib/getgroups.c: Likewise.
62233         * lib/gethostname.c: Likewise.
62234         * lib/gethrxtime.c: Likewise.
62235         * lib/gethrxtime.h: Likewise.
62236         * lib/getloadavg.c: Likewise.
62237         * lib/getndelim2.c: Likewise.
62238         * lib/getndelim2.h: Likewise.
62239         * lib/getnline.c: Likewise.
62240         * lib/getnline.h: Likewise.
62241         * lib/getopt.c: Likewise.
62242         * lib/getopt.in.h: Likewise.
62243         * lib/getopt1.c: Likewise.
62244         * lib/getopt_int.h: Likewise.
62245         * lib/getpagesize.h: Likewise.
62246         * lib/getsubopt.c: Likewise.
62247         * lib/gettime.c: Likewise.
62248         * lib/getugroups.c: Likewise.
62249         * lib/getugroups.h: Likewise.
62250         * lib/getusershell.c: Likewise.
62251         * lib/gl_anyavltree_list1.h: Likewise.
62252         * lib/gl_anyavltree_list2.h: Likewise.
62253         * lib/gl_anyhash_list1.h: Likewise.
62254         * lib/gl_anyhash_list2.h: Likewise.
62255         * lib/gl_anylinked_list1.h: Likewise.
62256         * lib/gl_anylinked_list2.h: Likewise.
62257         * lib/gl_anyrbtree_list1.h: Likewise.
62258         * lib/gl_anyrbtree_list2.h: Likewise.
62259         * lib/gl_anytree_list1.h: Likewise.
62260         * lib/gl_anytree_list2.h: Likewise.
62261         * lib/gl_anytree_oset.h: Likewise.
62262         * lib/gl_anytreehash_list1.h: Likewise.
62263         * lib/gl_anytreehash_list2.h: Likewise.
62264         * lib/gl_array_list.c: Likewise.
62265         * lib/gl_array_list.h: Likewise.
62266         * lib/gl_array_oset.c: Likewise.
62267         * lib/gl_array_oset.h: Likewise.
62268         * lib/gl_avltree_list.c: Likewise.
62269         * lib/gl_avltree_list.h: Likewise.
62270         * lib/gl_avltree_oset.c: Likewise.
62271         * lib/gl_avltree_oset.h: Likewise.
62272         * lib/gl_avltreehash_list.c: Likewise.
62273         * lib/gl_avltreehash_list.h: Likewise.
62274         * lib/gl_carray_list.c: Likewise.
62275         * lib/gl_carray_list.h: Likewise.
62276         * lib/gl_linked_list.c: Likewise.
62277         * lib/gl_linked_list.h: Likewise.
62278         * lib/gl_linkedhash_list.c: Likewise.
62279         * lib/gl_linkedhash_list.h: Likewise.
62280         * lib/gl_list.c: Likewise.
62281         * lib/gl_list.h: Likewise.
62282         * lib/gl_oset.c: Likewise.
62283         * lib/gl_oset.h: Likewise.
62284         * lib/gl_rbtree_list.c: Likewise.
62285         * lib/gl_rbtree_list.h: Likewise.
62286         * lib/gl_rbtree_oset.c: Likewise.
62287         * lib/gl_rbtree_oset.h: Likewise.
62288         * lib/gl_rbtreehash_list.c: Likewise.
62289         * lib/gl_rbtreehash_list.h: Likewise.
62290         * lib/gl_sublist.c: Likewise.
62291         * lib/gl_sublist.h: Likewise.
62292         * lib/group-member.c: Likewise.
62293         * lib/group-member.h: Likewise.
62294         * lib/hard-locale.c: Likewise.
62295         * lib/hard-locale.h: Likewise.
62296         * lib/hash-pjw.c: Likewise.
62297         * lib/hash-pjw.h: Likewise.
62298         * lib/hash-triple.c: Likewise.
62299         * lib/hash.c: Likewise.
62300         * lib/hash.h: Likewise.
62301         * lib/human.c: Likewise.
62302         * lib/human.h: Likewise.
62303         * lib/i-ring.c: Likewise.
62304         * lib/i-ring.h: Likewise.
62305         * lib/idcache.c: Likewise.
62306         * lib/imaxabs.c: Likewise.
62307         * lib/imaxdiv.c: Likewise.
62308         * lib/inet_pton.c: Likewise.
62309         * lib/inet_pton.h: Likewise.
62310         * lib/intprops.h: Likewise.
62311         * lib/inttostr.c: Likewise.
62312         * lib/inttostr.h: Likewise.
62313         * lib/inttypes.in.h: Likewise.
62314         * lib/isapipe.c: Likewise.
62315         * lib/isdir.c: Likewise.
62316         * lib/isnan.c: Likewise.
62317         * lib/isnan.h: Likewise.
62318         * lib/isnanf.c: Likewise.
62319         * lib/isnanf.h: Likewise.
62320         * lib/isnanl-nolibm.h: Likewise.
62321         * lib/isnanl.c: Likewise.
62322         * lib/isnanl.h: Likewise.
62323         * lib/javacomp.c: Likewise.
62324         * lib/javacomp.h: Likewise.
62325         * lib/javaexec.c: Likewise.
62326         * lib/javaexec.h: Likewise.
62327         * lib/javaversion.c: Likewise.
62328         * lib/javaversion.h: Likewise.
62329         * lib/javaversion.java: Likewise.
62330         * lib/lbrkprop.h: Likewise.
62331         * lib/lchmod.h: Likewise.
62332         * lib/lchown.c: Likewise.
62333         * lib/ldexpl.c: Likewise.
62334         * lib/linebreak.c: Likewise.
62335         * lib/linebreak.h: Likewise.
62336         * lib/linebuffer.c: Likewise.
62337         * lib/linebuffer.h: Likewise.
62338         * lib/locale.in.h: Likewise.
62339         * lib/logl.c: Likewise.
62340         * lib/long-options.c: Likewise.
62341         * lib/long-options.h: Likewise.
62342         * lib/lstat.c: Likewise.
62343         * lib/lstat.h: Likewise.
62344         * lib/math.in.h: Likewise.
62345         * lib/mbchar.c: Likewise.
62346         * lib/mbchar.h: Likewise.
62347         * lib/mbfile.h: Likewise.
62348         * lib/mbiter.h: Likewise.
62349         * lib/mbscasecmp.c: Likewise.
62350         * lib/mbscasestr.c: Likewise.
62351         * lib/mbschr.c: Likewise.
62352         * lib/mbscspn.c: Likewise.
62353         * lib/mbslen.c: Likewise.
62354         * lib/mbsncasecmp.c: Likewise.
62355         * lib/mbsnlen.c: Likewise.
62356         * lib/mbspbrk.c: Likewise.
62357         * lib/mbspcasecmp.c: Likewise.
62358         * lib/mbsrchr.c: Likewise.
62359         * lib/mbssep.c: Likewise.
62360         * lib/mbsspn.c: Likewise.
62361         * lib/mbsstr.c: Likewise.
62362         * lib/mbstok_r.c: Likewise.
62363         * lib/mbswidth.c: Likewise.
62364         * lib/mbswidth.h: Likewise.
62365         * lib/mbuiter.h: Likewise.
62366         * lib/memcasecmp.c: Likewise.
62367         * lib/memcasecmp.h: Likewise.
62368         * lib/memchr.c: Likewise.
62369         * lib/memcmp.c: Likewise.
62370         * lib/memcoll.c: Likewise.
62371         * lib/memcoll.h: Likewise.
62372         * lib/memcpy.c: Likewise.
62373         * lib/memrchr.c: Likewise.
62374         * lib/mkancesdirs.c: Likewise.
62375         * lib/mkdir-p.c: Likewise.
62376         * lib/mkdir-p.h: Likewise.
62377         * lib/mkdir.c: Likewise.
62378         * lib/mkdirat.c: Likewise.
62379         * lib/mkdtemp.c: Likewise.
62380         * lib/mkstemp-safer.c: Likewise.
62381         * lib/mkstemp.c: Likewise.
62382         * lib/modechange.c: Likewise.
62383         * lib/modechange.h: Likewise.
62384         * lib/mountlist.c: Likewise.
62385         * lib/mountlist.h: Likewise.
62386         * lib/mpsort.c: Likewise.
62387         * lib/nanosleep.c: Likewise.
62388         * lib/obstack.c: Likewise.
62389         * lib/obstack.h: Likewise.
62390         * lib/open-safer.c: Likewise.
62391         * lib/open.c: Likewise.
62392         * lib/openat-die.c: Likewise.
62393         * lib/openat-priv.h: Likewise.
62394         * lib/openat-proc.c: Likewise.
62395         * lib/openat.c: Likewise.
62396         * lib/openat.h: Likewise.
62397         * lib/pagealign_alloc.c: Likewise.
62398         * lib/pagealign_alloc.h: Likewise.
62399         * lib/physmem.c: Likewise.
62400         * lib/physmem.h: Likewise.
62401         * lib/pipe-safer.c: Likewise.
62402         * lib/pipe.c: Likewise.
62403         * lib/pipe.h: Likewise.
62404         * lib/posixtm.c: Likewise.
62405         * lib/posixtm.h: Likewise.
62406         * lib/posixver.c: Likewise.
62407         * lib/printf-frexp.c: Likewise.
62408         * lib/printf-frexp.h: Likewise.
62409         * lib/printf-frexpl.c: Likewise.
62410         * lib/printf-frexpl.h: Likewise.
62411         * lib/printf.c: Likewise.
62412         * lib/progname.c: Likewise.
62413         * lib/progname.h: Likewise.
62414         * lib/progreloc.c: Likewise.
62415         * lib/putenv.c: Likewise.
62416         * lib/quote.c: Likewise.
62417         * lib/quote.h: Likewise.
62418         * lib/quotearg.c: Likewise.
62419         * lib/quotearg.h: Likewise.
62420         * lib/raise.c: Likewise.
62421         * lib/readline.c: Likewise.
62422         * lib/readline.h: Likewise.
62423         * lib/readlink.c: Likewise.
62424         * lib/readtokens.c: Likewise.
62425         * lib/readtokens.h: Likewise.
62426         * lib/readtokens0.c: Likewise.
62427         * lib/readtokens0.h: Likewise.
62428         * lib/readutmp.c: Likewise.
62429         * lib/readutmp.h: Likewise.
62430         * lib/realloc.c: Likewise.
62431         * lib/relocwrapper.c: Likewise.
62432         * lib/rename-dest-slash.c: Likewise.
62433         * lib/rename.c: Likewise.
62434         * lib/rmdir.c: Likewise.
62435         * lib/rpmatch.c: Likewise.
62436         * lib/safe-read.c: Likewise.
62437         * lib/safe-read.h: Likewise.
62438         * lib/safe-write.c: Likewise.
62439         * lib/safe-write.h: Likewise.
62440         * lib/same-inode.h: Likewise.
62441         * lib/same.c: Likewise.
62442         * lib/same.h: Likewise.
62443         * lib/save-cwd.c: Likewise.
62444         * lib/save-cwd.h: Likewise.
62445         * lib/savedir.c: Likewise.
62446         * lib/savedir.h: Likewise.
62447         * lib/savewd.c: Likewise.
62448         * lib/savewd.h: Likewise.
62449         * lib/search.in.h: Likewise.
62450         * lib/setenv.c: Likewise.
62451         * lib/setenv.h: Likewise.
62452         * lib/settime.c: Likewise.
62453         * lib/sh-quote.c: Likewise.
62454         * lib/sh-quote.h: Likewise.
62455         * lib/sig2str.c: Likewise.
62456         * lib/sig2str.h: Likewise.
62457         * lib/signal.in.h: Likewise.
62458         * lib/signbitd.c: Likewise.
62459         * lib/signbitf.c: Likewise.
62460         * lib/signbitl.c: Likewise.
62461         * lib/sigprocmask.c: Likewise.
62462         * lib/sincosl.c: Likewise.
62463         * lib/sleep.c: Likewise.
62464         * lib/sprintf.c: Likewise.
62465         * lib/sqrtl.c: Likewise.
62466         * lib/stat-time.h: Likewise.
62467         * lib/stdio--.h: Likewise.
62468         * lib/stdio-safer.h: Likewise.
62469         * lib/stdlib--.h: Likewise.
62470         * lib/stdlib-safer.h: Likewise.
62471         * lib/stdlib.in.h: Likewise.
62472         * lib/stpcpy.c: Likewise.
62473         * lib/stpncpy.c: Likewise.
62474         * lib/strchrnul.c: Likewise.
62475         * lib/strcspn.c: Likewise.
62476         * lib/strerror.c: Likewise.
62477         * lib/strftime.c: Likewise.
62478         * lib/strftime.h: Likewise.
62479         * lib/striconveh.c: Likewise.
62480         * lib/striconveh.h: Likewise.
62481         * lib/striconveha.c: Likewise.
62482         * lib/striconveha.h: Likewise.
62483         * lib/stripslash.c: Likewise.
62484         * lib/strnlen1.c: Likewise.
62485         * lib/strnlen1.h: Likewise.
62486         * lib/strtod.c: Likewise.
62487         * lib/strtoimax.c: Likewise.
62488         * lib/strtok_r.c: Likewise.
62489         * lib/strtol.c: Likewise.
62490         * lib/strtoll.c: Likewise.
62491         * lib/strtoul.c: Likewise.
62492         * lib/strtoull.c: Likewise.
62493         * lib/sysexits.in.h: Likewise.
62494         * lib/tempname.c: Likewise.
62495         * lib/tempname.h: Likewise.
62496         * lib/timespec.h: Likewise.
62497         * lib/tls.c: Likewise.
62498         * lib/tls.h: Likewise.
62499         * lib/tmpdir.c: Likewise.
62500         * lib/tmpdir.h: Likewise.
62501         * lib/tmpfile-safer.c: Likewise.
62502         * lib/tmpfile.c: Likewise.
62503         * lib/trigl.c: Likewise.
62504         * lib/trigl.h: Likewise.
62505         * lib/trim.c: Likewise.
62506         * lib/trim.h: Likewise.
62507         * lib/trunc.c: Likewise.
62508         * lib/truncf.c: Likewise.
62509         * lib/truncl.c: Likewise.
62510         * lib/tsearch.c: Likewise.
62511         * lib/unicodeio.c: Likewise.
62512         * lib/unicodeio.h: Likewise.
62513         * lib/unistd--.h: Likewise.
62514         * lib/unistd-safer.h: Likewise.
62515         * lib/unistdio/ulc-fprintf.c: Likewise.
62516         * lib/unistdio/ulc-vfprintf.c: Likewise.
62517         * lib/unlinkdir.c: Likewise.
62518         * lib/unlinkdir.h: Likewise.
62519         * lib/unlocked-io.h: Likewise.
62520         * lib/unsetenv.c: Likewise.
62521         * lib/userspec.c: Likewise.
62522         * lib/utime.c: Likewise.
62523         * lib/utimecmp.c: Likewise.
62524         * lib/utimecmp.h: Likewise.
62525         * lib/utimens.c: Likewise.
62526         * lib/verify.h: Likewise.
62527         * lib/verror.c: Likewise.
62528         * lib/verror.h: Likewise.
62529         * lib/version-etc-fsf.c: Likewise.
62530         * lib/version-etc.c: Likewise.
62531         * lib/version-etc.h: Likewise.
62532         * lib/vfprintf.c: Likewise.
62533         * lib/vprintf.c: Likewise.
62534         * lib/vsprintf.c: Likewise.
62535         * lib/w32spawn.h: Likewise.
62536         * lib/wait-process.c: Likewise.
62537         * lib/wait-process.h: Likewise.
62538         * lib/wcwidth.c: Likewise.
62539         * lib/write-any-file.c: Likewise.
62540         * lib/xalloc-die.c: Likewise.
62541         * lib/xalloc.h: Likewise.
62542         * lib/xasprintf.c: Likewise.
62543         * lib/xgetcwd.c: Likewise.
62544         * lib/xgetcwd.h: Likewise.
62545         * lib/xgetdomainname.c: Likewise.
62546         * lib/xgetdomainname.h: Likewise.
62547         * lib/xgethostname.c: Likewise.
62548         * lib/xmalloc.c: Likewise.
62549         * lib/xmalloca.c: Likewise.
62550         * lib/xmalloca.h: Likewise.
62551         * lib/xmemcoll.c: Likewise.
62552         * lib/xnanosleep.c: Likewise.
62553         * lib/xreadlink.c: Likewise.
62554         * lib/xreadlink.h: Likewise.
62555         * lib/xsetenv.c: Likewise.
62556         * lib/xsetenv.h: Likewise.
62557         * lib/xstriconv.c: Likewise.
62558         * lib/xstriconv.h: Likewise.
62559         * lib/xstrndup.c: Likewise.
62560         * lib/xstrndup.h: Likewise.
62561         * lib/xstrtod.c: Likewise.
62562         * lib/xstrtod.h: Likewise.
62563         * lib/xstrtol-error.c: Likewise.
62564         * lib/xstrtol.c: Likewise.
62565         * lib/xstrtol.h: Likewise.
62566         * lib/xtime.h: Likewise.
62567         * lib/xvasprintf.c: Likewise.
62568         * lib/xvasprintf.h: Likewise.
62569         * lib/yesno.c: Likewise.
62570         * lib/yesno.h: Likewise.
62571         * posix-modules: Likewise.
62572         * tests/test-alloca-opt.c: Likewise.
62573         * tests/test-arcfour.c: Likewise.
62574         * tests/test-arctwo.c: Likewise.
62575         * tests/test-argmatch.c: Likewise.
62576         * tests/test-argp-2.sh: Likewise.
62577         * tests/test-argp.c: Likewise.
62578         * tests/test-arpa_inet.c: Likewise.
62579         * tests/test-array_list.c: Likewise.
62580         * tests/test-array_oset.c: Likewise.
62581         * tests/test-atexit.c: Likewise.
62582         * tests/test-avltree_list.c: Likewise.
62583         * tests/test-avltree_oset.c: Likewise.
62584         * tests/test-avltreehash_list.c: Likewise.
62585         * tests/test-base64.c: Likewise.
62586         * tests/test-binary-io.c: Likewise.
62587         * tests/test-byteswap.c: Likewise.
62588         * tests/test-c-ctype.c: Likewise.
62589         * tests/test-c-strcasecmp.c: Likewise.
62590         * tests/test-c-strcasestr.c: Likewise.
62591         * tests/test-c-strncasecmp.c: Likewise.
62592         * tests/test-c-strstr.c: Likewise.
62593         * tests/test-canonicalize-lgpl.c: Likewise.
62594         * tests/test-canonicalize.c: Likewise.
62595         * tests/test-carray_list.c: Likewise.
62596         * tests/test-ceilf.c: Likewise.
62597         * tests/test-ceill.c: Likewise.
62598         * tests/test-count-one-bits.c: Likewise.
62599         * tests/test-crc.c: Likewise.
62600         * tests/test-dirname.c: Likewise.
62601         * tests/test-fbufmode.c: Likewise.
62602         * tests/test-fcntl.c: Likewise.
62603         * tests/test-fflush.c: Likewise.
62604         * tests/test-floorf.c: Likewise.
62605         * tests/test-floorl.c: Likewise.
62606         * tests/test-fopen.c: Likewise.
62607         * tests/test-fprintf-posix.c: Likewise.
62608         * tests/test-fprintf-posix.h: Likewise.
62609         * tests/test-fpurge.c: Likewise.
62610         * tests/test-freadable.c: Likewise.
62611         * tests/test-freadahead.c: Likewise.
62612         * tests/test-freading.c: Likewise.
62613         * tests/test-freopen.c: Likewise.
62614         * tests/test-frexp.c: Likewise.
62615         * tests/test-frexpl.c: Likewise.
62616         * tests/test-fseek.c: Likewise.
62617         * tests/test-fseeko.c: Likewise.
62618         * tests/test-fseterr.c: Likewise.
62619         * tests/test-fstrcmp.c: Likewise.
62620         * tests/test-ftell.c: Likewise.
62621         * tests/test-ftello.c: Likewise.
62622         * tests/test-fwritable.c: Likewise.
62623         * tests/test-fwriting.c: Likewise.
62624         * tests/test-getaddrinfo.c: Likewise.
62625         * tests/test-getpass.c: Likewise.
62626         * tests/test-gettimeofday.c: Likewise.
62627         * tests/test-hmac-md5.c: Likewise.
62628         * tests/test-hmac-sha1.c: Likewise.
62629         * tests/test-iconv.c: Likewise.
62630         * tests/test-iconvme.c: Likewise.
62631         * tests/test-inttypes.c: Likewise.
62632         * tests/test-isnan.c: Likewise.
62633         * tests/test-isnanf.c: Likewise.
62634         * tests/test-isnanl-nolibm.c: Likewise.
62635         * tests/test-isnanl.c: Likewise.
62636         * tests/test-isnanl.h: Likewise.
62637         * tests/test-ldexpl.c: Likewise.
62638         * tests/test-linked_list.c: Likewise.
62639         * tests/test-linkedhash_list.c: Likewise.
62640         * tests/test-locale.c: Likewise.
62641         * tests/test-localename.c: Likewise.
62642         * tests/test-lock.c: Likewise.
62643         * tests/test-lseek.c: Likewise.
62644         * tests/test-malloca.c: Likewise.
62645         * tests/test-math.c: Likewise.
62646         * tests/test-mbscasecmp.c: Likewise.
62647         * tests/test-mbscasestr1.c: Likewise.
62648         * tests/test-mbscasestr2.c: Likewise.
62649         * tests/test-mbscasestr3.c: Likewise.
62650         * tests/test-mbscasestr4.c: Likewise.
62651         * tests/test-mbschr.c: Likewise.
62652         * tests/test-mbscspn.c: Likewise.
62653         * tests/test-mbsncasecmp.c: Likewise.
62654         * tests/test-mbspbrk.c: Likewise.
62655         * tests/test-mbspcasecmp.c: Likewise.
62656         * tests/test-mbsrchr.c: Likewise.
62657         * tests/test-mbsspn.c: Likewise.
62658         * tests/test-mbsstr1.c: Likewise.
62659         * tests/test-mbsstr2.c: Likewise.
62660         * tests/test-mbsstr3.c: Likewise.
62661         * tests/test-md5.c: Likewise.
62662         * tests/test-memmem.c: Likewise.
62663         * tests/test-netinet_in.c: Likewise.
62664         * tests/test-open.c: Likewise.
62665         * tests/test-printf-frexp.c: Likewise.
62666         * tests/test-printf-frexpl.c: Likewise.
62667         * tests/test-printf-posix.c: Likewise.
62668         * tests/test-printf-posix.h: Likewise.
62669         * tests/test-rbtree_list.c: Likewise.
62670         * tests/test-rbtree_oset.c: Likewise.
62671         * tests/test-rbtreehash_list.c: Likewise.
62672         * tests/test-read-file.c: Likewise.
62673         * tests/test-rijndael.c: Likewise.
62674         * tests/test-search.c: Likewise.
62675         * tests/test-signbit.c: Likewise.
62676         * tests/test-sleep.c: Likewise.
62677         * tests/test-snprintf-posix.c: Likewise.
62678         * tests/test-snprintf-posix.h: Likewise.
62679         * tests/test-snprintf.c: Likewise.
62680         * tests/test-sprintf-posix.c: Likewise.
62681         * tests/test-sprintf-posix.h: Likewise.
62682         * tests/test-stat-time.c: Likewise.
62683         * tests/test-stdbool.c: Likewise.
62684         * tests/test-stdint.c: Likewise.
62685         * tests/test-stdio.c: Likewise.
62686         * tests/test-stdlib.c: Likewise.
62687         * tests/test-stpncpy.c: Likewise.
62688         * tests/test-strcasestr.c: Likewise.
62689         * tests/test-striconv.c: Likewise.
62690         * tests/test-striconveh.c: Likewise.
62691         * tests/test-striconveha.c: Likewise.
62692         * tests/test-string.c: Likewise.
62693         * tests/test-sys_select.c: Likewise.
62694         * tests/test-sys_socket.c: Likewise.
62695         * tests/test-sys_stat.c: Likewise.
62696         * tests/test-sys_time.c: Likewise.
62697         * tests/test-sysexits.c: Likewise.
62698         * tests/test-time.c: Likewise.
62699         * tests/test-tls.c: Likewise.
62700         * tests/test-trunc.c: Likewise.
62701         * tests/test-truncf.c: Likewise.
62702         * tests/test-truncl.c: Likewise.
62703         * tests/test-unistd.c: Likewise.
62704         * tests/test-vasnprintf-posix.c: Likewise.
62705         * tests/test-vasnprintf-posix2.c: Likewise.
62706         * tests/test-vasnprintf.c: Likewise.
62707         * tests/test-vasprintf-posix.c: Likewise.
62708         * tests/test-vasprintf.c: Likewise.
62709         * tests/test-verify.c: Likewise.
62710         * tests/test-vfprintf-posix.c: Likewise.
62711         * tests/test-vprintf-posix.c: Likewise.
62712         * tests/test-vsnprintf-posix.c: Likewise.
62713         * tests/test-vsnprintf.c: Likewise.
62714         * tests/test-vsprintf-posix.c: Likewise.
62715         * tests/test-wchar.c: Likewise.
62716         * tests/test-wctype.c: Likewise.
62717         * tests/test-wcwidth.c: Likewise.
62718         * tests/test-xstrtol.c: Likewise.
62719         * tests/test-xvasprintf.c: Likewise.
62720         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
62721         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
62722         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62723         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62724         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62725         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
62726         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62727         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62728         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62729         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
62730         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62731         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62732         * tests/uniname/test-uninames.c: Likewise.
62733         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
62734         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
62735         * tests/unistdio/test-u16-printf1.h: Likewise.
62736         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
62737         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
62738         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
62739         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
62740         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
62741         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
62742         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
62743         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
62744         * tests/unistdio/test-u32-printf1.h: Likewise.
62745         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
62746         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
62747         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
62748         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
62749         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
62750         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
62751         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
62752         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
62753         * tests/unistdio/test-u8-printf1.h: Likewise.
62754         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
62755         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
62756         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
62757         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
62758         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
62759         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
62760         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
62761         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
62762         * tests/unistdio/test-ulc-printf1.h: Likewise.
62763         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
62764         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
62765         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
62766         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
62767         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
62768         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
62769         * tests/uniwidth/test-u16-strwidth.c: Likewise.
62770         * tests/uniwidth/test-u16-width.c: Likewise.
62771         * tests/uniwidth/test-u32-strwidth.c: Likewise.
62772         * tests/uniwidth/test-u32-width.c: Likewise.
62773         * tests/uniwidth/test-u8-strwidth.c: Likewise.
62774         * tests/uniwidth/test-u8-width.c: Likewise.
62775         * tests/uniwidth/test-uc_width.c: Likewise.
62776         * config/srclist-update: Likewise.
62777         (fixlicense): Update to GPLv3+.
62778
62779         Change copyright notice from LGPLv2.1+ to LGPLv3+.
62780         * tests/test-tsearch.c: Change copyright notice.
62781
62782         Change copyright notice from LGPLv2.0+ to LGPLv3+.
62783         * lib/c-strcaseeq.h: Change copyright notice.
62784         * lib/streq.h: Likewise.
62785         * lib/uniconv.h: Likewise.
62786         * lib/uniconv/u-conv-from-enc.h: Likewise.
62787         * lib/uniconv/u-conv-to-enc.h: Likewise.
62788         * lib/uniconv/u-strconv-from-enc.h: Likewise.
62789         * lib/uniconv/u-strconv-to-enc.h: Likewise.
62790         * lib/uniconv/u16-conv-from-enc.c: Likewise.
62791         * lib/uniconv/u16-conv-to-enc.c: Likewise.
62792         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
62793         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
62794         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
62795         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
62796         * lib/uniconv/u32-conv-from-enc.c: Likewise.
62797         * lib/uniconv/u32-conv-to-enc.c: Likewise.
62798         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
62799         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
62800         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
62801         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
62802         * lib/uniconv/u8-conv-from-enc.c: Likewise.
62803         * lib/uniconv/u8-conv-to-enc.c: Likewise.
62804         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
62805         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
62806         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
62807         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
62808         * lib/uniname.h: Likewise.
62809         * lib/uniname/uniname.c: Likewise.
62810         * lib/unistdio.h: Likewise.
62811         * lib/unistdio/u-asnprintf.h: Likewise.
62812         * lib/unistdio/u-asprintf.h: Likewise.
62813         * lib/unistdio/u-printf-args.c: Likewise.
62814         * lib/unistdio/u-printf-args.h: Likewise.
62815         * lib/unistdio/u-printf-parse.h: Likewise.
62816         * lib/unistdio/u-snprintf.h: Likewise.
62817         * lib/unistdio/u-sprintf.h: Likewise.
62818         * lib/unistdio/u-vasprintf.h: Likewise.
62819         * lib/unistdio/u-vsnprintf.h: Likewise.
62820         * lib/unistdio/u-vsprintf.h: Likewise.
62821         * lib/unistdio/u16-asnprintf.c: Likewise.
62822         * lib/unistdio/u16-asprintf.c: Likewise.
62823         * lib/unistdio/u16-printf-parse.c: Likewise.
62824         * lib/unistdio/u16-snprintf.c: Likewise.
62825         * lib/unistdio/u16-sprintf.c: Likewise.
62826         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
62827         * lib/unistdio/u16-u16-asprintf.c: Likewise.
62828         * lib/unistdio/u16-u16-snprintf.c: Likewise.
62829         * lib/unistdio/u16-u16-sprintf.c: Likewise.
62830         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
62831         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
62832         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
62833         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
62834         * lib/unistdio/u16-vasnprintf.c: Likewise.
62835         * lib/unistdio/u16-vasprintf.c: Likewise.
62836         * lib/unistdio/u16-vsnprintf.c: Likewise.
62837         * lib/unistdio/u16-vsprintf.c: Likewise.
62838         * lib/unistdio/u32-asnprintf.c: Likewise.
62839         * lib/unistdio/u32-asprintf.c: Likewise.
62840         * lib/unistdio/u32-printf-parse.c: Likewise.
62841         * lib/unistdio/u32-snprintf.c: Likewise.
62842         * lib/unistdio/u32-sprintf.c: Likewise.
62843         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
62844         * lib/unistdio/u32-u32-asprintf.c: Likewise.
62845         * lib/unistdio/u32-u32-snprintf.c: Likewise.
62846         * lib/unistdio/u32-u32-sprintf.c: Likewise.
62847         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
62848         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
62849         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
62850         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
62851         * lib/unistdio/u32-vasnprintf.c: Likewise.
62852         * lib/unistdio/u32-vasprintf.c: Likewise.
62853         * lib/unistdio/u32-vsnprintf.c: Likewise.
62854         * lib/unistdio/u32-vsprintf.c: Likewise.
62855         * lib/unistdio/u8-asnprintf.c: Likewise.
62856         * lib/unistdio/u8-asprintf.c: Likewise.
62857         * lib/unistdio/u8-printf-parse.c: Likewise.
62858         * lib/unistdio/u8-snprintf.c: Likewise.
62859         * lib/unistdio/u8-sprintf.c: Likewise.
62860         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
62861         * lib/unistdio/u8-u8-asprintf.c: Likewise.
62862         * lib/unistdio/u8-u8-snprintf.c: Likewise.
62863         * lib/unistdio/u8-u8-sprintf.c: Likewise.
62864         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
62865         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
62866         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
62867         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
62868         * lib/unistdio/u8-vasnprintf.c: Likewise.
62869         * lib/unistdio/u8-vasprintf.c: Likewise.
62870         * lib/unistdio/u8-vsnprintf.c: Likewise.
62871         * lib/unistdio/u8-vsprintf.c: Likewise.
62872         * lib/unistdio/ulc-asnprintf.c: Likewise.
62873         * lib/unistdio/ulc-asprintf.c: Likewise.
62874         * lib/unistdio/ulc-printf-parse.c: Likewise.
62875         * lib/unistdio/ulc-snprintf.c: Likewise.
62876         * lib/unistdio/ulc-sprintf.c: Likewise.
62877         * lib/unistdio/ulc-vasnprintf.c: Likewise.
62878         * lib/unistdio/ulc-vasprintf.c: Likewise.
62879         * lib/unistdio/ulc-vsnprintf.c: Likewise.
62880         * lib/unistdio/ulc-vsprintf.c: Likewise.
62881         * lib/unistr.h: Likewise.
62882         * lib/unistr/u-cpy-alloc.h: Likewise.
62883         * lib/unistr/u-cpy.h: Likewise.
62884         * lib/unistr/u-endswith.h: Likewise.
62885         * lib/unistr/u-move.h: Likewise.
62886         * lib/unistr/u-set.h: Likewise.
62887         * lib/unistr/u-startswith.h: Likewise.
62888         * lib/unistr/u-stpcpy.h: Likewise.
62889         * lib/unistr/u-stpncpy.h: Likewise.
62890         * lib/unistr/u-strcat.h: Likewise.
62891         * lib/unistr/u-strcpy.h: Likewise.
62892         * lib/unistr/u-strcspn.h: Likewise.
62893         * lib/unistr/u-strdup.h: Likewise.
62894         * lib/unistr/u-strlen.h: Likewise.
62895         * lib/unistr/u-strncat.h: Likewise.
62896         * lib/unistr/u-strncpy.h: Likewise.
62897         * lib/unistr/u-strnlen.h: Likewise.
62898         * lib/unistr/u-strpbrk.h: Likewise.
62899         * lib/unistr/u-strspn.h: Likewise.
62900         * lib/unistr/u-strstr.h: Likewise.
62901         * lib/unistr/u-strtok.h: Likewise.
62902         * lib/unistr/u16-check.c: Likewise.
62903         * lib/unistr/u16-chr.c: Likewise.
62904         * lib/unistr/u16-cmp.c: Likewise.
62905         * lib/unistr/u16-cpy-alloc.c: Likewise.
62906         * lib/unistr/u16-cpy.c: Likewise.
62907         * lib/unistr/u16-endswith.c: Likewise.
62908         * lib/unistr/u16-mblen.c: Likewise.
62909         * lib/unistr/u16-mbsnlen.c: Likewise.
62910         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62911         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62912         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62913         * lib/unistr/u16-mbtouc.c: Likewise.
62914         * lib/unistr/u16-mbtoucr.c: Likewise.
62915         * lib/unistr/u16-move.c: Likewise.
62916         * lib/unistr/u16-next.c: Likewise.
62917         * lib/unistr/u16-prev.c: Likewise.
62918         * lib/unistr/u16-set.c: Likewise.
62919         * lib/unistr/u16-startswith.c: Likewise.
62920         * lib/unistr/u16-stpcpy.c: Likewise.
62921         * lib/unistr/u16-stpncpy.c: Likewise.
62922         * lib/unistr/u16-strcat.c: Likewise.
62923         * lib/unistr/u16-strchr.c: Likewise.
62924         * lib/unistr/u16-strcmp.c: Likewise.
62925         * lib/unistr/u16-strcpy.c: Likewise.
62926         * lib/unistr/u16-strcspn.c: Likewise.
62927         * lib/unistr/u16-strdup.c: Likewise.
62928         * lib/unistr/u16-strlen.c: Likewise.
62929         * lib/unistr/u16-strmblen.c: Likewise.
62930         * lib/unistr/u16-strmbtouc.c: Likewise.
62931         * lib/unistr/u16-strncat.c: Likewise.
62932         * lib/unistr/u16-strncmp.c: Likewise.
62933         * lib/unistr/u16-strncpy.c: Likewise.
62934         * lib/unistr/u16-strnlen.c: Likewise.
62935         * lib/unistr/u16-strpbrk.c: Likewise.
62936         * lib/unistr/u16-strrchr.c: Likewise.
62937         * lib/unistr/u16-strspn.c: Likewise.
62938         * lib/unistr/u16-strstr.c: Likewise.
62939         * lib/unistr/u16-strtok.c: Likewise.
62940         * lib/unistr/u16-to-u32.c: Likewise.
62941         * lib/unistr/u16-to-u8.c: Likewise.
62942         * lib/unistr/u16-uctomb-aux.c: Likewise.
62943         * lib/unistr/u16-uctomb.c: Likewise.
62944         * lib/unistr/u32-check.c: Likewise.
62945         * lib/unistr/u32-chr.c: Likewise.
62946         * lib/unistr/u32-cmp.c: Likewise.
62947         * lib/unistr/u32-cpy-alloc.c: Likewise.
62948         * lib/unistr/u32-cpy.c: Likewise.
62949         * lib/unistr/u32-endswith.c: Likewise.
62950         * lib/unistr/u32-mblen.c: Likewise.
62951         * lib/unistr/u32-mbsnlen.c: Likewise.
62952         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62953         * lib/unistr/u32-mbtouc.c: Likewise.
62954         * lib/unistr/u32-mbtoucr.c: Likewise.
62955         * lib/unistr/u32-move.c: Likewise.
62956         * lib/unistr/u32-next.c: Likewise.
62957         * lib/unistr/u32-prev.c: Likewise.
62958         * lib/unistr/u32-set.c: Likewise.
62959         * lib/unistr/u32-startswith.c: Likewise.
62960         * lib/unistr/u32-stpcpy.c: Likewise.
62961         * lib/unistr/u32-stpncpy.c: Likewise.
62962         * lib/unistr/u32-strcat.c: Likewise.
62963         * lib/unistr/u32-strchr.c: Likewise.
62964         * lib/unistr/u32-strcmp.c: Likewise.
62965         * lib/unistr/u32-strcpy.c: Likewise.
62966         * lib/unistr/u32-strcspn.c: Likewise.
62967         * lib/unistr/u32-strdup.c: Likewise.
62968         * lib/unistr/u32-strlen.c: Likewise.
62969         * lib/unistr/u32-strmblen.c: Likewise.
62970         * lib/unistr/u32-strmbtouc.c: Likewise.
62971         * lib/unistr/u32-strncat.c: Likewise.
62972         * lib/unistr/u32-strncmp.c: Likewise.
62973         * lib/unistr/u32-strncpy.c: Likewise.
62974         * lib/unistr/u32-strnlen.c: Likewise.
62975         * lib/unistr/u32-strpbrk.c: Likewise.
62976         * lib/unistr/u32-strrchr.c: Likewise.
62977         * lib/unistr/u32-strspn.c: Likewise.
62978         * lib/unistr/u32-strstr.c: Likewise.
62979         * lib/unistr/u32-strtok.c: Likewise.
62980         * lib/unistr/u32-to-u16.c: Likewise.
62981         * lib/unistr/u32-to-u8.c: Likewise.
62982         * lib/unistr/u32-uctomb.c: Likewise.
62983         * lib/unistr/u8-check.c: Likewise.
62984         * lib/unistr/u8-chr.c: Likewise.
62985         * lib/unistr/u8-cmp.c: Likewise.
62986         * lib/unistr/u8-cpy-alloc.c: Likewise.
62987         * lib/unistr/u8-cpy.c: Likewise.
62988         * lib/unistr/u8-endswith.c: Likewise.
62989         * lib/unistr/u8-mblen.c: Likewise.
62990         * lib/unistr/u8-mbsnlen.c: Likewise.
62991         * lib/unistr/u8-mbtouc-aux.c: Likewise.
62992         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62993         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62994         * lib/unistr/u8-mbtouc.c: Likewise.
62995         * lib/unistr/u8-mbtoucr.c: Likewise.
62996         * lib/unistr/u8-move.c: Likewise.
62997         * lib/unistr/u8-next.c: Likewise.
62998         * lib/unistr/u8-prev.c: Likewise.
62999         * lib/unistr/u8-set.c: Likewise.
63000         * lib/unistr/u8-startswith.c: Likewise.
63001         * lib/unistr/u8-stpcpy.c: Likewise.
63002         * lib/unistr/u8-stpncpy.c: Likewise.
63003         * lib/unistr/u8-strcat.c: Likewise.
63004         * lib/unistr/u8-strchr.c: Likewise.
63005         * lib/unistr/u8-strcmp.c: Likewise.
63006         * lib/unistr/u8-strcpy.c: Likewise.
63007         * lib/unistr/u8-strcspn.c: Likewise.
63008         * lib/unistr/u8-strdup.c: Likewise.
63009         * lib/unistr/u8-strlen.c: Likewise.
63010         * lib/unistr/u8-strmblen.c: Likewise.
63011         * lib/unistr/u8-strmbtouc.c: Likewise.
63012         * lib/unistr/u8-strncat.c: Likewise.
63013         * lib/unistr/u8-strncmp.c: Likewise.
63014         * lib/unistr/u8-strncpy.c: Likewise.
63015         * lib/unistr/u8-strnlen.c: Likewise.
63016         * lib/unistr/u8-strpbrk.c: Likewise.
63017         * lib/unistr/u8-strrchr.c: Likewise.
63018         * lib/unistr/u8-strspn.c: Likewise.
63019         * lib/unistr/u8-strstr.c: Likewise.
63020         * lib/unistr/u8-strtok.c: Likewise.
63021         * lib/unistr/u8-to-u16.c: Likewise.
63022         * lib/unistr/u8-to-u32.c: Likewise.
63023         * lib/unistr/u8-uctomb-aux.c: Likewise.
63024         * lib/unistr/u8-uctomb.c: Likewise.
63025         * lib/unitypes.h: Likewise.
63026         * lib/uniwidth.h: Likewise.
63027         * lib/uniwidth/cjk.h: Likewise.
63028         * lib/uniwidth/u16-strwidth.c: Likewise.
63029         * lib/uniwidth/u16-width.c: Likewise.
63030         * lib/uniwidth/u32-strwidth.c: Likewise.
63031         * lib/uniwidth/u32-width.c: Likewise.
63032         * lib/uniwidth/u8-strwidth.c: Likewise.
63033         * lib/uniwidth/u8-width.c: Likewise.
63034         * lib/uniwidth/width.c: Likewise.
63035
63036 2007-10-07  Bruno Haible  <bruno@clisp.org>
63037
63038         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63039         The file is still under LGPL (see modules/inttypes).
63040
63041 2007-10-06  Bruno Haible  <bruno@clisp.org>
63042
63043         * modules/trunc (Dependencies): Add 'extensions'.
63044         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63045         Reported by Ben Pfaff <blp@gnu.org>.
63046
63047 2007-10-06  Bruno Haible  <bruno@clisp.org>
63048
63049         * modules/freopen-tests: New file.
63050         * tests/test-freopen.c: New file.
63051
63052         * modules/fopen-tests: New file.
63053         * tests/test-fopen.c: New file.
63054
63055         * modules/fopen: New file.
63056         * lib/fopen.c: New file.
63057         * m4/fopen.m4: New file.
63058         * modules/freopen: New file.
63059         * lib/freopen.c: New file.
63060         * m4/freopen.m4: New file.
63061         * lib/stdio.in.h (fopen, freopen): New declarations.
63062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63063         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63064         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63065         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63066         * doc/functions/fopen.texi: Mention the 'fopen' module.
63067         * doc/functions/freopen.texi: Mention the 'freopen' module.
63068
63069 2007-10-06  Bruno Haible  <bruno@clisp.org>
63070
63071         * modules/open-tests: New file.
63072         * tests/test-open.c: New file.
63073
63074         * modules/open: New file.
63075         * lib/open.c: New file.
63076         * m4/open.m4: New file.
63077         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63078         lib/open.c does.
63079         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63080         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63081         macros.
63082         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63083         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63084         REPLACE_OPEN.
63085         * doc/functions/open.texi: Mention the 'open' module.
63086
63087 2007-10-04  Bruno Haible  <bruno@clisp.org>
63088
63089         * modules/ceill-tests: New file.
63090         * tests/test-ceill.c: New file.
63091
63092         * modules/ceill: New file.
63093         * lib/ceill.c: Replace entire file.
63094         * m4/ceill.m4: New file.
63095         * lib/math.in.h (ceill): Replace declaration.
63096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63097         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63098         * doc/functions/ceill.texi: Mention the 'ceill' module.
63099         * modules/mathl (Files): Remove lib/ceill.c.
63100         (Depends-on): Add ceill.
63101
63102 2007-10-04  Bruno Haible  <bruno@clisp.org>
63103
63104         * modules/ceilf-tests: New file.
63105         * tests/test-ceilf.c: New file.
63106
63107         * modules/ceilf: New file.
63108         * lib/ceil.c: New file.
63109         * lib/ceilf.c: New file.
63110         * m4/ceilf.m4: New file.
63111         * lib/math.in.h (ceilf): New declaration.
63112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63113         HAVE_DECL_CEILF.
63114         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63115         HAVE_DECL_CEILF.
63116         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63117
63118 2007-10-04  Bruno Haible  <bruno@clisp.org>
63119
63120         * modules/floorl-tests: New file.
63121         * tests/test-floorl.c: New file.
63122
63123         * modules/floorl: New file.
63124         * lib/floorl.c: Replace entire file.
63125         * m4/floorl.m4: New file.
63126         * lib/math.in.h (floorl): Replace declaration.
63127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63128         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63129         * doc/functions/floorl.texi: Mention the 'floorl' module.
63130         * modules/mathl (Files): Remove lib/floorl.c.
63131         (Depends-on): Add floorl.
63132
63133 2007-10-04  Bruno Haible  <bruno@clisp.org>
63134
63135         * modules/floorf-tests: New file.
63136         * tests/test-floorf.c: New file.
63137
63138         * modules/floorf: New file.
63139         * lib/floor.c: New file.
63140         * lib/floorf.c: New file.
63141         * m4/floorf.m4: New file.
63142         * lib/math.in.h (floorf): New declaration.
63143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63144         HAVE_DECL_FLOORF.
63145         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63146         HAVE_DECL_FLOORF.
63147         * doc/functions/floorf.texi: Mention the 'floorf' module.
63148
63149 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63150             Bruno Haible  <bruno@clisp.org>
63151
63152         Advertise for the Git server instead of the CVS server.
63153         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63154         repository instead of the CVS one.
63155         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63156         about all VCS systems generically.
63157         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63158
63159 2007-10-04  Bruno Haible  <bruno@clisp.org>
63160
63161         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63162         means.
63163         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63164
63165 2007-10-04  Bruno Haible  <bruno@clisp.org>
63166
63167         * modules/truncl-tests: New file.
63168         * tests/test-truncl.c: New file.
63169
63170         * modules/truncl: New file.
63171         * lib/truncl.c: New file.
63172         * m4/truncl.m4: New file.
63173         * lib/math.in.h (truncl): New declaration.
63174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
63175         HAVE_DECL_TRUNCL.
63176         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
63177         HAVE_DECL_TRUNCL.
63178         * doc/functions/truncl.texi: Mention the 'truncl' module.
63179
63180 2007-10-04  Bruno Haible  <bruno@clisp.org>
63181
63182         * modules/truncf-tests: New file.
63183         * tests/test-truncf.c: New file.
63184
63185         * modules/truncf: New file.
63186         * lib/trunc.c: Make paramerizable through USE_* macros.
63187         * lib/truncf.c: New file.
63188         * m4/truncf.m4: New file.
63189         * lib/math.in.h (truncf): New declaration.
63190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
63191         HAVE_DECL_TRUNCF.
63192         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
63193         HAVE_DECL_TRUNCF.
63194         * doc/functions/truncf.texi: Mention the 'truncf' module.
63195
63196 2007-10-03  Bruno Haible  <bruno@clisp.org>
63197
63198         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
63199         augmentation also for tests modules.
63200         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
63201         * modules/atexit-tests (Makefile.am): Likewise.
63202         * modules/binary-io-tests (Makefile.am): Likewise.
63203         * modules/c-strcase-tests (Makefile.am): Likewise.
63204         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
63205         * modules/canonicalize-tests (Makefile.am): Likewise.
63206         * modules/closein-tests (Makefile.am): Likewise.
63207         * modules/fprintf-posix-tests (Makefile.am): Likewise.
63208         * modules/freadahead-tests (Makefile.am): Likewise.
63209         * modules/fseek-tests (Makefile.am): Likewise.
63210         * modules/fseeko-tests (Makefile.am): Likewise.
63211         * modules/ftell-tests (Makefile.am): Likewise.
63212         * modules/ftello-tests (Makefile.am): Likewise.
63213         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
63214         * modules/isnanl-tests (Makefile.am): Likewise.
63215         * modules/lseek-tests (Makefile.am): Likewise.
63216         * modules/mbscasecmp-tests (Makefile.am): Likewise.
63217         * modules/mbscasestr-tests (Makefile.am): Likewise.
63218         * modules/mbschr-tests (Makefile.am): Likewise.
63219         * modules/mbscspn-tests (Makefile.am): Likewise.
63220         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
63221         * modules/mbspbrk-tests (Makefile.am): Likewise.
63222         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
63223         * modules/mbsrchr-tests (Makefile.am): Likewise.
63224         * modules/mbsspn-tests (Makefile.am): Likewise.
63225         * modules/mbsstr-tests (Makefile.am): Likewise.
63226         * modules/printf-posix-tests (Makefile.am): Likewise.
63227         * modules/snprintf-posix-tests (Makefile.am): Likewise.
63228         * modules/sprintf-posix-tests (Makefile.am): Likewise.
63229         * modules/tsearch-tests (Makefile.am): Likewise.
63230         * modules/uniname/uniname-tests (Makefile.am): Likewise.
63231         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
63232         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
63233         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
63234         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
63235         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
63236         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
63237         * modules/vprintf-posix-tests (Makefile.am): Likewise.
63238         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
63239         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
63240         * modules/xstrtoimax-tests (Makefile.am): Likewise.
63241         * modules/xstrtol-tests (Makefile.am): Likewise.
63242         * modules/xstrtoumax-tests (Makefile.am): Likewise.
63243         * modules/yesno-tests (Makefile.am): Likewise.
63244
63245 2007-10-03  Bruno Haible  <bruno@clisp.org>
63246
63247         * modules/trunc-tests: New file.
63248         * tests/test-trunc.c: New file.
63249
63250         * modules/trunc: New file.
63251         * lib/trunc.c: New file.
63252         * m4/trunc.m4: New file.
63253         * lib/math.in.h (trunc): New declaration.
63254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
63255         HAVE_DECL_TRUNC.
63256         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
63257         HAVE_DECL_TRUNC.
63258         * doc/functions/trunc.texi: Mention the 'trunc' module.
63259
63260 2007-10-03  Bruno Haible  <bruno@clisp.org>
63261
63262         * tests/test-fpending.c: New file, mostly copied
63263         from coreutils/lib/t-fpending.c.
63264         * modules/fpending-tests: New file.
63265
63266 2007-10-03  Bruno Haible  <bruno@clisp.org>
63267
63268         Port the stdio extensions to QNX (untested).
63269         * lib/fseterr.c (fseterr): Add support for QNX.
63270         * lib/fbufmode.c (fbufmode): Likewise.
63271         * lib/freadable.c (freadable): Likewise.
63272         * lib/fwritable.c (fwritable): Likewise.
63273         * lib/freading.c (freading): Likewise.
63274         * lib/fwriting.c (fwriting): Likewise.
63275         * lib/freadahead.c (freadahed): Likewise.
63276         * lib/fpurge.c (fpurge): Likewise.
63277         * lib/fseeko.c (rpl_fseeko): Likewise.
63278
63279 2007-10-03  Bruno Haible  <bruno@clisp.org>
63280             Jim Meyering  <jim@meyering.net>
63281             Eric Blake  <ebb9@byu.net>
63282
63283         * doc/relocatable.texi: Use @command instead of @program.
63284
63285 2007-10-02  Jim Meyering  <jim@meyering.net>
63286
63287         Perform one more "_.h" -> ".in.h" substitution.
63288         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
63289         instead of unistd_.h here, too.
63290
63291 2007-10-01  Bruno Haible  <bruno@clisp.org>
63292
63293         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
63294         Needed for the alloca-opt module.
63295
63296 2007-09-30  Bruno Haible  <bruno@clisp.org>
63297
63298         * lib/alloca.in.h: Renamed from lib/alloca_.h.
63299         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
63300         alloca_.h.
63301         * lib/argz.in.h: Renamed from lib/argz_.h.
63302         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
63303         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
63304         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
63305         byteswap_.h.
63306         * lib/dirent.in.h: Renamed from lib/dirent_.h.
63307         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
63308         dirent_.h.
63309         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
63310         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
63311         fcntl_.h.
63312         * lib/float.in.h: Renamed from lib/float_.h.
63313         * modules/float (Files, Makefile.am): Use float.in.h instead of
63314         float_.h.
63315         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
63316         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
63317         fnmatch_.h.
63318         * lib/getopt.in.h: Renamed from lib/getopt_.h.
63319         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
63320         getopt_.h.
63321         * lib/glob.in.h: Renamed from lib/glob_.h.
63322         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
63323         * lib/iconv.in.h: Renamed from lib/iconv_.h.
63324         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
63325         iconv_.h.
63326         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
63327         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
63328         inttypes_.h.
63329         * lib/locale.in.h: Renamed from lib/locale_.h.
63330         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
63331         locale_.h.
63332         * lib/math.in.h: Renamed from lib/math_.h.
63333         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
63334         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
63335         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
63336         of netinet_in_.h. Add dependency.
63337         * lib/poll.in.h: Renamed from lib/poll_.h.
63338         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
63339         * lib/search.in.h: Renamed from lib/search_.h.
63340         * modules/search (Files, Makefile.am): Use search.in.h instead of
63341         search_.h.
63342         * lib/signal.in.h: Renamed from lib/signal_.h.
63343         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
63344         _signal.h.
63345         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
63346         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
63347         stdbool_.h.
63348         * lib/stdint.in.h: Renamed from lib/stdint_.h.
63349         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
63350         stdint_.h.
63351         * lib/stdio.in.h: Renamed from lib/stdio_.h.
63352         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
63353         stdio_.h.
63354         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
63355         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
63356         stdlib_.h.
63357         * lib/string.in.h: Renamed from lib/string_.h.
63358         * modules/string (Files, Makefile.am): Use string.in.h instead of
63359         string_.h.
63360         * doc/gnulib-tool.texi (Initial import): Update.
63361         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
63362         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
63363         of sys_select_.h. Add dependency.
63364         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
63365         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
63366         of sys_socket_.h.
63367         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
63368         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
63369         sys_stat_.h.
63370         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
63371         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
63372         sys_time_.h.
63373         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
63374         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
63375         sysexits_.h.
63376         * lib/time.in.h: Renamed from lib/time_.h.
63377         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
63378         * lib/unistd.in.h: Renamed from lib/unistd_.h.
63379         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
63380         unistd_.h.
63381         * lib/wchar.in.h: Renamed from lib/wchar_.h.
63382         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
63383         wchar_.h.
63384         * lib/wctype.in.h: Renamed from lib/wctype_.h.
63385         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
63386         wctype_.h.
63387         * build-aux/bootstrap (slurp): Update.
63388         * lib/.cppi-disable: Update.
63389
63390 2007-09-30  Bruno Haible  <bruno@clisp.org>
63391
63392         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
63393         Needed on BeOS.
63394
63395 2007-09-30  Bruno Haible  <bruno@clisp.org>
63396
63397         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
63398
63399 2007-09-29  Bruno Haible  <bruno@clisp.org>
63400
63401         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
63402
63403 2007-09-29  Bruno Haible  <bruno@clisp.org>
63404
63405         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
63406         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
63407         * build-aux/install-reloc: Compile also areadlink.c.
63408         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
63409
63410 2007-09-29  Bruno Haible  <bruno@clisp.org>
63411
63412         * gnulib-tool (func_emit_initmacro_done): Indentation.
63413
63414 2007-09-29  Bruno Haible  <bruno@clisp.org>
63415
63416         * README: Add CVS checkout update instructions.
63417         Info from Bob Proulx <bob@proulx.com>.
63418
63419 2007-09-28  Eric Blake  <ebb9@byu.net>
63420
63421         Provide move-if-change.
63422         * build-aux/move-if-change: New file, based on best practice
63423         rather than any canonical upstream location.
63424
63425 2007-09-28  Jim Meyering  <jim@meyering.net>
63426
63427         Fix canonicalize loop-detection corner case.
63428         Do not attempt to stat the symlink values stored via seen_triple.
63429         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
63430         on linux-2.6.18, (but not 2.6.22).
63431         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
63432         triple_compare.  The former compares dev,ino,filename, while the latter
63433         would actually stat dirname(filename) when dev and ino were equal.
63434         * lib/hash-triple.c: Install <string.h>.
63435         (STREQ): Define.
63436         (triple_compare_ino_str): New function.
63437         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
63438
63439 2007-09-28  Eric Blake  <ebb9@byu.net>
63440
63441         Enforce that AC_REPLACE_FUNCS files exist.
63442         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
63443         override check for typos.
63444
63445         Fix test-closein on Solaris 10.
63446         * tests/test-closein.c (main): Don't assume stdin can be inherited
63447         closed on all systems.
63448         * tests/test-closein.sh: Likewise.
63449         Reported by Piotr Tarnowski.
63450
63451 2007-09-28  Jim Meyering  <jim@meyering.net>
63452
63453         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
63454
63455 2007-09-27  Jim Meyering  <jim@meyering.net>
63456
63457         canonicalize: Avoid a false-positive cycle failure.
63458         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
63459         Sort.  Remove cycle-check.
63460         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
63461         not cycle-check.h.
63462         (seen_triple): New function.
63463         (canonicalize_filename_mode): Use it instead of cycle-check.
63464         * tests/test-canonicalize.c: Add a test for this bug.
63465         * tests/test-canonicalize.sh: Set up and run the test.
63466
63467         New module, file-set, from coreutils.
63468         * modules/file-set: Define it.
63469         * lib/file-set.c, lib/file-set.h: Implement.
63470
63471         New module, hash-triple, from coreutils.
63472         * modules/hash-triple: Define it.
63473         * lib/hash-triple.c, lib/hash-triple.h: Implement.
63474
63475 2007-09-25  Eric Blake  <ebb9@byu.net>
63476
63477         Fix strerror on Interix.
63478         * lib/string_.h (strerror): Declare replacement.
63479         * doc/functions/strerror.texi (strerror): Document the Interix
63480         shortcoming.
63481         * modules/string (Makefile.am): Support new hooks.
63482         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
63483         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
63484         gl_FUNC_STRERROR_SEPARATE.
63485         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
63486         * lib/strerror.c (rpl_strerror): Provide replacement.
63487         * modules/strerror (Depends-on): Add string.
63488         (configure.ac): Detect use of module.
63489         * tests/test-strerror.c: New file.
63490         * modules/strerror-tests: New test module.
63491         * modules/argp (Depends-on): Add strerror.
63492         * modules/error (Depends-on): Likewise.
63493         Reported by Martin Koeppe.
63494
63495 2007-09-24  Bruno Haible  <bruno@clisp.org>
63496
63497         * README: Update git instructions.
63498
63499 2007-09-24  Eric Blake  <ebb9@byu.net>
63500
63501         Revert fpending breakage from 2007-09-08.
63502         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
63503         __fpending.c.
63504
63505 2007-09-24  Jim Meyering  <jim@meyering.net>
63506
63507         filenamecat.c: Add a test.
63508         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
63509         showing how the function works when DIR is the empty string.
63510
63511 2007-09-21  Simon Josefsson  <simon@josefsson.org>
63512
63513         * tests/test-canonicalize.sh: Turn on executable bit.
63514
63515 2007-09-19  Eric Blake  <ebb9@byu.net>
63516
63517         * README: Update CVS instructions.
63518
63519 2007-09-18  Bruno Haible  <bruno@clisp.org>
63520
63521         * modules/areadlink: New file.
63522         * lib/areadlink.h (areadlink): New declaration.
63523         * lib/areadlink.c: New file, based on lib/xreadlink.c.
63524
63525 2007-09-17  Jim Meyering  <jim@meyering.net>
63526
63527         * lib/savewd.c (ESTALE) [!defined]: Define.
63528         Reported to be required on Interix by Martin Koeppe.
63529
63530 2007-09-17  Bruno Haible  <bruno@clisp.org>
63531
63532         * gnulib-tool (func_version): Use $version.
63533
63534 2007-09-16  Bruno Haible  <bruno@clisp.org>
63535
63536         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
63537         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
63538         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
63539         Reported by Greg Schafer <gschafer@zip.com.au>.
63540
63541 2007-09-15  Bruno Haible  <bruno@clisp.org>
63542
63543         * gnulib-tool (sed): Try a little harder to make bash understand the
63544         alias.
63545         Reported by Bruce Korb <bruce.korb@gmail.com>.
63546
63547 2007-09-13  Eric Blake  <ebb9@byu.net>
63548
63549         * ChangeLog: Remove conflict markers.
63550
63551 2007-09-13  Simon Josefsson  <simon@josefsson.org>
63552
63553         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
63554         Reported by Bruno Haible <bruno@clisp.org>.
63555
63556 2007-09-12  Bruno Haible  <bruno@clisp.org>
63557
63558         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
63559         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
63560         is not defined.
63561
63562 2007-09-12  Eric Blake  <ebb9@byu.net>
63563
63564         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
63565         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
63566         Autoconf definition.
63567         * modules/euidaccess (Depends-on): Add extensions, for
63568         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
63569         * modules/fnmatch (Depends-on): Likewise.
63570         * modules/getaddrinfo (Depends-on): Likewise.
63571         * modules/getdelim (Depends-on): Likewise.
63572         * modules/getline (Depends-on): Likewise.
63573         * modules/getsubopt (Depends-on): Likewise.
63574         * modules/gettext (Depends-on): Likewise.
63575         * modules/group-member (Depends-on): Likewise.
63576         * modules/mbchar (Depends-on): Likewise.
63577         * modules/memmem (Depends-on): Likewise.
63578         * modules/mempcpy (Depends-on): Likewise.
63579         * modules/memrchr (Depends-on): Likewise.
63580         * modules/pagealign_alloc (Depends-on): Likewise.
63581         * modules/readutmp (Depends-on): Likewise.
63582         * modules/stpcpy (Depends-on): Likewise.
63583         * modules/stpncpy (Depends-on): Likewise.
63584         * modules/strchrnul (Depends-on): Likewise.
63585         * modules/strndup (Depends-on): Likewise.
63586         * modules/strsep (Depends-on): Likewise.
63587         * modules/strverscmp (Depends-on): Likewise.
63588         * modules/vasprintf (Depends-on): Likewise.
63589         * modules/wcwidth (Depends-on): Likewise.
63590         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
63591         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
63592         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
63593         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
63594         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63595         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63596         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
63597         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63598         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
63599         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
63600         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
63601         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
63602         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
63603         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63604         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
63605         * m4/readutmp.m4 (gl_READUTMP): Likewise.
63606         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
63607         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
63608         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63609         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
63610         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
63611         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
63612         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
63613         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
63614         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
63615         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
63616         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
63617         so that lock.m4 can be used in gettext without extensions module.
63618
63619 2007-09-11  Bruno Haible  <bruno@clisp.org>
63620
63621         * m4/isc-posix.m4: Remove file.
63622         Suggested by Eric Blake.
63623
63624 2007-09-11  Eric Blake  <ebb9@byu.net>
63625
63626         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
63627
63628 2007-09-10  Bruno Haible  <bruno@clisp.org>
63629
63630         * posix-modules: Fix typo in error message.
63631         Reported by Matt <mkraai@beckman.com>.
63632
63633 2007-09-09  Bruno Haible  <bruno@clisp.org>
63634
63635         * doc/functions/getdelim.texi: Update list of platforms lacking the
63636         function.
63637         * doc/functions/getline.texi: Likewise.
63638
63639 2007-09-09  Jim Meyering  <jim@meyering.net>
63640
63641         * lib/hash.c (hash_initialize): Detect calloc failure.
63642         Reported by Bruno Haible.
63643
63644 2007-09-09  Bruno Haible  <bruno@clisp.org>
63645
63646         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
63647         malloc or realloc fails.
63648
63649 2007-09-09  Bruno Haible  <bruno@clisp.org>
63650
63651         * modules/getcwd (Depends-on): Add malloc-posix.
63652         * modules/glob (Depends-on): Likewise.
63653         * modules/putenv (Depends-on): Likewise.
63654         * modules/strdup (Depends-on): Likewise.
63655         * modules/getdelim (Depends-on): Add realloc-posix.
63656         * modules/read-file (Depends-on): Likewise.
63657
63658 2007-09-09  Bruno Haible  <bruno@clisp.org>
63659
63660         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
63661         (gl_FUNC_MALLOC_POSIX): Require it.
63662         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
63663         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
63664         * modules/realloc (Files): Add m4/malloc.m4.
63665         * modules/calloc (Files): Likewise.
63666
63667 2007-09-09  Bruno Haible  <bruno@clisp.org>
63668
63669         * modules/malloc-posix: New file.
63670         * modules/malloc (Depends-on): Add malloc-posix.
63671         * lib/malloc.c: Include errno.h.
63672         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
63673         and a POSIX-compatible malloc into a single function. Set ENOMEM
63674         when returning NULL.
63675         * m4/malloc.m4: New file.
63676         * doc/functions/malloc.texi: Mention the malloc-posix module.
63677         * lib/stdlib_.h (malloc): New declaration.
63678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63679         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
63680         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
63681         and HAVE_MALLOC_POSIX.
63682
63683 2007-09-09  Bruno Haible  <bruno@clisp.org>
63684
63685         * modules/realloc-posix: New file.
63686         * modules/realloc (Depends-on): Add realloc-posix.
63687         * lib/realloc.c: Include errno.h.
63688         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
63689         and a POSIX-compatible realloc into a single function. Set ENOMEM
63690         when returning NULL.
63691         * m4/realloc.m4: New file.
63692         * doc/functions/realloc.texi: Mention the realloc-posix module.
63693         * lib/stdlib_.h (realloc): New declaration.
63694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63695         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
63696         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
63697         and HAVE_REALLOC_POSIX.
63698
63699 2007-09-09  Bruno Haible  <bruno@clisp.org>
63700
63701         * modules/calloc-posix: New file.
63702         * modules/calloc (Depends-on): Add calloc-posix.
63703         * lib/calloc.c: Include errno.h.
63704         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
63705         and a POSIX-compatible calloc into a single function. Set ENOMEM
63706         when returning NULL.
63707         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
63708         * doc/functions/calloc.texi: Mention the calloc-posix module.
63709         * lib/stdlib_.h (calloc): New declaration.
63710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
63711         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
63712         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
63713         and HAVE_CALLOC_POSIX.
63714
63715 2007-09-09  Bruno Haible  <bruno@clisp.org>
63716
63717         Allow for modules to show an arbitrary notice.
63718         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
63719         * gnulib-tool: New option --extract-notice.
63720         (func_usage): Document it.
63721         (sed_extract_prog): Update.
63722         (func_get_notice): New function.
63723         (func_modules_notice): New function.
63724         (func_import, func_create_testdir): Invoke it.
63725         Suggested by Jim Meyering.
63726
63727 2007-09-09  Bruno Haible  <bruno@clisp.org>
63728
63729         * gnulib-tool: New options --verbose, --quiet.
63730         (func_usage): Document them.
63731         (verbose): New variable.
63732         (func_execute_command): New function.
63733         (func_import): Don't show the module list and the file list if
63734         $verbose < 0.
63735         (func_create_testdir): Likewise. Use func_execute_command.
63736         (func_create_megatestdir): Use func_execute_command.
63737
63738 2007-09-08  Bruno Haible  <bruno@clisp.org>
63739
63740         * gnulib-tool (func_import): Prefer rsync over wget when available,
63741         for fetching the PO files.
63742
63743 2007-09-08  Bruno Haible  <bruno@clisp.org>
63744
63745         * posix-modules: New file. Portions copied from gnulib-tool.
63746         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
63747
63748 2007-09-08  Jim Meyering  <jim@meyering.net>
63749
63750         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
63751         * lib/fpending.h: Rename from __fpending.h.
63752         * lib/fpending.c: Rename from __fpending.c.
63753         Include "fpending.h", not "__fpending.h".
63754         * lib/__fpending.h, lib/__fpending.c: Remove files.
63755         * modules/fpending (Files): Reflect new file names.
63756         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
63757
63758 2007-09-08  Bruno Haible  <bruno@clisp.org>
63759
63760         * m4/inttypes-h.m4: Remove stub file.
63761
63762 2007-09-07  Simon Josefsson  <simon@josefsson.org>
63763
63764         * doc/headers/stdint.texi: Discuss #include_next issue.
63765
63766 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
63767
63768         * build-aux/bootstrap: Remove obsolete comment about wget --help.
63769
63770 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63771
63772         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
63773         in variable name.
63774
63775 2007-09-03  Jim Meyering  <jim@meyering.net>
63776
63777         New module: git-version-gen.
63778         * modules/git-version-gen: New file.
63779
63780         Import changes from coreutils for bootstrap script.
63781
63782         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
63783
63784         bootstrap: uses rsync to download the .po files
63785         * build-aux/bootstrap (po_download_command_format): New global.
63786         (download_po_files): Use rsync.
63787         (update_po_files): Don't remove .po files after download,
63788         so future rsync runs can take advantage of the copies.
63789
63790         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
63791
63792         Solve the unnecessary-.po-file-regeneration problem once and for all.
63793         * build-aux/bootstrap (download_po_files): New function, renamed from
63794         get_translations.  Now, downloads, but doesn't update LINGUAS.
63795         (update_po_files): New function.
63796
63797         bootstrap: Ignore more.
63798         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
63799         uniwidth to e.g., lib/.gitignore.
63800         (slurp): Handle the sys_stat_.h -> sys mapping, too.
63801
63802         * build-aux/bootstrap: New setting: vc_ignore.
63803         (insert_sorted_if_absent): Create $file if absent.
63804         Adapt to new, possibly empty, list: $vc_ignore.
63805
63806         bootstrap: generate more ignorable names
63807         * build-aux/bootstrap (slurp): When generating ignorable names,
63808         also map .sin to .sed, .gperf to .c, and .y to .c.
63809
63810 2007-09-03  Jim Meyering  <jim@meyering.net>
63811
63812         * build-aux/git-version-gen: New file, from coreutils.  For details, see
63813         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
63814
63815 2007-09-02  Bruno Haible  <bruno@clisp.org>
63816
63817         Fix mis-recognition of 'mcs' on QNX 6.
63818         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
63819         output contains the string "Mono".
63820         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
63821         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
63822
63823 2007-09-01  Bruno Haible  <bruno@clisp.org>
63824
63825         Fix collision between uniwidth/* and linebreak modules.
63826         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
63827         u32_width): Remove declarations.
63828         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
63829         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
63830         streq3, streq2, streq1, streq0): Remove functions.
63831         (STREQ): Remove macro.
63832         (is_cjk_encoding): Remove function.
63833         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
63834         (uc_width, u8_width, u16_width, u32_width): Remove functions.
63835         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
63836         * NEWS: Document the change.
63837
63838 2007-09-01  Bruno Haible  <bruno@clisp.org>
63839
63840         * lib/streq.h: Add double-inclusion guard.
63841
63842 2007-09-01  Karl Berry  <karl@gnu.org>
63843
63844         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
63845
63846 2007-08-28  Jim Meyering  <jim@meyering.net>
63847
63848         Rename mreadlink_with_size to areadlink_with_size.
63849         * NEWS: Document the change.
63850         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
63851         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
63852         * lib/mreadlink.h: Rename this to...
63853         * lib/areadlink.h: ...this.
63854         * modules/mreadlink-with-size: Rename this to...
63855         * modules/areadlink-with-size: ...this.
63856         * lib/canonicalize.c: Reflect the renaming.
63857         * modules/canonicalize: Likewise.
63858
63859 2007-08-26  Bruno Haible  <bruno@clisp.org>
63860
63861         * gnulib-tool (func_import): When deciding which files to remove,
63862         consider also dangling symbolic links.
63863         Reported by Eric Blake.
63864
63865 2007-08-26  Bruno Haible  <bruno@clisp.org>
63866
63867         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
63868
63869 2007-08-23  Simon Josefsson  <simon@josefsson.org>
63870
63871         * lib/readline.c: Don't include getline.h, the prototype is now
63872         found in stdio.h.
63873
63874 2007-08-23  Jim Meyering  <jim@meyering.net>
63875
63876         Getdelim touchup.
63877         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
63878         around the funlockfile call, since funlockfile never sets errno.
63879         Don't set errno upon failed realloc.
63880
63881 2007-08-22  Eric Blake  <ebb9@byu.net>
63882
63883         Getline touchups.
63884         * lib/getdelim.c (getdelim): Revert regression that required *n to
63885         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
63886         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
63887         getdelim, rather than whether implementation is missing.
63888         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
63889         * lib/stdio_.h (getline): Also declare if replacement is
63890         required.
63891         * doc/functions/getdelim.texi: New file.
63892         * doc/functions/getline.texi: Likewise.
63893         * doc/gnulib.texi (Function Substitutes): Add new files.
63894         Reported by Bruno Haible.
63895
63896 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
63897
63898         * users.txt: Add Guile.
63899
63900 2007-08-22  Eric Blake  <ebb9@byu.net>
63901
63902         * tests/test-getdelim.c (main): Use remove, not unlink.
63903         * tests/test-getline.c (main): Likewise.
63904
63905         Move getline and getdelim into stdio.h, per POSIX 200x.
63906         * modules/getline (Files): Remove getline.h.
63907         (Depends-on): Add stdio.
63908         (configure.ac): Add module indicator.
63909         * modules/getdelim (Files): Remove getdelim.h.
63910         (Depends-on): Add stdio.
63911         (configure.ac): Add module indicator.
63912         * modules/stdio (Makefile.am): Work with new indicators.
63913         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63914         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
63915         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63916         * lib/getdelim.h: Delete.
63917         * lib/getline.h: Delete.
63918         * lib/stdio_.h (getdelim, getline): Declare.
63919         * modules/getdelim-tests: New module.
63920         * modules/getline-tests: Likewise.
63921         * tests/test-getdelim.c: New file.
63922         * tests/test-getline.c: Likewise.
63923         * NEWS: Document the change.
63924         * lib/getline.c: Update choice of header.
63925         * lib/csharpcomp.c: Likewise.
63926         * lib/getpass.c: Likewise.
63927         * lib/javacomp.c: Likewise.
63928         * lib/javaversion.c: Likewise.
63929         * lib/yesno.c: Likewise.
63930         * lib/getdelim.c: Likewise.
63931         (getdelim): Set errno on failure, and avoid memory leak.
63932
63933 2007-08-19  Bruno Haible  <bruno@clisp.org>
63934
63935         * modules/closein (Depends-on): Add freadahead.
63936         * lib/closein.c: Include freadahead.h.
63937         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
63938         is zero.
63939
63940 2007-08-19  Bruno Haible  <bruno@clisp.org>
63941
63942         * modules/freadahead-tests: New file.
63943         * tests/test-freadahead.sh: New file.
63944         * tests/test-freadahead.c: New file.
63945
63946         * modules/freadahead: New file.
63947         * lib/freadahead.h: New file.
63948         * lib/freadahead.c: New file.
63949         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
63950         fbufmode, fpurge, freadable, fwritable.
63951
63952 2007-08-19  Eric Blake  <ebb9@byu.net>
63953
63954         Test yesno in combination with closein.
63955         * lib/yesno.c (yesno): Document use of stdin.
63956         * modules/yesno-tests (Files): New module.
63957         * tests/test-yesno.c (main): New file.
63958         * tests/test-yesno.sh: Likewise.
63959
63960 2007-08-19  Bruno Haible  <bruno@clisp.org>
63961
63962         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
63963         * lib/fseeko.c (rpl_fseeko): Likewise.
63964         * lib/fseterr.c (fseterr): Likewise.
63965
63966 2007-08-19  Bruno Haible  <bruno@clisp.org>
63967
63968         * tests/test-lseek.c (main): Disable a test for BeOS.
63969         * doc/functions/lseek.texi: Document the BeOS bug.
63970
63971 2007-08-19  Bruno Haible  <bruno@clisp.org>
63972             Eric Blake  <ebb9@byu.net>
63973
63974         * lib/lseek.c: Include <sys/stat.h>.
63975         (rpl_lseek): Add workaround code also for Unix platforms.
63976         Needed for BeOS.
63977         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
63978         * doc/functions/lseek.texi: Document BeOS definiency.
63979
63980 2007-08-18  Bruno Haible  <bruno@clisp.org>
63981
63982         * modules/fstrcmp-tests: New file.
63983         * tests/test-fstrcmp.c: New file.
63984
63985 2007-08-18  Bruno Haible  <bruno@clisp.org>
63986
63987         * modules/fstrcmp: New file, from GNU gettext with modifications.
63988         * lib/fstrcmp.h: New file, from GNU gettext.
63989         * lib/fstrcmp.c: New file, from GNU gettext.
63990         * MODULES.html.sh (String handling): Add fstrcmp.
63991
63992 2007-08-18  Bruno Haible  <bruno@clisp.org>
63993
63994         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
63995         'bool'.
63996         (diag, compareseq): Remove const from the ctxt argument.
63997         (USE_HEURISTIC): Undefine at the end.
63998
63999 2007-08-18  Jim Meyering  <jim@meyering.net>
64000
64001         New file: lib/idcache.h
64002         * NEWS: Mention the addition.
64003         * modules/idcache (Files): Add lib/idcache.h
64004         * lib/idcache.c: Include "idcache.h".
64005         Don't include <sys/types.h>.
64006         Add a FIXME comment.
64007         Move file-scoped "static" declarations to the top.
64008         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64009
64010 2007-08-17  Bruno Haible  <bruno@clisp.org>
64011         and Paul Eggert  <eggert@cs.ucla.edu>
64012
64013         * MODULES.html.sh: Add diffseq.
64014         * modules/diffseq: New file.
64015         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64016         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64017
64018 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64019
64020         Import changes from coreutils for bootstrap script.
64021
64022         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64023
64024         * build-aux/bootstrap (slurp): Work even in environments where
64025         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64026         current code does not slurp files whose names start with ".", and
64027         this looks like it might be a troublesome area.
64028
64029         2007-07-11  Jim Meyering  <jim@meyering.net>
64030
64031         If there's a GPL vN copyright comment, require that N == 3.
64032
64033         2007-07-08  Jim Meyering  <jim@meyering.net>
64034
64035         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64036         * build-aux/bootstrap (mam_template): Move definition out of loop.
64037
64038         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64039
64040         * build-aux/bootstrap (symlink_to_dir): Rename function from
64041         symlink_to_gnulib.  Add a directory parameter.  Update all
64042         callers.
64043         (cp_mark_as_generated): Also check for -- and link to -- files in
64044         gl/.
64045
64046         2007-07-08  Jim Meyering  <jim@meyering.net>
64047
64048         Adapt to deeper hierarchy in gnulib.
64049         * build-aux/bootstrap (symlink_to_dir): If the destination
64050         directory doesn't exist, create it. This is required at least for
64051         "lib/uniwidth/cjk.h".
64052
64053         2007-05-15  Jim Meyering  <jim@meyering.net>
64054
64055         * build-aux/bootstrap: Now that generated Makefile.am files
64056         are no longer under version control, they must be created at
64057         bootstrap time.
64058
64059 2007-08-14  Ben Pfaff  <blp@gnu.org>
64060
64061         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64062
64063 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64064
64065         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64066         given the changes below.
64067         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64068         even on hosts that have padding bits beyond the supported 64.
64069
64070 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64071
64072         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64073         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64074         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64075         depends on it.
64076         (xstrtol_error): Remove.
64077         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64078         but with a different signature.
64079         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64080         * lib/xstrtol-error.c: Include exitfail.h.
64081         (xstrtol_fatal): New function, with a different signature from the
64082         old xstrtol_error, so that the caller need not worry about passing
64083         in an exit status, or about storage management of the option argument.
64084         (xstrtol_error): Now a static function.  Redo signature to
64085         implement xstrtol_fatal.  Output the correct number of hyphens in
64086         front of the option so that the caller need not worry about
64087         storage management.
64088         (N_): New macro.
64089         (_): Remove; not used now.
64090         * modules/xstrtol: Depend on getopt.
64091         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64092         of old STRTOL_FATAL_ERROR macro.
64093         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64094         of test program.
64095         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64096         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64097
64098 2007-08-08  Eric Blake  <ebb9@byu.net>
64099
64100         * lib/xstrtol-error.c: Add missing include.
64101
64102         Move xstrtol messages into gnulib domain, when --pobase is used.
64103         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64104         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64105         * modules/xstrtol (Files): Distribute new file.
64106         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64107         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64108         * tests/test-xstrtol.c: ...into new file.
64109         * tests/test-xstrtoul.c: Also test xstrtoul.
64110         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64111         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64112         * tests/test-xstrtol.sh: Drive the tests.
64113         * tests/test-xstrtoimax.sh: Likewise.
64114         * tests/test-xstrtoumax.sh: Likewise.
64115         * modules/xstrtol-tests: New module.
64116         * modules/xstrtoimax-tests: Likewise.
64117         * modules/xstrtoumax-tests: Likewise.
64118
64119 2007-08-08  Jim Meyering  <jim@meyering.net>
64120
64121         New function: mfile_name_concat.
64122         * lib/filenamecat.c (mfile_name_concat): New function, just like
64123         file_name_concat, but return NULL upon failure rather than exiting
64124         with a diagnostic.
64125         * lib/filenamecat.h: Declare it.
64126
64127 2007-08-07  Bruno Haible  <bruno@clisp.org>
64128
64129         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64130         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64131         warning from gcc.
64132         Reported by Eric Blake.
64133
64134 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64135
64136         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64137         * modules/crypto/arcfour (License): Likewise.
64138         * modules/crypto/des-tests (License): Likewise.
64139         * modules/crypto/gc-arctwo-tests (License): Likewise.
64140         * modules/crypto/gc-des-tests (License): Likewise.
64141         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64142         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64143         * modules/crypto/gc-md2-tests (License): Likewise.
64144         * modules/crypto/gc-md4-tests (License): Likewise.
64145         * modules/crypto/gc-md5-tests (License): Likewise.
64146         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64147         * modules/crypto/gc-rijndael-tests (License): Likewise.
64148         * modules/crypto/gc-sha1-tests (License): Likewise.
64149         * modules/crypto/gc-tests (License): Likewise.
64150         * modules/crypto/hmac-md5 (License): Likewise.
64151         * modules/crypto/hmac-sha1 (License): Likewise.
64152         * modules/crypto/md2-tests (License): Likewise.
64153         * modules/crypto/md4-tests (License): Likewise.
64154         * modules/crypto/md5 (License): Likewise.
64155         * modules/crypto/rijndael (License): Likewise.
64156         * modules/crypto/sha1 (License): Likewise.
64157         * modules/memxor (License): Likewise.
64158
64159 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64160         and Bruno Haible  <bruno@clisp.org>
64161
64162         * NEWS: Describe interface changes to human, xstrtol.
64163         * lib/human.h: Include <xstrtol.h>.
64164         (human_options): Return enum strtol_error, not int.  Remove
64165         bool arg; take int * instead.
64166         * lib/human.c: Don't include "gettext.h".
64167         (_): Remove; no longer used.
64168         Don't include <xstrtol.h>, since human.h does it.
64169         (human_options): Adjust to abovementioned interface changes.
64170         Do not report error to stderr; that's now the caller's
64171         responsibility.
64172         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
64173         interface change.
64174         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
64175         Str, Argument_type_string.  All uses changed.  Put " argument"
64176         in diagnostics to make them clearer.  Change wording of suffix
64177         message for clarity.
64178         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
64179         Argument_type_string.
64180         (STRTOL_FATAL_WARN): Remove; no longer used.
64181         * modules/human (Depends-on): Remove gettext-h.
64182
64183 2007-08-06  Simon Josefsson  <simon@josefsson.org>
64184
64185         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
64186
64187 2007-07-31  Bruno Haible  <bruno@clisp.org>
64188
64189         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
64190         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
64191         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
64192
64193 2007-07-31  Bruno Haible  <bruno@clisp.org>
64194
64195         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
64196         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
64197
64198 2007-07-30  Bruno Haible  <bruno@clisp.org>
64199
64200         * modules/base64 (License): Use the synonymous term "LGPLv2+".
64201         * modules/c-ctype (License): Likewise.
64202         * modules/c-strcase (License): Likewise.
64203         * modules/check-version (License): Likewise.
64204         * modules/iconv (License): Likewise.
64205         * modules/iconv_open (License): Likewise.
64206         * modules/read-file (License): Likewise.
64207         * modules/striconv (License): Likewise.
64208         * modules/strverscmp (License): Likewise.
64209         * modules/vasprintf (License): Likewise.
64210         * modules/crypto/des (License): Likewise.
64211         * modules/crypto/gc (License): Likewise.
64212         * modules/crypto/gc-arcfour (License): Likewise.
64213         * modules/crypto/gc-arctwo (License): Likewise.
64214         * modules/crypto/gc-des (License): Likewise.
64215         * modules/crypto/gc-hmac-md5 (License): Likewise.
64216         * modules/crypto/gc-hmac-sha1 (License): Likewise.
64217         * modules/crypto/gc-md2 (License): Likewise.
64218         * modules/crypto/gc-md4 (License): Likewise.
64219         * modules/crypto/gc-md5 (License): Likewise.
64220         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
64221         * modules/crypto/gc-random (License): Likewise.
64222         * modules/crypto/gc-rijndael (License): Likewise.
64223         * modules/crypto/gc-sha1 (License): Likewise.
64224         * modules/crypto/md2 (License): Likewise.
64225         * modules/crypto/md4 (License): Likewise.
64226
64227 2007-07-30  Jim Meyering  <jim@meyering.net>
64228
64229         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
64230         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
64231         it has valid stat data.  This bug would cause du not to count the
64232         sizes of inaccessible directories.
64233         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
64234         in <http://bugzilla.redhat.com/250077>.
64235
64236 2007-07-25  Peter O'Gorman  <peter@pogma.com>
64237             Bruno Haible  <bruno@clisp.org>
64238
64239         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
64240         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
64241         #include_next, gives a diagnostic about it, but reports no error in
64242         the exit code.
64243         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
64244
64245 2007-07-24  Ben Pfaff  <blp@gnu.org>
64246
64247         Improve name: "count-one-bits" is better than "popcount".
64248         * MODULES.html.sh: Update name.
64249         * lib/popcount.h: Renamed lib/count-one-bits.h.
64250         (popcount): Renamed count_one_bits.
64251         (popcountl): Renamed count_one_bits_l.
64252         (popcountll): Renamed count_one_bits_ll.
64253         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
64254         * modules/popcount: Renamed module/count-one-bits.
64255         * modules/popcount-tests: Renamed module/count-one-bits-tests.
64256         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
64257
64258 2007-07-23  Ben Pfaff  <blp@gnu.org>
64259
64260         * lib/popcount.h (popcount32): Reduce size of constants, to allow
64261         better code generation, and add U to large constants to avoid
64262         warnings, in non-GCC case.
64263         Suggested by Bruno Haible.
64264
64265 2007-07-23  Ben Pfaff  <blp@gnu.org>
64266
64267         * lib/popcount.h: Use verify_true instead of if...abort.
64268         * modules/popcount: Depend on verify module.
64269         Suggested by Jim Meyering.
64270
64271 2007-07-23  Bruno Haible  <bruno@clisp.org>
64272
64273         * gnulib-tool (func_import): Create a .cvsignore file also when the
64274         directory is not yet in CVS but the toplevel directory is. When
64275         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
64276         Reported by Karl Berry.
64277
64278 2007-07-22  Ben Pfaff  <blp@gnu.org>
64279
64280         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
64281         case.
64282         Suggested by Eric Blake.
64283
64284 2007-07-22  Ben Pfaff  <blp@gnu.org>
64285
64286         New module: popcount.
64287         * MODULES.html.sh: Add popcount.
64288         * modules/popcount: New file.
64289         * modules/popcount-tests: New file.
64290         * tests/test-popcount.c: New file.
64291         * lib/popcount.h: New file.
64292         * m4/popcount.m4: New file.
64293
64294 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64295
64296         * build-aux/announce-gen: Update to GPLv3.
64297
64298         * build-aux/config.guess: Update from config.
64299
64300 2007-07-21  Bruno Haible  <bruno@clisp.org>
64301
64302         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
64303         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
64304
64305 2007-07-20  Jim Meyering  <jim@meyering.net>
64306
64307         * check-module: Diagnose a self-dependency.
64308
64309 2007-07-19  Bruno Haible  <bruno@clisp.org>
64310
64311         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
64312         empty.
64313         Reported by Eric Blake.
64314
64315 2007-07-18  Bruno Haible  <bruno@clisp.org>
64316
64317         * gnulib-tool: New options --po-base, --po-domain.
64318         (func_usage): Document them.
64319         (pobase, po_domain): New variables.
64320         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
64321         DEFAULT_TEXT_DOMAIN.
64322         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
64323         (func_import): Consider pobase and po_domain. Create a po/ directory.
64324         (func_create_testdir): Set pobase and po_domain to empty.
64325         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
64326         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
64327
64328 2007-07-18  Bruno Haible  <bruno@clisp.org>
64329
64330         * gnulib-tool (func_get_automake_snippet): Synthesize also an
64331         EXTRA_DIST augmentation for files in build-aux/.
64332
64333 2007-07-16  Bruno Haible  <bruno@clisp.org>
64334
64335         * modules/lseek (License): Use the synonymous term "LGPLv2+".
64336         * modules/getdelim (License): Likewise.
64337
64338 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64339
64340         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
64341         * modules/d-type (License): Likewise.
64342         * modules/extensions (License): Likewise.
64343         * modules/fnmatch (License): Likewise.
64344         * modules/fseeko (License): Likewise.
64345         * modules/getaddrinfo (License): Likewise.
64346         * modules/getline (License): Likewise.
64347         * modules/getlogin_r (License): Likewise.
64348         * modules/getpass (License): Likewise.
64349         * modules/gettimeofday (License): Likewise.
64350         * modules/glob (License): Likewise.
64351         * modules/inet_ntop (License): Likewise.
64352         * modules/malloc (License): Likewise.
64353         * modules/malloca (License): Likewise.
64354         * modules/memmem (License): Likewise.
64355         * modules/mempcpy (License): Likewise.
64356         * modules/memset (License): Likewise.
64357         * modules/minmax (License): Likewise.
64358         * modules/mktime (License): Likewise.
64359         * modules/netinet_in (License): Likewise.
64360         * modules/pathmax (License): Likewise.
64361         * modules/poll (License): Likewise.
64362         * modules/regex (License): Likewise.
64363         * modules/snprintf (License): Likewise.
64364         * modules/stdbool (License): Likewise.
64365         * modules/stdint (License): Likewise.
64366         * modules/stdio (License): Likewise.
64367         * modules/strcase (License): Likewise.
64368         * modules/strcasestr (License): Likewise.
64369         * modules/strdup (License): Likewise.
64370         * modules/string (License): Likewise.
64371         * modules/strndup (License): Likewise.
64372         * modules/strnlen (License): Likewise.
64373         * modules/strpbrk (License): Likewise.
64374         * modules/strptime (License): Likewise.
64375         * modules/strsep (License): Likewise.
64376         * modules/sys_select (License): Likewise.
64377         * modules/sys_socket (License): Likewise.
64378         * modules/sys_stat (License): Likewise.
64379         * modules/sys_time (License): Likewise.
64380         * modules/time (License): Likewise.
64381         * modules/time_r (License): Likewise.
64382         * modules/timegm (License): Likewise.
64383         * modules/unistd (License): Likewise.
64384         * modules/vsnprintf (License): Likewise.
64385         * modules/wctype (License): Likewise.
64386
64387 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64388
64389         * modules/argz (License): LGPLv2+.
64390
64391 2007-07-15  Karl Berry  <karl@gnu.org>
64392
64393         * doc/gnulib.texi: revise node structure per new fdl.texi.
64394
64395 2007-07-14  Bruno Haible  <bruno@clisp.org>
64396
64397         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
64398         the output file.
64399         * lib/uniname/uninames.h: Regenerated.
64400
64401 2007-07-14  Karl Berry  <karl@gnu.org>
64402
64403         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
64404         omitting sectioning and index commands.
64405
64406 2007-07-13  Bruno Haible  <bruno@clisp.org>
64407
64408         New gnulib-tool option --more-symlinks.
64409         * gnulib-tool (func_usage): Document --more-symlinks.
64410         (do_copyrights): New variable.
64411         Recognize option --more-symlinks.
64412         (func_import): Don't add a copyright notice transform to
64413         sed_transform_lib_file if do_copyrights is empty.
64414
64415 2007-07-13  Bruno Haible  <bruno@clisp.org>
64416
64417         * lib/vasnprintf.c (decimal_point_char): Define also if
64418         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
64419         && !NEED_PRINTF_DIRECTIVE_A.
64420         Reported by Clemens Koller <clemens.koller@anagramm.de> via
64421         Gary V. Vaughan <gary@gnu.org>.
64422
64423 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
64424
64425         * lib/inttypes_.h: Undo previous change, since it was fixed
64426         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
64427
64428 2007-07-13  Bruno Haible  <bruno@clisp.org>
64429
64430         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
64431         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
64432
64433 2007-07-13  Jim Meyering  <jim@meyering.net>
64434
64435         df: Don't fail for Tru64's "file-on-file mount".
64436         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
64437         so we fall through and use statfs instead.  Details here:
64438         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
64439         Reported by Albert Chin.
64440
64441 2007-07-13  Bruno Haible  <bruno@clisp.org>
64442
64443         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
64444         * modules/configmake (License): Likewise.
64445         * modules/gettext (License): Likewise.
64446         * modules/gettext-h (License): Likewise.
64447         * modules/include_next (License): Likewise.
64448         * modules/link-warning (License): Likewise.
64449         * modules/localcharset (License): Likewise.
64450         * modules/localename (License): Likewise.
64451         * modules/lock (License): Likewise.
64452         * modules/relocatable-lib-lgpl (License): Likewise.
64453         * modules/size_max (License): Likewise.
64454         * modules/vasnprintf (License): Likewise.
64455         * modules/wchar (License): Likewise.
64456         * modules/xsize (License): Likewise.
64457
64458 2007-07-13  Bruno Haible  <bruno@clisp.org>
64459
64460         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
64461         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
64462
64463 2007-07-12  Bruno Haible  <bruno@clisp.org>
64464
64465         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
64466         in the modules files.
64467
64468 2007-07-11  Karl Berry  <karl@gnu.org>
64469
64470         * MODULES.html.sh (func_module): use
64471          sed -e '\|^'"${includefile}"'$|d'
64472          instead of /.../d, to avoid errors on $includefile's containing /.
64473
64474 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
64475
64476         * gnulib-tool (func_import): Avoid duplication of --avoid
64477         statements
64478         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
64479         names to `_' in variable names.
64480
64481 2007-07-10  Eric Blake  <ebb9@byu.net>
64482
64483         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
64484         * NEWS: Document this change.
64485
64486 2007-07-08  Bruno Haible  <bruno@clisp.org>
64487
64488         Update to Unicode 5.0.
64489         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
64490         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
64491         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
64492         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
64493         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
64494         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
64495         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
64496         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
64497         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
64498         U+10A3F, U+1D242..U+1D244.
64499         (nonspacing_table_ind): Update.
64500         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
64501         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
64502
64503 2007-07-08  Bruno Haible  <bruno@clisp.org>
64504
64505         Update to Unicode 5.0.
64506         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
64507         code transform. Extend the name index field of unicode_name_to_code and
64508         unicode_code_to_name from 16 to 24 bits.
64509         * lib/uniname/uniname.c (unicode_character_name,
64510         unicode_name_character): Add the range 0x12xxx to the code transform.
64511         * lib/uniname/uninames.h: Regenerated.
64512         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
64513
64514 2007-07-07  Bruno Haible  <bruno@clisp.org>
64515
64516         * modules/wcwidth-tests: New file.
64517         * tests/test-wcwidth.c: New file.
64518
64519         Work around MacOS X wcwidth() bug.
64520         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
64521         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
64522         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
64523         original wcwidth in non-UTF-8 locales.
64524         * modules/wcwidth (Depends-on): Add localcharset, streq,
64525         uniwidth/width.
64526         * doc/functions/wcwidth.texi: Update.
64527
64528 2007-07-07  Bruno Haible  <bruno@clisp.org>
64529
64530         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
64531         (wcwidth): New declaration.
64532         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
64533         macros.
64534         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
64535         here. Prepare for creating <wchar.h> unconditionally.
64536         * modules/wchar (Depends-on): Add link-warning.
64537         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
64538         REPLACE_WCWIDTH, and GL_LINK_WARNING.
64539         * lib/wcwidth.h: Remove file.
64540         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
64541         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
64542         * modules/wcwidth (Files): Remove lib/wcwidth.h.
64543         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
64544         (Include): Replace wcwidth.h with <wchar.h>.
64545         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
64546         * lib/mbchar.h: Don't include wcwidth.h.
64547         * lib/mbswidth.c: Likewise.
64548         * NEWS: Mention the change.
64549
64550 2007-07-07  Bruno Haible  <bruno@clisp.org>
64551
64552         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
64553         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
64554         definition with an external declaration.
64555         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
64556         defined as a function. Remove AC_C_INLINE requirement.
64557         * modules/wcwidth (Files): Add lib/wcwidth.c.
64558         (Makefile.am): Remove redundant statement.
64559
64560 2007-07-07  Bruno Haible  <bruno@clisp.org>
64561
64562         * MODULES.html.sh (Unicode string functions): Add the new modules.
64563
64564         * tests/uniwidth/test-u32-strwidth.c: New file.
64565         * modules/uniwidth/u32-strwidth-tests: New file.
64566
64567         * lib/uniwidth/u32-strwidth.c: New file.
64568         * modules/uniwidth/u32-strwidth: New file.
64569
64570         * tests/uniwidth/test-u16-strwidth.c: New file.
64571         * modules/uniwidth/u16-strwidth-tests: New file.
64572
64573         * lib/uniwidth/u16-strwidth.c: New file.
64574         * modules/uniwidth/u16-strwidth: New file.
64575
64576         * tests/uniwidth/test-u8-strwidth.c: New file.
64577         * modules/uniwidth/u8-strwidth-tests: New file.
64578
64579         * lib/uniwidth/u8-strwidth.c: New file.
64580         * modules/uniwidth/u8-strwidth: New file.
64581
64582         * tests/uniwidth/test-u32-width.c: New file.
64583         * modules/uniwidth/u32-width-tests: New file.
64584
64585         * lib/uniwidth/u32-width.c: New file.
64586         * modules/uniwidth/u32-width: New file.
64587
64588         * tests/uniwidth/test-u16-width.c: New file.
64589         * modules/uniwidth/u16-width-tests: New file.
64590
64591         * lib/uniwidth/u16-width.c: New file.
64592         * modules/uniwidth/u16-width: New file.
64593
64594         * tests/uniwidth/test-u8-width.c: New file.
64595         * modules/uniwidth/u8-width-tests: New file.
64596
64597         * lib/uniwidth/u8-width.c: New file.
64598         * modules/uniwidth/u8-width: New file.
64599
64600         * tests/uniwidth/test-uc_width.c: New file.
64601         * modules/uniwidth/width-tests: New file.
64602
64603         * lib/uniwidth/width.c: New file, from GNU libiconv.
64604         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
64605         * modules/uniwidth/width: New file.
64606
64607         * lib/uniwidth.h: New file, from GNU libiconv.
64608         * modules/uniwidth/base: New file.
64609
64610 2007-07-07  Bruno Haible  <bruno@clisp.org>
64611
64612         * lib/uniname.h: New file, from GNU gettext.
64613         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
64614         * lib/uniname/uninames.h: New file, from GNU gettext.
64615         * lib/uniname/uniname.c: New file, from GNU gettext.
64616         * tests/uniname/test-uninames.sh: New file.
64617         * tests/uniname/test-uninames.c: New file, from GNU gettext.
64618         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
64619         * modules/uniname/base: New file.
64620         * modules/uniname/uniname: New file.
64621         * modules/uniname/uniname-tests: New file.
64622         * MODULES.html.sh (Unicode string functions): Add the new modules.
64623
64624 2007-07-06  Bruno Haible  <bruno@clisp.org>
64625
64626         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
64627
64628 2007-07-06  Bruno Haible  <bruno@clisp.org>
64629
64630         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
64631         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
64632         includes <cygwin/sys_time.h> which includes <sys/select.h> which
64633         include <sys/time.h>.
64634         Reported by Eric Blake.
64635
64636 2007-07-06  Eric Blake  <ebb9@byu.net>
64637
64638         Fix testing canonicalize on cygwin.
64639         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
64640         Revert patch from 2007-06-19.
64641         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
64642         canonicalize module is also in use.
64643         * tests/test-canonicalize.c: New file.
64644         * tests/test-canonicalize.sh: Likewise.
64645         * modules/canonicalize-tests: Likewise.
64646
64647 2007-07-06  Jim Meyering  <jim@meyering.net>
64648
64649         * lib/getugroups.c (getugroups): Detect getgrent failure.
64650         Adjust comment to reflect reality: this function may return -1.
64651
64652 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
64653
64654         * build-aux/bootstrap (TP_URL,get_translations): Update to use
64655         the new TP address.
64656         (usage): Fix typo
64657         (gnulib_mk): New variable.
64658
64659 2007-07-05  Jim Meyering  <jim@meyering.net>
64660
64661         Don't let endgrent clobber errno, no matter how improbable.
64662         * lib/getugroups.c (getugroups): Save and restore errno around
64663         endgrent call.
64664
64665         Close the group DB even when failing with 2^31 or more members.
64666         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
64667
64668 2007-07-04  Jim Meyering  <jim@meyering.net>
64669
64670         * lib/getugroups.h: New file.
64671         * lib/getugroups.c: Include "getugroups.h".
64672         Remove uses of "register" keyword.
64673         Move local variable, "cp", down into scope where used.
64674         Give "username" parameter the "const" attribute.
64675         * modules/getugroups (Files): Add lib/getugroups.h
64676
64677 2007-07-04  Karl Berry  <karl@gnu.org>
64678
64679         * MODULES.html.sh (func_all_modules): Complete rename of
64680         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
64681
64682 2007-07-02  Bruno Haible  <bruno@clisp.org>
64683
64684         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
64685         mode, when inttypes.h comes from gnulib.
64686         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
64687
64688 2007-07-02  Simon Josefsson  <simon@josefsson.org>
64689
64690         * NEWS: Mention lgpl module name change.
64691
64692         * modules/lgpl-2.1: Renamed from lgpl.
64693
64694         * NEWS: Mention gpl module name change.
64695
64696         * modules/gpl-3.0: New file, based on gpl-2.0.
64697
64698         * modules/gpl-2.0: Renamed from gpl.
64699
64700         * modules/gpl: Fix filename, doc/gpl.texi is now found at
64701         doc/gpl-2.0.texi.
64702
64703 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64704
64705         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
64706         #define __STDC_LIMIT_MACROS temporarily while including
64707         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
64708         Problem reported by Joel E. Denny in
64709         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
64710
64711 2007-07-01  Bruno Haible  <bruno@clisp.org>
64712
64713         * lib/unistdio.h: New file.
64714         * lib/unistdio/u-asnprintf.h: New file.
64715         * lib/unistdio/u-asprintf.h: New file.
64716         * lib/unistdio/u-printf-args.c: New file.
64717         * lib/unistdio/u-printf-args.h: New file.
64718         * lib/unistdio/u-printf-parse.h: New file.
64719         * lib/unistdio/u-snprintf.h: New file.
64720         * lib/unistdio/u-sprintf.h: New file.
64721         * lib/unistdio/u-vasprintf.h: New file.
64722         * lib/unistdio/u-vsnprintf.h: New file.
64723         * lib/unistdio/u-vsprintf.h: New file.
64724         * lib/unistdio/ulc-asnprintf.c: New file.
64725         * lib/unistdio/ulc-asprintf.c: New file.
64726         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
64727         * lib/unistdio/ulc-printf-parse.c: New file.
64728         * lib/unistdio/ulc-snprintf.c: New file.
64729         * lib/unistdio/ulc-sprintf.c: New file.
64730         * lib/unistdio/ulc-vasnprintf.c: New file.
64731         * lib/unistdio/ulc-vasprintf.c: New file.
64732         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
64733         * lib/unistdio/ulc-vsnprintf.c: New file.
64734         * lib/unistdio/ulc-vsprintf.c: New file.
64735         * lib/unistdio/u8-asnprintf.c: New file.
64736         * lib/unistdio/u8-asprintf.c: New file.
64737         * lib/unistdio/u8-printf-parse.c: New file.
64738         * lib/unistdio/u8-snprintf.c: New file.
64739         * lib/unistdio/u8-sprintf.c: New file.
64740         * lib/unistdio/u8-vasnprintf.c: New file.
64741         * lib/unistdio/u8-vasprintf.c: New file.
64742         * lib/unistdio/u8-vsnprintf.c: New file.
64743         * lib/unistdio/u8-vsprintf.c: New file.
64744         * lib/unistdio/u8-u8-asnprintf.c: New file.
64745         * lib/unistdio/u8-u8-asprintf.c: New file.
64746         * lib/unistdio/u8-u8-snprintf.c: New file.
64747         * lib/unistdio/u8-u8-sprintf.c: New file.
64748         * lib/unistdio/u8-u8-vasnprintf.c: New file.
64749         * lib/unistdio/u8-u8-vasprintf.c: New file.
64750         * lib/unistdio/u8-u8-vsnprintf.c: New file.
64751         * lib/unistdio/u8-u8-vsprintf.c: New file.
64752         * lib/unistdio/u16-asnprintf.c: New file.
64753         * lib/unistdio/u16-asprintf.c: New file.
64754         * lib/unistdio/u16-printf-parse.c: New file.
64755         * lib/unistdio/u16-snprintf.c: New file.
64756         * lib/unistdio/u16-sprintf.c: New file.
64757         * lib/unistdio/u16-vasnprintf.c: New file.
64758         * lib/unistdio/u16-vasprintf.c: New file.
64759         * lib/unistdio/u16-vsnprintf.c: New file.
64760         * lib/unistdio/u16-vsprintf.c: New file.
64761         * lib/unistdio/u16-u16-asnprintf.c: New file.
64762         * lib/unistdio/u16-u16-asprintf.c: New file.
64763         * lib/unistdio/u16-u16-snprintf.c: New file.
64764         * lib/unistdio/u16-u16-sprintf.c: New file.
64765         * lib/unistdio/u16-u16-vasnprintf.c: New file.
64766         * lib/unistdio/u16-u16-vasprintf.c: New file.
64767         * lib/unistdio/u16-u16-vsnprintf.c: New file.
64768         * lib/unistdio/u16-u16-vsprintf.c: New file.
64769         * lib/unistdio/u32-asnprintf.c: New file.
64770         * lib/unistdio/u32-asprintf.c: New file.
64771         * lib/unistdio/u32-printf-parse.c: New file.
64772         * lib/unistdio/u32-snprintf.c: New file.
64773         * lib/unistdio/u32-sprintf.c: New file.
64774         * lib/unistdio/u32-vasnprintf.c: New file.
64775         * lib/unistdio/u32-vasprintf.c: New file.
64776         * lib/unistdio/u32-vsnprintf.c: New file.
64777         * lib/unistdio/u32-vsprintf.c: New file.
64778         * lib/unistdio/u32-u32-asnprintf.c: New file.
64779         * lib/unistdio/u32-u32-asprintf.c: New file.
64780         * lib/unistdio/u32-u32-snprintf.c: New file.
64781         * lib/unistdio/u32-u32-sprintf.c: New file.
64782         * lib/unistdio/u32-u32-vasnprintf.c: New file.
64783         * lib/unistdio/u32-u32-vasprintf.c: New file.
64784         * lib/unistdio/u32-u32-vsnprintf.c: New file.
64785         * lib/unistdio/u32-u32-vsprintf.c: New file.
64786         * tests/unistdio/test-ulc-asnprintf1.c: New file.
64787         * tests/unistdio/test-ulc-asnprintf1.h: New file.
64788         * tests/unistdio/test-ulc-printf1.h: New file.
64789         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
64790         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
64791         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
64792         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
64793         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
64794         * tests/unistdio/test-ulc-vasprintf1.c: New file.
64795         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
64796         * tests/unistdio/test-ulc-vsprintf1.c: New file.
64797         * tests/unistdio/test-u8-asnprintf1.c: New file.
64798         * tests/unistdio/test-u8-asnprintf1.h: New file.
64799         * tests/unistdio/test-u8-printf1.h: New file.
64800         * tests/unistdio/test-u8-vasnprintf1.c: New file.
64801         * tests/unistdio/test-u8-vasnprintf2.c: New file.
64802         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
64803         * tests/unistdio/test-u8-vasnprintf3.c: New file.
64804         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
64805         * tests/unistdio/test-u8-vasprintf1.c: New file.
64806         * tests/unistdio/test-u8-vsnprintf1.c: New file.
64807         * tests/unistdio/test-u8-vsprintf1.c: New file.
64808         * tests/unistdio/test-u16-asnprintf1.c: New file.
64809         * tests/unistdio/test-u16-asnprintf1.h: New file.
64810         * tests/unistdio/test-u16-printf1.h: New file.
64811         * tests/unistdio/test-u16-vasnprintf1.c: New file.
64812         * tests/unistdio/test-u16-vasnprintf2.c: New file.
64813         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
64814         * tests/unistdio/test-u16-vasnprintf3.c: New file.
64815         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
64816         * tests/unistdio/test-u16-vasprintf1.c: New file.
64817         * tests/unistdio/test-u16-vsnprintf1.c: New file.
64818         * tests/unistdio/test-u16-vsprintf1.c: New file.
64819         * tests/unistdio/test-u32-asnprintf1.c: New file.
64820         * tests/unistdio/test-u32-asnprintf1.h: New file.
64821         * tests/unistdio/test-u32-printf1.h: New file.
64822         * tests/unistdio/test-u32-vasnprintf1.c: New file.
64823         * tests/unistdio/test-u32-vasnprintf2.c: New file.
64824         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
64825         * tests/unistdio/test-u32-vasnprintf3.c: New file.
64826         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
64827         * tests/unistdio/test-u32-vasprintf1.c: New file.
64828         * tests/unistdio/test-u32-vsnprintf1.c: New file.
64829         * tests/unistdio/test-u32-vsprintf1.c: New file.
64830         * modules/unistdio/base: New file.
64831         * modules/unistdio/u-printf-args: New file.
64832         * modules/unistdio/ulc-asnprintf: New file.
64833         * modules/unistdio/ulc-asprintf: New file.
64834         * modules/unistdio/ulc-fprintf: New file.
64835         * modules/unistdio/ulc-printf-parse: New file.
64836         * modules/unistdio/ulc-snprintf: New file.
64837         * modules/unistdio/ulc-sprintf: New file.
64838         * modules/unistdio/ulc-vasnprintf: New file.
64839         * modules/unistdio/ulc-vasprintf: New file.
64840         * modules/unistdio/ulc-vfprintf: New file.
64841         * modules/unistdio/ulc-vsnprintf: New file.
64842         * modules/unistdio/ulc-vsprintf: New file.
64843         * modules/unistdio/u8-asnprintf: New file.
64844         * modules/unistdio/u8-asprintf: New file.
64845         * modules/unistdio/u8-printf-parse: New file.
64846         * modules/unistdio/u8-snprintf: New file.
64847         * modules/unistdio/u8-sprintf: New file.
64848         * modules/unistdio/u8-vasnprintf: New file.
64849         * modules/unistdio/u8-vasprintf: New file.
64850         * modules/unistdio/u8-vsnprintf: New file.
64851         * modules/unistdio/u8-vsprintf: New file.
64852         * modules/unistdio/u8-u8-asnprintf: New file.
64853         * modules/unistdio/u8-u8-asprintf: New file.
64854         * modules/unistdio/u8-u8-snprintf: New file.
64855         * modules/unistdio/u8-u8-sprintf: New file.
64856         * modules/unistdio/u8-u8-vasnprintf: New file.
64857         * modules/unistdio/u8-u8-vasprintf: New file.
64858         * modules/unistdio/u8-u8-vsnprintf: New file.
64859         * modules/unistdio/u8-u8-vsprintf: New file.
64860         * modules/unistdio/u16-asnprintf: New file.
64861         * modules/unistdio/u16-asprintf: New file.
64862         * modules/unistdio/u16-printf-parse: New file.
64863         * modules/unistdio/u16-snprintf: New file.
64864         * modules/unistdio/u16-sprintf: New file.
64865         * modules/unistdio/u16-vasnprintf: New file.
64866         * modules/unistdio/u16-vasprintf: New file.
64867         * modules/unistdio/u16-vsnprintf: New file.
64868         * modules/unistdio/u16-vsprintf: New file.
64869         * modules/unistdio/u16-u16-asnprintf: New file.
64870         * modules/unistdio/u16-u16-asprintf: New file.
64871         * modules/unistdio/u16-u16-snprintf: New file.
64872         * modules/unistdio/u16-u16-sprintf: New file.
64873         * modules/unistdio/u16-u16-vasnprintf: New file.
64874         * modules/unistdio/u16-u16-vasprintf: New file.
64875         * modules/unistdio/u16-u16-vsnprintf: New file.
64876         * modules/unistdio/u16-u16-vsprintf: New file.
64877         * modules/unistdio/u32-asnprintf: New file.
64878         * modules/unistdio/u32-asprintf: New file.
64879         * modules/unistdio/u32-printf-parse: New file.
64880         * modules/unistdio/u32-snprintf: New file.
64881         * modules/unistdio/u32-sprintf: New file.
64882         * modules/unistdio/u32-vasnprintf: New file.
64883         * modules/unistdio/u32-vasprintf: New file.
64884         * modules/unistdio/u32-vsnprintf: New file.
64885         * modules/unistdio/u32-vsprintf: New file.
64886         * modules/unistdio/u32-u32-asnprintf: New file.
64887         * modules/unistdio/u32-u32-asprintf: New file.
64888         * modules/unistdio/u32-u32-snprintf: New file.
64889         * modules/unistdio/u32-u32-sprintf: New file.
64890         * modules/unistdio/u32-u32-vasnprintf: New file.
64891         * modules/unistdio/u32-u32-vasprintf: New file.
64892         * modules/unistdio/u32-u32-vsnprintf: New file.
64893         * modules/unistdio/u32-u32-vsprintf: New file.
64894         * modules/unistdio/ulc-asnprintf-tests: New file.
64895         * modules/unistdio/ulc-vasnprintf-tests: New file.
64896         * modules/unistdio/ulc-vasprintf-tests: New file.
64897         * modules/unistdio/ulc-vsnprintf-tests: New file.
64898         * modules/unistdio/ulc-vsprintf-tests: New file.
64899         * modules/unistdio/u8-asnprintf-tests: New file.
64900         * modules/unistdio/u8-vasnprintf-tests: New file.
64901         * modules/unistdio/u8-vasprintf-tests: New file.
64902         * modules/unistdio/u8-vsnprintf-tests: New file.
64903         * modules/unistdio/u8-vsprintf-tests: New file.
64904         * modules/unistdio/u16-asnprintf-tests: New file.
64905         * modules/unistdio/u16-vasnprintf-tests: New file.
64906         * modules/unistdio/u16-vasprintf-tests: New file.
64907         * modules/unistdio/u16-vsnprintf-tests: New file.
64908         * modules/unistdio/u16-vsprintf-tests: New file.
64909         * modules/unistdio/u32-asnprintf-tests: New file.
64910         * modules/unistdio/u32-vasnprintf-tests: New file.
64911         * modules/unistdio/u32-vasprintf-tests: New file.
64912         * modules/unistdio/u32-vsnprintf-tests: New file.
64913         * modules/unistdio/u32-vsprintf-tests: New file.
64914         * MODULES.html.sh (Unicode string functions): Add the new modules.
64915
64916 2007-07-01  Bruno Haible  <bruno@clisp.org>
64917
64918         * lib/sprintf.c (sprintf): Limit the available length estimation,
64919         to avoid address wraparound.
64920         * lib/vsprintf.c (vsprintf): Likewise.
64921         * modules/sprintf-posix (Dependencies): Add stdint.
64922         * modules/vsprintf-posix (Dependencies): Likewise.
64923
64924 2007-07-01  Bruno Haible  <bruno@clisp.org>
64925
64926         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
64927         Windows PATH as well. Conservative double-quoting. Comments.
64928
64929 2007-07-01  Bruno Haible  <bruno@clisp.org>
64930             Eric Blake  <ebb9@byu.net>
64931             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64932
64933         * gnulib-tool (self_abspathname): Fix algorithm to cope with
64934         empty components in $PATH, denoting '.'.
64935
64936 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64937
64938         * gnulib-tool: Fix indentation.
64939         (func_create_megatestdir): Likewise.
64940         Report by Bruno Haible.
64941
64942 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64943
64944         Sync from Automake.
64945         * build-aux/gnupload: Fix shell portability issues with for loops.
64946         Report by Karl Berry.
64947
64948 2007-06-29  Simon Josefsson  <simon@josefsson.org>
64949
64950         * build-aux/maint.mk (POURL): Use translationproject.org.
64951
64952 2007-06-27  Simon Josefsson  <simon@josefsson.org>
64953             Bruno Haible  <bruno@clisp.org>
64954
64955         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
64956         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
64957         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
64958         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
64959         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
64960
64961 2007-06-27  Bruno Haible  <bruno@clisp.org>
64962
64963         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
64964         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
64965
64966 2007-06-26  Karl Berry  <karl@gnu.org>
64967
64968         * MODULES.html.sh: remove xreadlink-with-size.
64969
64970 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
64971
64972         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
64973         method that I hope also handles the double-include problem noted
64974         by Bruno Haible in
64975         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
64976
64977 2007-06-23  Bruno Haible  <bruno@clisp.org>
64978
64979         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
64980         Don't let the 'mostlyclean' target fail if the last subdirectory could
64981         not be removed.
64982         Reported by Karl Berry.
64983
64984 2007-06-23  Bruno Haible  <bruno@clisp.org>
64985
64986         * gnulib-tool (echo): Add a speedier workaround for ksh.
64987         * tests/test-echo.sh: Likewise.
64988
64989 2007-06-23  Bruno Haible  <bruno@clisp.org>
64990
64991         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
64992         * tests/test-echo.sh: Likewise.
64993
64994 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64995
64996         * gnulib-tool (IFS): Initialize early, so we don't set it to
64997         empty later.
64998         (self_abspathname): Rewrite algorithm to set it, reindent.
64999         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65000         (func_create_megatestdir): Merge some sed scripts.
65001
65002 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65003
65004         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65005         exposed by Sun Studio 11 cc on Solaris 8.
65006
65007 2007-06-22  Bruno Haible  <bruno@clisp.org>
65008
65009         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65010         backslashes.
65011         * tests/test-echo.sh: New file.
65012
65013 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65014
65015         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65016         simplify `sed_replace_build_aux' scripts, they are portable but
65017         echoing them with `echo' is not.
65018         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65019
65020 2007-06-21  Karl Berry  <karl@gnu.org>
65021
65022         * config/srclist.txt: guess we can't handle the licenses via
65023         srclist at the moment.
65024
65025 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65026
65027         * MODULES.html.sh: Add include_next.
65028         * modules/include_next: New file.
65029
65030 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65031
65032         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65033         INCLUDE_NEXT.
65034         (gl_CHECK_NEXT_HEADERS): New macro.
65035         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65036         the obsolescent gl_ABSOLUTE_HEADER.
65037         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65038         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65039         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65040         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65041         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65042         * m4/math_h.m4 (gl_MATH_H): Likewise.
65043         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65044         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65045         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65046         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65047         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65048         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65049         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65050         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65051         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65052         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65053         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65054         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65055         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65056         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65057         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65058         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65059         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65060         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65061         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65062         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65063         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65064         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65065         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65066         * lib/float_.h: Likewise.
65067         * lib/inttypes_.h: Likewise.
65068         * lib/math_.h: Likewise.
65069         * lib/search_.h: Likewise.
65070         * lib/signal_.h: Likewise.
65071         * lib/stdint_.h: Likewise.
65072         * lib/stdio_.h: Likewise.
65073         * lib/stdlib_.h: Likewise.
65074         * lib/string_.h: Likewise.
65075         * lib/sys_stat_.h: Likewise.
65076         * lib/sys_time_.h: Likewise.
65077         * lib/time_.h: Likewise.
65078         * lib/unistd_.h: Likewise.
65079         * lib/wchar_.h: Likewise.
65080         * lib/wctype_.h: Likewise.
65081         * lib/dirent_.h: Likewise.
65082         * lib/iconv_.h: Likewise.
65083         * lib/locale_.h: Likewise.
65084         * lib/netinet_in_.h: Likewise.
65085         * lib/sys_select_.h: Likewise.
65086         * lib/sys_socket_.h: Likewise.
65087         * lib/sysexits_.h: Likewise.
65088         * modules/fcntl (Depends-on): Depend on include_next, not
65089         absolute_header.
65090         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65091         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65092         * modules/fchdir: Likewise.
65093         * modules/float: Likewise.
65094         * modules/iconv_open: Likewise.
65095         * modules/inttypes: Likewise.
65096         * modules/locale: Likewise.
65097         * modules/math: Likewise.
65098         * modules/netinet_in: Likewise.
65099         * modules/search: Likewise.
65100         * modules/signal: Likewise.
65101         * modules/stdint: Likewise.
65102         * modules/stdio: Likewise.
65103         * modules/stdlib: Likewise.
65104         * modules/string: Likewise.
65105         * modules/sys_select: Likewise.
65106         * modules/sys_socket: Likewise.
65107         * modules/sys_stat: Likewise.
65108         * modules/sys_time: Likewise.
65109         * modules/sysexits: Likewise.
65110         * modules/time: Likewise.
65111         * modules/unistd: Likewise.
65112         * modules/wchar: Likewise.
65113         * modules/wctype: Likewise.
65114         * modules/sys_stat: Change maintainer to "all".
65115         * modules/unistd: Likewise.
65116
65117 2007-06-20  Karl Berry  <karl@gnu.org>
65118
65119         * config/srclist.txt: track www changes in license files.
65120
65121 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65122
65123         * build-aux/bootstrap: Remove stray dot.
65124         Make sure build_aux settings are honored when linking
65125         gnulib_extra_files.
65126
65127 2007-06-19  Eric Blake  <ebb9@byu.net>
65128
65129         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65130         Allow compilation on cygwin.
65131
65132 2007-06-19  Jim Meyering  <jim@meyering.net>
65133
65134         xreadlink-with-size: Remove module.  No longer used.
65135         Ex-callers now use xreadlink or mreadlink-with-size.
65136         * modules/xreadlink-with-size: Remove module.
65137         * lib/xreadlink-with-size.c: Remove file.
65138         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65139         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65140         just before the function definition *is* accurate.
65141
65142         Eliminate one way canonicalize_filename_mode could exit.
65143         * lib/canonicalize.c (canonicalize_filename_mode):
65144         Use mreadlink_with_size, not xreadlink_with_size.
65145
65146 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65147
65148         Detect porting problems to FreeBSD/arm, which has time_t wider than
65149         long int.  Original problem reported for GNU diff by Xin Li in
65150         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65151         * modules/getdate (Depends-on): Add intprops, verify.
65152         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65153         is an integer type no wider than long int.
65154
65155 2007-06-18  Jim Meyering  <jim@meyering.net>
65156
65157         New module: mreadlink-with-size.
65158         * MODULES.html.sh: Add mreadlink-with-size.
65159         * modules/mreadlink-with-size: New module
65160         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65161         not xreadlink-with-size.
65162         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65163
65164 2007-06-16  Bruno Haible  <bruno@clisp.org>
65165
65166         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65167         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65168         Reported by Gary V. Vaughan <gary@gnu.org>.
65169
65170 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
65171
65172         Revamp lchown so that it lives in unistd.h where it belongs.
65173         * lib/lchown.h: Remove.
65174         * lib/dirchownmod.c: Don't include lib/lchown.h.
65175         * lib/fchownat.c: Likewise.
65176         * lib/openat.c: Likewise.
65177         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
65178         does not follow symlinks.
65179         (EOPNOTSUPP): Define if not defined.
65180         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
65181         is defined to 0.
65182         (lchown): New decl.
65183         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
65184         Do not check for lchown decl.
65185         Set REPLACE_LCHOWN.
65186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
65187         REPLACE_LCHOWN.
65188         * modules/chown: Make it clear it follows symlinks.
65189         * modules/lchown: Make it clear it doesn't follow symlinks.
65190         (Files): Remove lib/lchown.h
65191         (Depends-on): Add unistd.
65192         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
65193         (Include): Include <unistd.h>, not "lchown.h".
65194         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
65195         REPLACE_LCHOWN.
65196
65197 2007-06-15  Jim Meyering  <jim@meyering.net>
65198
65199         Change license (GPL to LGPL) of fsusage and dependents.
65200         * modules/fsusage (License): Change to LGPL.
65201         * modules/full-read (License): Likewise.
65202         * modules/full-write (License): Likewise.
65203         * modules/safe-read (License): Likewise.
65204         * modules/safe-write (License): Likewise.
65205
65206 2007-06-14  Ben Pfaff  <blp@gnu.org>
65207
65208         Missing part of allocsa -> malloca transition.
65209         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
65210         gl_MALLOCA.
65211
65212 2007-06-12  Bruno Haible  <bruno@clisp.org>
65213
65214         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
65215         to ia64, x86_64, i386.
65216         Reported by Eric Blake.
65217
65218 2007-06-12  Bruno Haible  <bruno@clisp.org>
65219
65220         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
65221         cross-compiling to x86_64.
65222
65223 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
65224
65225         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
65226         glitch reported by Ralf Wildenhues in
65227         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
65228
65229         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
65230         Vin Shelton.
65231
65232 2007-06-11  Bruno Haible  <bruno@clisp.org>
65233
65234         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
65235         replacement string.
65236         Reported by Eric Blake.
65237
65238 2007-06-10  Bruno Haible  <bruno@clisp.org>
65239
65240         Prepare vasnprintf code for use with Unicode strings.
65241         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
65242         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
65243         TYPE_U32_STRING.
65244         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
65245         a_u32_string variants.
65246         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65247         * lib/printf-args.c: Don't include config.h and the specification
65248         header if PRINTF_FETCHARGS is already defined.
65249         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
65250         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
65251         TYPE_U16_STRING, TYPE_U32_STRING.
65252         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
65253         u16_directive, u16_directives, u32_directive, u32_directives): New
65254         types.
65255         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
65256         New declarations.
65257         * lib/printf-parse.c: Don't include config.h and the specification
65258         header if PRINTF_PARSE is already defined. Eliminate the set of
65259         parameters for WIDE_CHAR_VERSION; the user of this file must provide
65260         them now. Include c-ctype.h.
65261         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
65262         directive and CHAR_T_ONLY_ASCII.
65263         * lib/vasnprintf.c: Don't include config.h and the specification header
65264         if VASNPRINTF is already defined.
65265         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
65266         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
65267         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
65268         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
65269         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
65270         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
65271         code accordingly.
65272         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
65273         pad_ourselves also in this case, with the 'c' and 's' directives, and
65274         with a different notion of "width".
65275         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
65276
65277 2007-06-10  Bruno Haible  <bruno@clisp.org>
65278
65279         * modules/unistr/u32-mbsnlen: New file.
65280         * lib/unistr/u32-mbsnlen.c: New file.
65281
65282         * modules/unistr/u16-mbsnlen: New file.
65283         * lib/unistr/u16-mbsnlen.c: New file.
65284
65285         * modules/unistr/u8-mbsnlen: New file.
65286         * lib/unistr/u8-mbsnlen.c: New file.
65287
65288         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
65289         declarations.
65290
65291 2007-06-10  Bruno Haible  <bruno@clisp.org>
65292
65293         * lib/string_.h (mbsnlen): New declaration.
65294         * lib/mbsnlen.c: New file.
65295         * m4/mbsnlen.m4: New file.
65296         * modules/mbsnlen: New file.
65297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
65298         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
65299         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
65300
65301 2007-06-10  Bruno Haible  <bruno@clisp.org>
65302
65303         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
65304
65305 2007-06-10  Bruno Haible  <bruno@clisp.org>
65306
65307         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
65308         * lib/mbuiter.h: Likewise.
65309
65310 2007-06-10  Bruno Haible  <bruno@clisp.org>
65311
65312         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
65313         declaration.
65314
65315 2007-06-10  Karl Berry  <karl@gnu.org>
65316
65317         * config/srclist.txt: remove gettext entries, Bruno prefers
65318         to update individually.
65319
65320 2007-06-10  Bruno Haible  <bruno@clisp.org>
65321
65322         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
65323         'maxlen'. Ensure only length + width bytes are allocated, not
65324         length + 1 + width.
65325
65326 2007-06-09  Bruno Haible  <bruno@clisp.org>
65327
65328         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
65329         (CHAR_T): Remove macro.
65330         (VASNPRINTF): Update.
65331
65332 2007-06-09  Bruno Haible  <bruno@clisp.org>
65333
65334         * MODULES.html.sh (Unicode string functions): Add the new modules.
65335
65336         * modules/uniconv/u32-conv-to-enc: New file.
65337         * lib/uniconv/u32-conv-to-enc.c: New file.
65338         * modules/uniconv/u32-conv-to-enc-tests: New file.
65339         * tests/uniconv/test-u32-conv-to-enc.c: New file.
65340
65341         * modules/uniconv/u16-conv-to-enc: New file.
65342         * lib/uniconv/u16-conv-to-enc.c: New file.
65343         * lib/uniconv/u-conv-to-enc.h: New file.
65344         * modules/uniconv/u16-conv-to-enc-tests: New file.
65345         * tests/uniconv/test-u16-conv-to-enc.c: New file.
65346
65347         * modules/uniconv/u8-conv-to-enc: New file.
65348         * lib/uniconv/u8-conv-to-enc.c: New file.
65349         * modules/uniconv/u8-conv-to-enc-tests: New file.
65350         * tests/uniconv/test-u8-conv-to-enc.c: New file.
65351
65352         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
65353         u32_conv_to_encoding): New declarations.
65354
65355 2007-06-09  Bruno Haible  <bruno@clisp.org>
65356
65357         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
65358
65359 2007-06-09  Bruno Haible  <bruno@clisp.org>
65360
65361         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
65362         * modules/malloca: Renamed from modules/allocsa, updated.
65363         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
65364         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
65365         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
65366         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
65367         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
65368         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
65369         * modules/xmalloca: Renamed from modules/xallocsa, updated.
65370         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
65371         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
65372         * modules/c-strcasestr (Depends-on): Update.
65373         * lib/c-strcasestr.c: Update.
65374         * modules/c-strstr (Depends-on): Update.
65375         * lib/c-strstr.c: Update.
65376         * modules/canonicalize-lgpl (Depends-on): Update.
65377         * lib/canonicalize-lgpl.c: Update.
65378         * modules/clean-temp (Depends-on): Update.
65379         * lib/clean-temp.c: Update.
65380         * modules/csharpcomp (Depends-on): Update.
65381         * lib/csharpcomp.c: Update.
65382         * modules/csharpexec (Depends-on): Update.
65383         * lib/csharpexec.c: Update.
65384         * modules/javacomp (Depends-on): Update.
65385         * lib/javacomp.c: Update.
65386         * modules/javaexec (Depends-on): Update.
65387         * lib/javaexec.c: Update.
65388         * modules/mbscasestr (Depends-on): Update.
65389         * lib/mbscasestr.c: Update.
65390         * modules/mbsstr (Depends-on): Update.
65391         * lib/mbsstr.c: Update.
65392         * modules/setenv (Depends-on): Update.
65393         * lib/setenv.c: Update.
65394         * modules/strcasestr (Depends-on): Update.
65395         * lib/strcasestr.c: Update.
65396         * modules/striconveha (Depends-on): Update.
65397         * lib/striconveha.c: Update.
65398         * modules/relocatable-prog-wrapper (Files): Update.
65399         * lib/relocwrapper.c: Update.
65400         * build-aux/install-reloc: Update.
65401         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
65402
65403 2007-06-08  Bruno Haible  <bruno@clisp.org>
65404
65405         Port to uClibc.
65406         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
65407         * lib/fpurge.c (fpurge): Likewise.
65408         * lib/freading.c (freading): Likewise.
65409         * lib/fseeko.c (rpl_fseeko): Likewise.
65410         * lib/fseterr.c (fseterr): Likewise.
65411         * lib/fwriting.c (fwriting): Likewise.
65412         * tests/test-fflush.c (main): Avoid a failure on uClibc.
65413
65414 2007-06-08  Bruno Haible  <bruno@clisp.org>
65415
65416         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
65417         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
65418         * modules/gettext (Files): Add m4/intlmacosx.m4.
65419
65420 2007-06-07  Bruno Haible  <bruno@clisp.org>
65421
65422         * modules/localename-tests: New file.
65423         * tests/test-localename.c: New file.
65424
65425         New module 'localename'.
65426         * lib/localename.h: New file.
65427         * lib/localename.c: New file, from GNU gettext.
65428         * m4/localename.m4: New file.
65429         * modules/localename: New file.
65430
65431 2007-06-07  Bruno Haible  <bruno@clisp.org>
65432
65433         Work around the lack of <wchar.h> on some builds of uClibc.
65434         * doc/headers/wchar.texi: Update.
65435         * lib/wchar_.h: Include <wchar.h> only if it exists.
65436         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
65437         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
65438         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
65439         doesn't exist.
65440         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
65441         * modules/mbfile (Depends-on): Add wchar.
65442         * modules/mbiter (Depends-on): Likewise.
65443         * modules/mbuiter (Depends-on): Likewise.
65444         Reported by Simon Josefsson.
65445
65446 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
65447
65448         Work around problem reported by Steven M. Schweda in
65449         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
65450         Tru64 5.1B with the Compaq compiler environment installed declares
65451         an 'isblank' function but does not define it in the C library.
65452         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
65453         * lib/regex_internal.h (isblank): Likewise.
65454         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
65455         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65456
65457 2007-06-05  Bruno Haible  <bruno@clisp.org>
65458
65459         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
65460         ia64.
65461         * modules/printf-safe: New file.
65462         * modules/fprintf-posix (Depends-on): Add printf-safe.
65463         * modules/printf-posix (Depends-on): Likewise.
65464         * modules/snprintf-posix (Depends-on): Likewise.
65465         * modules/sprintf-posix (Depends-on): Likewise.
65466         * modules/vasnprintf-posix (Depends-on): Likewise.
65467         * modules/vasprintf-posix (Depends-on): Likewise.
65468         * modules/vfprintf-posix (Depends-on): Likewise.
65469         * modules/vprintf-posix (Depends-on): Likewise.
65470         * modules/vsnprintf-posix (Depends-on): Likewise.
65471         * modules/vsprintf-posix (Depends-on): Likewise.
65472         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
65473         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
65474         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
65475         "no" on i386, x86_64, ia64.
65476         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
65477         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65478         on i386, x86_64, ia64.
65479         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
65480         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65481         on i386, x86_64, ia64.
65482         * tests/test-vasnprintf-posix.c: Include float.h.
65483         (LDBL80_WORDS): New macro.
65484         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65485         on i386, x86_64, ia64.
65486         * tests/test-vasprintf-posix.c: Include float.h.
65487         (LDBL80_WORDS): New macro.
65488         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
65489         on i386, x86_64, ia64.
65490         * tests/test-snprintf-posix.c: Include float.h.
65491         * tests/test-sprintf-posix.c: Likewise.
65492         * tests/test-vsnprintf-posix.c: Likewise.
65493         * tests/test-vsprintf-posix.c: Likewise.
65494
65495 2007-06-05  Bruno Haible  <bruno@clisp.org>
65496
65497         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
65498         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
65499         non-IEEE numbers on i386, x86_64, ia64.
65500         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
65501         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
65502         * tests/test-isnanl.h: Include float.h.
65503         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
65504
65505 2007-06-05  Bruno Haible  <bruno@clisp.org>
65506
65507         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
65508         also the %a / %A. Handle the %a / %A code before this extra handling.
65509
65510 2007-06-05  Bruno Haible  <bruno@clisp.org>
65511
65512         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
65513         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
65514
65515 2007-06-05  Bruno Haible  <bruno@clisp.org>
65516
65517         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
65518         typo in variable name.
65519
65520 2007-06-05  Eric Blake  <ebb9@byu.net>
65521
65522         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
65523         Reported by Simon Josefsson.
65524
65525 2007-06-04  Bruno Haible  <bruno@clisp.org>
65526
65527         Avoid test failures on some PowerPC platforms.
65528         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
65529         Define differently for PowerPC.
65530         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
65531         Reported by Gary V. Vaughan <gary@gnu.org>.
65532
65533 2007-06-02  Bruno Haible  <bruno@clisp.org>
65534
65535         Fix test-stdint failure on FreeBSD/ia64.
65536         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
65537         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
65538         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
65539         * doc/headers/stdint.texi: Update.
65540
65541 2007-06-01  Bruno Haible  <bruno@clisp.org>
65542
65543         * tests/test-binary-io.c (main): Pass a third argument to open().
65544         Reported by Gary V. Vaughan <gary@gnu.org>.
65545
65546 2007-06-01  Bruno Haible  <bruno@clisp.org>
65547
65548         * doc/functions/frexpl.texi: Update for mingw.
65549
65550 2007-06-01  Bruno Haible  <bruno@clisp.org>
65551
65552         * tests/test-lseek.c (main): Disable test of errno for invalid third
65553         argument.
65554         * doc/functions/lseek.texi: Update.
65555         Reported by Gary V. Vaughan <gary@gnu.org>.
65556
65557 2007-05-28  Bruno Haible  <bruno@clisp.org>
65558
65559         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
65560
65561 2007-05-31  Eric Blake  <ebb9@byu.net>
65562
65563         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
65564         cross compiling.
65565
65566 2007-05-30  Eric Blake  <ebb9@byu.net>
65567         and Bruno Haible  <bruno@clisp.org>
65568
65569         Work around mingw test failures exposed by m4-1.4.9b.
65570         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
65571         * tests/test-unistd.c: Disable uid_t and git_t tests for the
65572         moment.
65573
65574 2007-05-30  Bruno Haible  <bruno@clisp.org>
65575
65576         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
65577         assuming that they are closed. Needed on HP-UX 11.
65578
65579 2007-05-29  Bruno Haible  <bruno@clisp.org>
65580
65581         Fix a problem with #include_next.
65582         * lib/dirent_.h: Split the double-inclusion guard.
65583         * lib/fcntl_.h: Likewise.
65584         * lib/float_.h: Likewise.
65585         * lib/iconv_.h: Likewise.
65586         * lib/inttypes_.h: Likewise.
65587         * lib/locale_.h: Likewise.
65588         * lib/math_.h: Likewise.
65589         * lib/netinet_in_.h: Likewise.
65590         * lib/search_.h: Likewise.
65591         * lib/signal_.h: Likewise.
65592         * lib/stdint_.h: Likewise.
65593         * lib/stdio_.h: Likewise.
65594         * lib/stdlib_.h: Likewise.
65595         * lib/string_.h: Likewise.
65596         * lib/sys_select_.h: Likewise.
65597         * lib/sys_socket_.h: Likewise.
65598         * lib/sys_stat_.h: Likewise.
65599         * lib/sys_time_.h: Likewise.
65600         * lib/sysexits_.h: Likewise.
65601         * lib/time_.h: Likewise.
65602         * lib/unistd_.h: Likewise.
65603         * lib/wchar_.h: Likewise.
65604         * lib/wctype_.h: Likewise.
65605
65606 2007-05-29  Bruno Haible  <bruno@clisp.org>
65607
65608         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
65609         for the moment.
65610
65611 2007-05-29  Bruno Haible  <bruno@clisp.org>
65612
65613         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
65614         invocation.
65615         Reported by Eric Blake.
65616
65617 2007-05-29  Bruno Haible  <bruno@clisp.org>
65618
65619         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
65620         compiling case.
65621
65622 2007-05-29  Eric Blake  <ebb9@byu.net>
65623             Bruno Haible  <bruno@clisp.org>
65624
65625         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
65626         cross compiles.
65627
65628 2007-05-28  Eric Blake  <ebb9@byu.net>
65629
65630         * modules/closein-tests (test_closein_LDADD): Support test on
65631         cygwin with libtool.
65632
65633 2007-05-28  Bruno Haible  <bruno@clisp.org>
65634
65635         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
65636         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65637         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65638         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65639         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65640         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65641         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65642         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65643         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65644
65645 2007-05-28  Eric Blake  <ebb9@byu.net>
65646
65647         Unconditionally include <config.h> in unit tests.
65648         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
65649         * tests/test-allocsa.c, tests/test-arcfour.c,
65650         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
65651         tests/test-array_list.c, tests/test-array_oset.c,
65652         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
65653         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
65654         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
65655         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
65656         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
65657         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
65658         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
65659         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
65660         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
65661         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
65662         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
65663         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
65664         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
65665         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
65666         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
65667         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
65668         test-md5.c, test-memmem.c, test-printf-posix.c,
65669         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
65670         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
65671         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
65672         test-strcasestr.c, test-striconv.c, test-striconveh.c,
65673         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
65674         test-vasnprintf-posix2.c, test-vasnprintf.c,
65675         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
65676         test-vfprintf-posix.c, test-vprintf-posix.c,
65677         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
65678         test-xvasprintf.c: Likewise.
65679
65680 2007-05-28  Bruno Haible  <bruno@clisp.org>
65681
65682         * gnulib-tool (func_import): Remember the --with-tests command-line
65683         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
65684         Reported by Eric Blake.
65685
65686 2007-05-28  Bruno Haible  <bruno@clisp.org>
65687
65688         * modules/ftell-tests: New file.
65689         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
65690         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
65691
65692         * lib/ftell.c: New file.
65693         * modules/ftell: New file.
65694         * m4/ftell.m4: New file.
65695         * doc/functions/ftell.texi: Update.
65696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
65697         REPLACE_FTELL.
65698         * lib/stdio_.h (rpl_ftell): New declaration.
65699         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
65700         REPLACE_FTELL.
65701
65702 2007-05-28  Eric Blake  <ebb9@byu.net>
65703
65704         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
65705
65706 2007-05-28  Bruno Haible  <bruno@clisp.org>
65707
65708         * modules/fseek-tests: New file.
65709         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
65710         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
65711
65712         * lib/fseek.c: New file.
65713         * modules/fseek: New file.
65714         * m4/fseek.m4: New file.
65715         * doc/functions/fseek.texi: Update.
65716         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
65717         REPLACE_FSEEK.
65718         * lib/stdio_.h (rpl_fseek): New declaration.
65719         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
65720         REPLACE_FSEEK.
65721
65722 2007-05-28  Bruno Haible  <bruno@clisp.org>
65723
65724         * lib/stdio_.h (fflush): More comments.
65725
65726 2007-05-28  Bruno Haible  <bruno@clisp.org>
65727
65728         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
65729         runtime test.
65730
65731 2007-05-28  Eric Blake  <ebb9@byu.net>
65732
65733         Improve lseek module.
65734         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
65735         * lib/unistd_.h (lseek): Scale back link warning message.
65736         * tests/test-lseek.c: Beef up test.
65737         * tests/test-lseek.sh: Exercise more facets of lseek.
65738         Reported by Bruno Haible.
65739
65740 2007-05-28  Bruno Haible  <bruno@clisp.org>
65741
65742         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
65743         to define.
65744
65745 2007-05-27  Bruno Haible  <bruno@clisp.org>
65746
65747         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
65748
65749 2007-05-27  Bruno Haible  <bruno@clisp.org>
65750
65751         * modules/openmp: New file.
65752         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
65753         Noah Misch.
65754
65755 2007-05-26  Bruno Haible  <bruno@clisp.org>
65756
65757         * modules/chdir-long (Depends-on): Add fchdir.
65758         * modules/chdir-safer (Depends-on): Likewise.
65759         * modules/fts (Depends-on): Likewise.
65760         * modules/fts-lgpl (Depends-on): Likewise.
65761         * modules/openat (Depends-on): Likewise.
65762         * modules/savewd (Depends-on): Likewise.
65763
65764 2007-05-24  Eric Blake  <ebb9@byu.net>
65765
65766         Fix lseek on mingw.
65767         * modules/lseek: New module.
65768         * m4/lseek.m4: New file.
65769         * lib/lseek.c: New file.
65770         * modules/lseek-tests: New file.
65771         * tests/test-lseek.c: New file.
65772         * tests/test-lseek.sh: New file.
65773         * MODULES.html.sh: Document lseek module.
65774         * modules/fflush (Depends-on): Add lseek, fseeko.
65775         * modules/fseeko (Depends-on): Likewise.
65776         * modules/ftello (Depends-on): Likewise.
65777         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
65778         broken.
65779         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
65780         broken.
65781         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
65782         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
65783         * lib/ftello.c (rpl_ftello): Likewise.
65784         * tests/test-fseeko.c (main): Test this.
65785         * tests/test-fseeko.sh: Likewise.
65786         * tests/test-ftello.c (main): Likewise.
65787         * tests/test-ftello.sh: Likewise.
65788         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
65789         implies replacing fseek.
65790         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
65791         HAVE_FTELLO.
65792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
65793         * modules/unistd (Makefile.am): Likewise.
65794         * lib/unistd_.h (lseek): Declare a replacement.
65795         * doc/functions/lseek.texi (lseek): Document this fix.
65796         * doc/functions/fseek.texi (fseek): Likewise.
65797         * doc/functions/ftell.texi (ftell): Likewise.
65798
65799 2007-05-24  Bruno Haible  <bruno@clisp.org>
65800
65801         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
65802         in the printed representation of a NaN.
65803         * tests/test-vasprintf-posix.c (test_function): Likewise.
65804         * tests/test-snprintf-posix.h (test_function): Likewise.
65805         * tests/test-sprintf-posix.h (test_function): Likewise.
65806         Reported by Eric Blake.
65807
65808 2007-05-23  Eric Blake  <ebb9@byu.net>
65809
65810         Fix fseeko/ftello on cygwin 1.5.24.
65811         * doc/functions/fseeko.texi (fseeko): Document the fix.
65812         * doc/functions/ftello.texi (ftello): Document the fix.
65813         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
65814         * doc/functions/stdout.text (stdout): New file.
65815         * doc/functions/stderr.text (stderr): New file.
65816         * doc/gnulib.texi (Function Substitutes): Use new files.
65817         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
65818         prior to 1.7.0.
65819         * tests/test-ftello.c (main): Likewise for ftello.
65820         * tests/test-fseeko.sh: New file.
65821         * tests/test-ftello.sh: New file.
65822         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
65823         with seekable stdin.
65824         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
65825         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
65826         (gl_REPLACE_FSEEKO): New macro.
65827         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
65828         * modules/fseeko (Files): Distribute fseeko.c.
65829         * modules/ftello (Files): Distribute ftello.c.
65830         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
65831         mode.
65832         * lib/ftello.c (rpl_ftello): New file.
65833         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
65834         fseeko, ftello.
65835         (gl_STDIN_LARGE_OFFSET): New macro.
65836         * modules/stdio (Makefile.am): Perform the replacement.
65837         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
65838
65839 2007-05-23  Bruno Haible  <bruno@clisp.org>
65840
65841         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
65842         GNULIB_POSIXCHECK is defined.
65843
65844 2007-05-21  Bruno Haible  <bruno@clisp.org>
65845
65846         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
65847         Check also the output for NaN arguments. When cross-compiling, guess
65848         no on IRIX.
65849         * lib/vasnprintf.c: Update comments.
65850         * tests/test-vasnprintf-posix.c (strisnan): New function.
65851         (test_function): Use it.
65852         * tests/test-vasprintf-posix.c (strisnan): New function.
65853         (test_function): Use it.
65854         * tests/test-snprintf-posix.h (strisnan): New function.
65855         (test_function): Use it.
65856         * tests/test-sprintf-posix.h (strisnan): New function.
65857         (test_function): Use it.
65858         Reported by Eric Blake.
65859
65860 2007-05-20  Bruno Haible  <bruno@clisp.org>
65861
65862         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
65863         numbers that fails on BeOS.
65864         * doc/functions/frexpl.texi: Update.
65865
65866 2007-05-20  Jim Meyering  <jim@meyering.net>
65867
65868         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
65869         forced upon us by glibc-2.6.
65870
65871 2007-05-20  Bruno Haible  <bruno@clisp.org>
65872
65873         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
65874         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
65875         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
65876         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
65877         NEED_PRINTF_INFINITE.
65878         (is_infinitel): New function.
65879         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
65880         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
65881         gl_PREREQ_VASNPRINTF_INFINITE.
65882         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
65883         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
65884         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
65885         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
65886         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
65887         gl_PREREQ_VASNPRINTF_INFINITE.
65888         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65889         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65890         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65891         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65892         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65893         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65894         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65895         * doc/functions/fprintf.texi: Update.
65896         * doc/functions/printf.texi: Update.
65897         * doc/functions/snprintf.texi: Update.
65898         * doc/functions/sprintf.texi: Update.
65899         * doc/functions/vfprintf.texi: Update.
65900         * doc/functions/vprintf.texi: Update.
65901         * doc/functions/vsnprintf.texi: Update.
65902         * doc/functions/vsprintf.texi: Update.
65903
65904 2007-05-20  Bruno Haible  <bruno@clisp.org>
65905
65906         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
65907         was not found in libc.
65908         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
65909
65910 2007-05-20  Bruno Haible  <bruno@clisp.org>
65911
65912         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65913         printed as "-nan" instead of "nan".
65914         * tests/test-vasprintf-posix.c (test_function): Likewise.
65915         * tests/test-snprintf-posix.h (test_function): Likewise.
65916         * tests/test-sprintf-posix.h (test_function): Likewise.
65917         Needed for HP-UX 11.
65918
65919 2007-05-20  Jim Meyering  <jim@meyering.net>
65920
65921         Fix buggy test for the fchownat-deref bug.
65922         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
65923         symlink required for the run-test.  Without it, this test would
65924         always declare that fchownat doesn't work, and client code would
65925         unnecessarily use the replacement function with fixed libc.
65926         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
65927         Reported by Greg Schafer.
65928
65929 2007-05-19  Bruno Haible  <bruno@clisp.org>
65930
65931         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
65932         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
65933         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
65934         Needed for IRIX 6.5 and Solaris 2.5.1.
65935
65936 2007-05-19  Bruno Haible  <bruno@clisp.org>
65937
65938         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
65939         (test_function): Skip tests involving -0.0 on platforms where
65940         -0.0 = 0.0.
65941         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
65942         (test_function): Skip tests involving -0.0 on platforms where
65943         -0.0 = 0.0.
65944         * tests/test-snprintf-posix.h (have_minus_zero): New function.
65945         (test_function): Skip tests involving -0.0 on platforms where
65946         -0.0 = 0.0.
65947         * tests/test-sprintf-posix.h (have_minus_zero): New function.
65948         (test_function): Skip tests involving -0.0 on platforms where
65949         -0.0 = 0.0.
65950         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
65951         tests.
65952         * tests/test-printf-posix.h (test_function): Likewise.
65953         * tests/test-printf-posix.output: Remove all -0.0 related results.
65954         Needed for IRIX 6.5.
65955
65956 2007-05-19  Bruno Haible  <bruno@clisp.org>
65957
65958         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
65959         printed as "nan0x7fffffff" instead of "nan".
65960         * tests/test-vasprintf-posix.c (test_function): Likewise.
65961         * tests/test-snprintf-posix.h (test_function): Likewise.
65962         * tests/test-sprintf-posix.h (test_function): Likewise.
65963         * tests/test-fprintf-posix.h (NaN): Remove macro.
65964         (test_function): Remove all NaN related tests.
65965         * tests/test-printf-posix.h (NaN): Remove macro.
65966         (test_function): Remove all NaN related tests.
65967         * tests/test-printf-posix.output: Remove all NaN related results.
65968         Needed for IRIX 6.5.
65969
65970 2007-05-19  Bruno Haible  <bruno@clisp.org>
65971
65972         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
65973         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65974
65975 2007-05-19  Bruno Haible  <bruno@clisp.org>
65976
65977         * lib/float_.h: New file.
65978         * m4/float_h.m4: New file.
65979         * modules/float: New file.
65980         * modules/isnanl (Dependencies): Add float.
65981         * modules/isnanl-nolibm (Dependencies): Likewise.
65982         * modules/mathl (Dependencies): Likewise.
65983         * modules/printf-frexpl (Dependencies): Likewise.
65984         * modules/signbit (Dependencies): Likewise.
65985         * modules/vasnprintf (Dependencies): Likewise.
65986         * doc/headers/float.texi: Update.
65987
65988 2007-05-19  Jim Meyering  <jim@meyering.net>
65989
65990         * lib/utimens.c (gl_futimens): Rename from futimens,
65991         now that glibc-2.6 declares futimens.
65992         * lib/utimens.h: Likewise.
65993
65994 2007-05-19  Bruno Haible  <bruno@clisp.org>
65995
65996         Avoid test failures on mingw.
65997         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
65998         * tests/test-printf-posix.sh: Likewise.
65999         * tests/test-vfprintf-posix.sh: Likewise.
66000         * tests/test-vprintf-posix.sh: Likewise.
66001
66002 2007-05-19  Bruno Haible  <bruno@clisp.org>
66003
66004         Fix *printf result for NaN, Inf, -0.0 on mingw.
66005         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66006         * lib/vasnprintf.c: Include math.h and isnan.h.
66007         (is_infinite_or_zero): New function.
66008         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66009         values in the %f, %F, %e, %E, %g, %G directives.
66010         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66011         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66012         gl_PRINTF_INFINITE and test its result. Invoke
66013         gl_PREREQ_VASNPRINTF_INFINITE.
66014         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66015         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66016         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66017         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66018         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66019         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66020         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66021         * doc/functions/fprintf.texi: Update.
66022         * doc/functions/printf.texi: Update.
66023         * doc/functions/snprintf.texi: Update.
66024         * doc/functions/sprintf.texi: Update.
66025         * doc/functions/vfprintf.texi: Update.
66026         * doc/functions/vprintf.texi: Update.
66027         * doc/functions/vsnprintf.texi: Update.
66028         * doc/functions/vsprintf.texi: Update.
66029
66030 2007-05-19  Bruno Haible  <bruno@clisp.org>
66031
66032         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66033         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66034         Instead of multiplying with 10^k, set extra_zeroes to k.
66035         (scale10_round_long_double): Remove function.
66036
66037 2007-05-18  Bruno Haible  <bruno@clisp.org>
66038
66039         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66040         introduced on 2007-05-06.
66041
66042 2007-05-18  Bruno Haible  <bruno@clisp.org>
66043
66044         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66045         %g directives.
66046         * tests/test-vasprintf-posix.c (test_function): Likewise.
66047         * tests/test-snprintf-posix.h (test_function): Likewise.
66048         * tests/test-sprintf-posix.h (test_function): Likewise.
66049
66050 2007-05-18  Bruno Haible  <bruno@clisp.org>
66051
66052         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66053         (strmatch): New function.
66054         (test_function): Test the %f directive on numbers of various exponents.
66055         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66056         (strmatch): New function.
66057         (test_function): Test the %f directive on numbers of various exponents.
66058         * tests/test-snprintf-posix.h (strmatch): New function.
66059         (test_function): Test the %f directive on numbers of various exponents.
66060         * tests/test-sprintf-posix.h (strmatch): New function.
66061         (test_function): Test the %f directive on numbers of various exponents.
66062         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66063         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66064         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66065         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66066
66067 2007-05-18  Bruno Haible  <bruno@clisp.org>
66068
66069         Add support for 'long double' number output.
66070         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66071         * lib/vasnprintf.c: Include math.h and float+.h.
66072         (mp_limb_t): New type.
66073         (GMP_LIMB_BITS): New macro.
66074         (mp_twolimb_t): New type.
66075         (GMP_TWOLIMB_BITS): New macro.
66076         (mpn_t): New type.
66077         (multiply, divide, convert_to_decimal, decode_long_double,
66078         scale10_round_long_double, scale10_round_decimal_long_double,
66079         floorlog10l): New functions.
66080         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66081         for the %f, %F, %e, %E, %g, %G directives.
66082         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66083         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66084         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66085         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66087         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66088         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66089         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66090         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66091         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66092         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66093         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66094         * modules/snprintf-posix (Depends-on): Likewise.
66095         * modules/sprintf-posix (Depends-on): Likewise.
66096         * modules/vasnprintf-posix (Depends-on): Likewise.
66097         * modules/vasprintf-posix (Depends-on): Likewise.
66098         * modules/vfprintf-posix (Depends-on): Likewise.
66099         * modules/vsnprintf-posix (Depends-on): Likewise.
66100         * modules/vsprintf-posix (Depends-on): Likewise.
66101         * modules/vasnprintf (Files): Add lib/float+.h.
66102         * doc/functions/fprintf.texi: Update.
66103         * doc/functions/printf.texi: Update.
66104         * doc/functions/snprintf.texi: Update.
66105         * doc/functions/sprintf.texi: Update.
66106         * doc/functions/vfprintf.texi: Update.
66107         * doc/functions/vprintf.texi: Update.
66108         * doc/functions/vsnprintf.texi: Update.
66109         * doc/functions/vsprintf.texi: Update.
66110
66111 2007-05-18  Bruno Haible  <bruno@clisp.org>
66112
66113         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66114
66115 2007-05-18  Bruno Haible  <bruno@clisp.org>
66116
66117         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66118         for printing 64-bit integers. Needed for mingw.
66119
66120 2007-05-18  Bruno Haible  <bruno@clisp.org>
66121
66122         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66123         gl_FUNC_FREXPL_WORKS.
66124         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66125
66126 2007-05-18  Bruno Haible  <bruno@clisp.org>
66127
66128         * modules/frexpl-nolibm-tests: New file.
66129
66130         * modules/frexpl-nolibm: New file.
66131         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66132
66133 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66134
66135         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66136         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66137         GCC 4.2, which otherwise issues a lot of warnings.
66138         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66139         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66140         Likewise.
66141         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66142         * modules/iconv_open (iconv.h): Likewise.
66143         * modules/locale (locale.h): Likewise.
66144         * modules/netinet_in (netinet/in.h): Likewise.
66145         * modules/sys_select (sys_select.h): Likewise.
66146         * modules/sys_socket (sys/socket.h): Likewise.
66147         * modules/sys_stat (sys/stat.h): Likewise.
66148         * modules/sysexits (sysexits.h): Likewise.
66149         * modules/unistd (unistd.h): Likewise.
66150
66151 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66152
66153         * modules/closein-tests (Makefile.am): Distribute
66154         `test-closein.sh'.
66155
66156 2007-05-17  Bruno Haible  <bruno@clisp.org>
66157
66158         * tests/test-printf-posix.output: Renamed from
66159         tests/test-fprintf-posix.out.
66160         * modules/fprintf-posix-tests: Update.
66161         * modules/printf-posix-tests: Update.
66162         * modules/vfprintf-posix-tests: Update.
66163         * modules/vprintf-posix-tests: Update.
66164         * tests/test-fprintf-posix.sh: Update.
66165         * tests/test-printf-posix.sh: Update.
66166         * tests/test-vfprintf-posix.sh: Update.
66167         * tests/test-vprintf-posix.sh: Update.
66168         Reported by Ralf Wildenhues.
66169
66170 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
66171
66172         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
66173         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66174         GCC 4.2, which otherwise issues a lot of warnings.
66175         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
66176         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
66177         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
66178         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
66179         it should no longer be needed.
66180         * lib/string_.h: Likewise.
66181         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
66182         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
66183         * modules/inttypes (inttypes.h): Likewise.
66184         * modules/math (math.h): Likewise.
66185         * modules/search (search.h): Likewise.
66186         * modules/signal (signal.h): Likewise.
66187         * modules/stdint (stdint.h): Likewise.
66188         * modules/stdio (stdio.h): Likewise.
66189         * modules/stdlib (stdlib.h): Likewise.
66190         * modules/string (string.h): Likewise.
66191         * modules/sys_time (sys/time.h): Likewise.
66192         * modules/time (time.h): Likewise.
66193         * modules/wchar (wchar.h): Likewise.
66194         * modules/wctype (wtype.h): Likewise.
66195
66196 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66197
66198         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
66199
66200 2007-05-13  Bruno Haible  <bruno@clisp.org>
66201
66202         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
66203         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66204         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
66205         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
66206         (gl_PREREQ_STRTOK_R): Don't require it here.
66207
66208 2007-05-13  Bruno Haible  <bruno@clisp.org>
66209
66210         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
66211         when used in C++ mode.
66212
66213 2007-05-12  Bruno Haible  <bruno@clisp.org>
66214
66215         * lib/linebuffer.h: Tweak doc.
66216         * lib/linebuffer.c: Likewise.
66217
66218 2007-05-12  James Youngman  <jay@gnu.org>
66219
66220         * lib/linebuffer.c (readlinebuffer_delim): New function,
66221         like readlinebuffer, but use a caller-specified delimiter.
66222         (readlinebuffer): Just call readlinebuffer_delim with '\n'
66223         as the delimiter.
66224         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
66225
66226 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66227
66228         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
66229         * modules/openat (Files): Remove openat-die.c.
66230         (Depends-on): Add openat-die.
66231         * modules/openat-die: New module.
66232
66233 2007-05-06  Bruno Haible  <bruno@clisp.org>
66234
66235         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
66236         Update with info about Cygwin.
66237         * doc/functions/fprintf.texi: Update.
66238         * doc/functions/printf.texi: Update.
66239         * doc/functions/snprintf.texi: Update.
66240         * doc/functions/sprintf.texi: Update.
66241         * doc/functions/vfprintf.texi: Update.
66242         * doc/functions/vprintf.texi: Update.
66243         * doc/functions/vsnprintf.texi: Update.
66244         * doc/functions/vsprintf.texi: Update.
66245         Reported by Eric Blake.
66246
66247 2007-05-06  Bruno Haible  <bruno@clisp.org>
66248
66249         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
66250         padding ourselves for the floating-point directives.
66251         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
66252         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
66253         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66254         gl_PRINTF_FLAG_ZERO and test its result. Invoke
66255         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
66256         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66257         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66258         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66259         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66260         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66261         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66262         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66263         * tests/test-snprintf-posix.h (test_function): Also check the width
66264         and some flags in the %f directive.
66265         * tests/test-sprintf-posix.h (test_function): Likewise.
66266         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66267         * tests/test-vasprintf-posix.c (test_function): Likewise.
66268         * doc/functions/fprintf.texi: Update.
66269         * doc/functions/printf.texi: Update.
66270         * doc/functions/snprintf.texi: Update.
66271         * doc/functions/sprintf.texi: Update.
66272         * doc/functions/vfprintf.texi: Update.
66273         * doc/functions/vprintf.texi: Update.
66274         * doc/functions/vsnprintf.texi: Update.
66275         * doc/functions/vsprintf.texi: Update.
66276
66277 2007-05-06  Bruno Haible  <bruno@clisp.org>
66278
66279         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
66280         pass the ' flag character to sprintf or snprintf.
66281         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
66282         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
66283         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66284         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
66285         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
66286         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66287         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
66288         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66289         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66290         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66291         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66292         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66293         * tests/test-snprintf-posix.h (test_function): Also check the grouping
66294         flag.
66295         * tests/test-sprintf-posix.h (test_function): Likewise.
66296         * tests/test-vasnprintf-posix.c (test_function): Likewise.
66297         * tests/test-vasprintf-posix.c (test_function): Likewise.
66298         * doc/functions/fprintf.texi: Update.
66299         * doc/functions/printf.texi: Update.
66300         * doc/functions/snprintf.texi: Update.
66301         * doc/functions/sprintf.texi: Update.
66302         * doc/functions/vfprintf.texi: Update.
66303         * doc/functions/vprintf.texi: Update.
66304         * doc/functions/vsnprintf.texi: Update.
66305         * doc/functions/vsprintf.texi: Update.
66306
66307 2007-05-01  Bruno Haible  <bruno@clisp.org>
66308
66309         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
66310
66311 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
66312
66313         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
66314         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
66315
66316 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
66317
66318         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
66319         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
66320         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
66321
66322 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
66323
66324         * lib/argp-help.c (struct hol_entry): New member `ord'.
66325         (HOL_ENTRY_PTRCMP): Use ord for comparison
66326         (hol_sort): Initialize ord.
66327
66328 2007-05-01  Bruno Haible  <bruno@clisp.org>
66329
66330         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
66331         Reported by Eric Blake.
66332         * doc/gnulib.texi (Function Substitutes): Update.
66333
66334 2007-05-01  Bruno Haible  <bruno@clisp.org>
66335
66336         * doc/functions.texi: Remove file, now redundant through
66337         doc/functions/*.texi.
66338
66339 2007-05-01  Bruno Haible  <bruno@clisp.org>
66340
66341         * modules/argp (Depends-on): Add sleep.
66342
66343 2007-05-01  Bruno Haible  <bruno@clisp.org>
66344
66345         * modules/sleep-tests: New file.
66346         * tests/test-sleep.c: New file.
66347
66348         * modules/sleep: New file.
66349         * lib/sleep.c: New file.
66350         * m4/sleep.m4: New file.
66351         * lib/unistd_.h (sleep): New declaration.
66352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
66353         HAVE_SLEEP.
66354         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
66355         * doc/functions/sleep.texi: Document the sleep module.
66356
66357 2007-05-01  Bruno Haible  <bruno@clisp.org>
66358
66359         * lib/sigprocmask.h: Remove file.
66360         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
66361         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
66362         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
66363         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
66364         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
66365         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
66366         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
66367         HAVE_SIGSET_T as a shell variable.
66368         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
66369         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
66370         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
66371         (Depends-on): Add signal. Remove verify.
66372         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
66373         (Include): Mention <signal.h> instead of sigprocmask.h.
66374         * NEWS: Mention the change.
66375         * lib/fatal-signal.c: Don't include sigprocmask.h.
66376
66377 2007-05-01  Bruno Haible  <bruno@clisp.org>
66378
66379         * modules/signal: New file.
66380         * lib/signal_.h: New file.
66381         * m4/signal_h.m4: New file.
66382
66383 2007-05-01  Bruno Haible  <bruno@clisp.org>
66384
66385         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
66386         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
66387         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
66388         HAVE_WCTYPE_CTMP_BUG into wctype.h.
66389
66390 2007-05-01  Bruno Haible  <bruno@clisp.org>
66391
66392         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
66393         configure time.
66394         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
66395         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
66396         * modules/sys_stat (Makefile.am): Substitute their values into
66397         sys/stat.h.
66398
66399 2007-05-01  Bruno Haible  <bruno@clisp.org>
66400
66401         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
66402         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
66403         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
66404
66405 2007-05-01  Bruno Haible  <bruno@clisp.org>
66406
66407         * doc/header/assert.texi: Undo last change: don't mention the gnulib
66408         'assert' module here.
66409
66410 2007-05-01  Bruno Haible  <bruno@clisp.org>
66411
66412         * doc/functions/*.texi: New files.
66413         * doc/functions/google-ranking.txt: New file.
66414         * doc/gnulib.texi (Function Substitutes): New chapter.
66415         (ctime, inet_ntoa): Remove sections.
66416         * doc/ctime.texi: Remove file.
66417         * doc/inet_ntoa.texi: Remove file.
66418         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
66419         dependencies.
66420         (%.info): New rule, specifying a --reference-limit.
66421
66422 2007-05-01  Bruno Haible  <bruno@clisp.org>
66423
66424         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
66425
66426 2007-05-01  Bruno Haible  <bruno@clisp.org>
66427
66428         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
66429         the portability of 'mkdir' to mingw systems.
66430
66431 2007-05-01  Bruno Haible  <bruno@clisp.org>
66432
66433         * doc/headers/google-ranking.txt: New file.
66434
66435 2007-04-30  Eric Blake  <ebb9@byu.net>
66436
66437         Prefer fseeko to fseek.
66438         * modules/getpass (Depends-on): Add fseeko.
66439         * lib/getpass.c (getpass): Use fseeko, not fseek.
66440
66441 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
66442
66443         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
66444         assumes the sorting is stable, while most qsort implementations
66445         are not.  Use argument addresses to ensure they never compare as
66446         equal.
66447
66448         * tests/test-argp-2.sh (usage-indent test): Fix output
66449         (func_compare): Restore diff options
66450         * tests/test-argp.c: Restore #include "progname.h"
66451
66452 2007-04-29  Bruno Haible  <bruno@clisp.org>
66453
66454         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
66455         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66456         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
66457         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66458         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
66459         (configure.ac): Define CHECK_SNPRINTF_POSIX.
66460         (TESTS, check_PROGRAMS): Add test-snprintf.
66461         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
66462         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
66463         (TESTS, check_PROGRAMS): Add test-vsnprintf.
66464         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
66465         assertions that fail on HP-UX, OSF/1, or IRIX.
66466         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
66467
66468 2007-04-29  Bruno Haible  <bruno@clisp.org>
66469
66470         * MODULES.html.sh (posix_functions): Remove 'contents'.
66471
66472 2007-04-29  Karl Berry  <karl@gnu.org>
66473
66474         * config/srclist.txt (gendocs_template_min): new entry.
66475
66476 2007-04-29  Bruno Haible  <bruno@clisp.org>
66477
66478         Work around fpurge bug on BSD systems.
66479         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
66480         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
66481         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
66482         fpurge to rpl_fpurge if the system already has this function.
66483         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
66484         the case where the system already has this function. Correct invariants
66485         on BSD systems.
66486         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
66487         BSD systems.
66488
66489 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
66490
66491         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
66492         proposed by Sven Verdoolaege.
66493
66494         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
66495         options.
66496         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
66497         (usage and help tests): Update
66498
66499 2007-04-29  Bruno Haible  <bruno@clisp.org>
66500
66501         * tests/test-fflush.c (main): Use a file of size 17, not 10.
66502         Print more information in case of failure. Disable a test on BeOS.
66503
66504 2007-04-29  Bruno Haible  <bruno@clisp.org>
66505
66506         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
66507         This helps debugging on systems on which no gdb is available.
66508
66509 2007-04-29  Bruno Haible  <bruno@clisp.org>
66510
66511         * lib/freading.h: Improve comments.
66512         * lib/fwriting.h: Likewise.
66513         * tests/test-freading.c (main): Don't check freading immediately after
66514         repositioning. Needed for glibc.
66515
66516 2007-04-29  Bruno Haible  <bruno@clisp.org>
66517
66518         * lib/freading.c (freading): Trivial simplification.
66519
66520 2007-04-28  Bruno Haible  <bruno@clisp.org>
66521
66522         * tests/test-fwriting.c (main): Also test the interaction between
66523         fflush and fwriting.
66524         * modules/fwriting-tests (Depends-on): Add fflush.
66525
66526         * tests/test-freading.c (main): Also test the interaction between
66527         fflush and freading.
66528         * modules/freading-tests (Depends-on): Add fflush.
66529
66530 2007-04-28  Bruno Haible  <bruno@clisp.org>
66531
66532         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
66533         fseeko and ftello.
66534         Suggested by Eric Blake.
66535
66536 2007-04-28  Jim Meyering  <jim@meyering.net>
66537
66538         Avoid false-negative in gl_STDINT_H's C99 conformance test.
66539         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
66540         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
66541
66542 2007-04-27  Eric Blake  <ebb9@byu.net>
66543
66544         * doc/headers/assert.texi (assert.h): Document assert module use.
66545
66546 2007-04-27  Bruno Haible  <bruno@clisp.org>
66547
66548         * doc/headers/*.texi: New files.
66549         * doc/gnulib.texi (Header File Substitutes): New chapter.
66550         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
66551         dependencies.
66552         (standards.info ,standards.html, standards.dvi): Update dependencies.
66553         (mostlyclean, clean): New targets.
66554
66555 2007-04-27  Bruno Haible  <bruno@clisp.org>
66556
66557         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
66558         * modules/sysexits (Files, Makefile.am): Update.
66559
66560         * lib/sys_socket_.h: Renamed from lib/socket_.h.
66561         * modules/sys_socket (Files, Makefile.am): Update.
66562
66563         * lib/sys_stat_.h: Renamed from lib/stat_.h.
66564         * modules/sys_stat (Files, Makefile.am): Update.
66565
66566 2007-04-27  Eric Blake  <ebb9@byu.net>
66567
66568         * lib/freading.h: Improve comments.
66569         * lib/fwriting.h: Likewise.
66570         * lib/fflush.c: Likewise.
66571
66572         Fix closein for mingw.
66573         * modules/closein-tests: Add tests for closein.
66574         * tests/test-closein.c: New file.
66575         * tests/test-closein.sh: Likewise.
66576         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
66577         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
66578
66579 2007-04-27  Bruno Haible  <bruno@clisp.org>
66580
66581         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
66582         version is < 6.
66583         * lib/math_.h [__DECC]: Likewise.
66584         * lib/stdio_.h [__DECC]: Likewise.
66585         * lib/stdlib_.h [__DECC]: Likewise.
66586         * lib/string_.h [__DECC]: Likewise.
66587         * lib/time_.h [__DECC]: Likewise.
66588         * lib/wchar_.h [__DECC]: Likewise.
66589         * lib/wctype_.h [__DECC]: Likewise.
66590
66591 2007-04-27  Bruno Haible  <bruno@clisp.org>
66592
66593         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
66594
66595 2007-04-27  Bruno Haible  <bruno@clisp.org>
66596
66597         * lib/fflush.c: Add comments.
66598         * modules/fpurge-tests (Depends-on): Add fflush.
66599         * modules/freadable-tests (Depends-on): Likewise.
66600         * modules/fwritable-tests (Depends-on): Likewise.
66601
66602 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
66603
66604         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
66605         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
66606         Report by Bruno Haible <bruno@clisp.org>.
66607
66608 2007-04-26  Eric Blake  <ebb9@byu.net>
66609
66610         Fix fflush on mingw.
66611         * modules/fflush (Depends-on): Add freading.
66612         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
66613         but unread data.
66614
66615 2007-04-26  Eric Blake  <ebb9@byu.net>
66616         and Bruno Haible  <bruno@clisp.org>
66617
66618         Implement freading and fwriting.
66619         * lib/freading.c: New file.
66620         * lib/freading.h: Likewise.
66621         * m4/freading.m4: Likewise.
66622         * modules/freading: Likewise.
66623         * modules/freading-tests: Likewise.
66624         * tests/test-freading.c: Likewise.
66625         * lib/fwriting.c: New file.
66626         * lib/fwriting.h: Likewise.
66627         * m4/fwriting.m4: Likewise.
66628         * modules/fwriting: Likewise.
66629         * modules/fwriting-tests: Likewise.
66630         * tests/test-fwriting.c: Likewise.
66631         * MODULES.html.sh (File stream based Input/Output): Mention them.
66632
66633 2007-04-26  Bruno Haible  <bruno@clisp.org>
66634
66635         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
66636         'long' when we assume it.
66637         Suggested by Eric Blake.
66638
66639 2007-04-26  Bruno Haible  <bruno@clisp.org>
66640
66641         Ensure fseeko, ftello are declared on glibc systems.
66642         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
66643         * modules/fseeko (configure.ac-early): Likewise.
66644         * modules/ftello (configure.ac-early): Likewise.
66645         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
66646         AC_FUNC_FSEEKO for this.
66647         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
66648         (gl_CHECK_FSEEKO): Remove macro.
66649
66650 2007-04-26  Bruno Haible  <bruno@clisp.org>
66651
66652         * tests/test-fflush.c (main): Also check the ftell result after
66653         fflush and fseek/fseeko.
66654         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
66655         file descriptor position cache in the stream.
66656         * lib/fseeko.c (rpl_fseeko): Likewise.
66657
66658 2007-04-26  Bruno Haible  <bruno@clisp.org>
66659
66660         * modules/fflush-tests (Depends-on): Add fseeko.
66661
66662 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
66663             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66664
66665         * lib/argz_.h: ensure error_t definition is obtained in same
66666         mechanism system argz.h would have.
66667         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
66668         argz facilities are known bad.  Err on the side of caution if
66669         cross-compiling.
66670
66671 2007-04-25  Eric Blake  <ebb9@byu.net>
66672
66673         * lib/fpurge.c (includes): Use stdlib.h for free.
66674         * tests/test-fflush.c (main): Also test fflush-fseeko.
66675
66676 2007-04-25  Bruno Haible  <bruno@clisp.org>
66677
66678         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
66679         * lib/fseeko.c: New file.
66680         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
66681         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
66682         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
66683         gl_FUNC_FSEEKO.
66684         (gl_FUNC_FSEEKO): Invoke it.
66685         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
66686         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
66687         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
66688
66689 2007-04-25  Bruno Haible  <bruno@clisp.org>
66690
66691         * modules/fflush (Depends-on): Add ftello.
66692
66693 2007-04-25  Bruno Haible  <bruno@clisp.org>
66694
66695         * modules/ftello-tests: New file.
66696         * tests/test-ftello.c: New file.
66697
66698         * modules/ftello: New file.
66699         * m4/ftello.m4: New file.
66700         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
66701         HAVE_FTELLO.
66702         * lib/stdio_.h (ftello): New declaration.
66703         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
66704         HAVE_FTELLO.
66705
66706 2007-04-25  Bruno Haible  <bruno@clisp.org>
66707
66708         * modules/fseeko-tests: New file.
66709         * tests/test-fseeko.c: New file.
66710
66711         * modules/fseeko: New file.
66712         * m4/fseeko.m4: New file.
66713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
66714         HAVE_FSEEKO.
66715         * lib/stdio_.h (fseeko): New declaration.
66716         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
66717         HAVE_FSEEKO.
66718
66719 2007-04-25  Bruno Haible  <bruno@clisp.org>
66720
66721         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
66722
66723 2007-04-25  Bruno Haible  <bruno@clisp.org>
66724
66725         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
66726         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
66727         * tests/test-unistd.c: Likewise.
66728         * tests/test-fcntl.c: Likewise.
66729
66730 2007-04-23  Eric Blake  <ebb9@byu.net>
66731
66732         * lib/fflush.c: Fix missing include.
66733         Reported by Bruno Haible.
66734
66735 2007-04-23  Bruno Haible  <bruno@clisp.org>
66736
66737         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
66738         Reported by Eric Blake.
66739
66740 2007-04-23  Bruno Haible  <bruno@clisp.org>
66741
66742         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
66743
66744 2007-04-23  Bruno Haible  <bruno@clisp.org>
66745
66746         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
66747
66748 2007-04-23  Bruno Haible  <bruno@clisp.org>
66749
66750         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
66751         Needed on HP-UX 11.
66752
66753 2007-04-16  Eric Blake  <ebb9@byu.net>
66754
66755         Make fflush rely on fpurge.
66756         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
66757         open coding all variants.
66758         * modules/fflush (Depends-on): Add fpurge and unistd.
66759         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
66760         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
66761
66762         Fix --with-tests compilation on cygwin.
66763         * modules/argmatch-tests (Makefile.am): List gnulib library first
66764         in LDADD.
66765         * modules/argp-tests (Makefile.am): Likewise.
66766         * modules/array-list-tests (Makefile.am): Likewise.
66767         * modules/array-oset-tests (Makefile.am): Likewise.
66768         * modules/avltree-list-tests (Makefile.am): Likewise.
66769         * modules/avltree-oset-tests (Makefile.am): Likewise.
66770         * modules/avltreehash-list-tests (Makefile.am): Likewise.
66771         * modules/carray-list-tests (Makefile.am): Likewise.
66772         * modules/dirname-tests (Makefile.am): Likewise.
66773         * modules/frexp-tests (Makefile.am): Likewise.
66774         * modules/isnanl-tests (Makefile.am): Likewise.
66775         * modules/linked-list-tests (Makefile.am): Likewise.
66776         * modules/linkedhash-list-tests (Makefile.am): Likewise.
66777         * modules/lock-tests (Makefile.am): Likewise.
66778         * modules/rbtree-list-tests (Makefile.am): Likewise.
66779         * modules/rbtree-oset-tests (Makefile.am): Likewise.
66780         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
66781         * modules/tls-tests (Makefile.am): Likewise.
66782         * modules/tsearch-tests (Makefile.am): Likewise.
66783         * modules/xvasprintf-tests (Makefile.am): Likewise.
66784
66785         Fix fpurge for cygwin.
66786         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
66787         value.
66788         * modules/fpurge-tests (Depends-on): Clean up trash.
66789
66790 2007-04-16  Simon Josefsson  <simon@josefsson.org>
66791
66792         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
66793
66794         * m4/autobuild.m4: Re-indent.
66795
66796 2007-04-13  Bruno Haible  <bruno@clisp.org>
66797
66798         * modules/fpurge-tests: New file.
66799         * tests/test-fpurge.c: New file.
66800
66801         * modules/fpurge: New file.
66802         * lib/fpurge.h: New file.
66803         * lib/fpurge.c: New file.
66804         * m4/fpurge.m4: New file.
66805
66806 2007-04-13  Bruno Haible  <bruno@clisp.org>
66807
66808         * modules/fbufmode-tests: New file.
66809         * tests/test-fbufmode.c: New file.
66810
66811         * modules/fbufmode: New file.
66812         * lib/fbufmode.h: New file.
66813         * lib/fbufmode.c: New file.
66814         * m4/fbufmode.m4: New file.
66815
66816 2007-04-13  Bruno Haible  <bruno@clisp.org>
66817
66818         * modules/fwritable-tests: New file.
66819         * tests/test-fwritable.c: New file.
66820
66821         * modules/fwritable: New file.
66822         * lib/fwritable.h: New file.
66823         * lib/fwritable.c: New file.
66824         * m4/fwritable.m4: New file.
66825
66826 2007-04-13  Bruno Haible  <bruno@clisp.org>
66827
66828         * modules/freadable-tests: New file.
66829         * tests/test-freadable.c: New file.
66830
66831         * modules/freadable: New file.
66832         * lib/freadable.h: New file.
66833         * lib/freadable.c: New file.
66834         * m4/freadable.m4: New file.
66835
66836 2007-04-13  Bruno Haible  <bruno@clisp.org>
66837
66838         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
66839         MOSTLYCLEANFILES.
66840
66841 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66842
66843         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
66844         gzip bootstrap.conf to avoid dragging in i18n machinery.
66845         (gnulib_tool_option): Use it.
66846
66847 2007-04-13  Bruno Haible  <bruno@clisp.org>
66848
66849         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
66850         %F directives.
66851         * tests/test-vasprintf-posix.c (test_function): Likewise.
66852         * tests/test-snprintf-posix.h (test_function): Likewise.
66853         * tests/test-sprintf-posix.h (test_function): Likewise.
66854         * tests/test-fprintf-posix.h (test_function): Likewise.
66855         * tests/test-printf-posix.h (test_function): Likewise.
66856         * tests/test-fprintf-posix.out: Likewise.
66857
66858 2007-04-13  Bruno Haible  <bruno@clisp.org>
66859
66860         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
66861         * modules/tls-tests (configure.ac): Likewise.
66862         Reported by Arto C. Nirkko <anirkko@insel.ch>.
66863
66864 2007-04-13  Bruno Haible  <bruno@clisp.org>
66865
66866         * lib/tls.c (glthread_tls_get): Fix return type.
66867         Patch by Arto C. Nirkko <anirkko@insel.ch>.
66868
66869 2007-04-12  Eric Blake  <ebb9@byu.net>
66870
66871         * modules/gettime (Depends-on): Remove gettime.
66872         Reported by Dmitry V. Levin.
66873
66874 2007-04-12  Bruno Haible  <bruno@clisp.org>
66875
66876         * modules/fflush (Include): Mention <stdio.h>.
66877         * modules/strtoimax (Include): Mention <inttypes.h>.
66878         * modules/strtoumax (Include): Likewise.
66879
66880 2007-04-12  Eric Blake  <ebb9@byu.net>
66881
66882         * .cvsignore: New file.
66883         * .gitignore: Likewise.
66884
66885 2007-04-12  Bruno Haible  <bruno@clisp.org>
66886
66887         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
66888         not before, since $(LDADD) often contains libgnu.a.
66889         * modules/striconv-tests (test_striconv_LDADD): Likewise.
66890         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
66891         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
66892         Needed on Cygwin.
66893
66894 2007-04-12  Eric Blake  <ebb9@byu.net>
66895
66896         Work around glibc's failure to flush stdin on fclose.
66897         * lib/closein.c (close_stdin): Flush stdin before closing.
66898
66899         Work around glibc's failure to reset seekable stdin on exit.
66900         * modules/closein: New module.
66901         * lib/closein.c: New file.
66902         * lib/closein.h: Likewise.
66903         * m4/closein.m4: Likewise.
66904         * MODULES.html.sh (File stream based Input/Output): Document it.
66905
66906 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66907
66908         * gnulib-tool: Rename generated 'autobuild' script to
66909         'do-autobuild' in --create-megatestdir output.
66910
66911         * doc/gnulib.texi (Build robot for gnulib): Fix.
66912
66913 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66914
66915         * modules/sysexits (Depends-on): Add absolute-header.
66916
66917 2007-04-12  Eric Blake  <ebb9@byu.net>
66918
66919         No need to preserve errno on success.
66920         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
66921         Reported by Bruno Haible.
66922
66923 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66924
66925         * MODULES.html.sh (Support for maintaining and releasing
66926         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
66927
66928 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66929
66930         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
66931
66932 2007-04-12  Simon Josefsson  <simon@josefsson.org>
66933
66934         * modules/autobuild: New module.
66935
66936         * m4/autobuild.m4: New file.
66937
66938 2007-04-11  Bruno Haible  <bruno@clisp.org>
66939
66940         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
66941         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
66942         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
66943         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
66944         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66945         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66946         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66947         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
66948         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66949         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66950         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
66951         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66952         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66953         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
66954         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66955         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66956         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
66957         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66958         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66959         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
66960         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66961         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66962         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
66963         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66964         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66965         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
66966         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
66967         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
66968         Reported by Eric Blake.
66969
66970 2007-04-11  Bruno Haible  <bruno@clisp.org>
66971
66972         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
66973
66974 2007-04-10  Bruno Haible  <bruno@clisp.org>
66975
66976         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
66977         for NaN and Infinity. Needed on FreeBSD 6.1.
66978         * tests/test-vasnprintf-posix.c (test_function): Undo last change
66979         regarding results for "%010a" of Infinity and NaN.
66980         * tests/test-vasprintf-posix.c (test_function): Likewise.
66981         * tests/test-snprintf-posix.h (test_function): Likewise.
66982         * tests/test-sprintf-posix.h (test_function): Likewise.
66983         * tests/test-fprintf-posix.h (test_function): Likewise.
66984         * tests/test-printf-posix.h (test_function): Likewise.
66985         * tests/test-fprintf-posix.out: Likewise.
66986
66987 2007-04-10  Bruno Haible  <bruno@clisp.org>
66988
66989         * modules/locale-tests: New file.
66990         * tests/test-locale.c: New file.
66991
66992         * modules/locale: New file.
66993         * lib/locale_.h: New file.
66994         * m4/locale_h.m4: New file.
66995
66996 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
66997             Bruno Haible  <bruno@clisp.org>
66998
66999         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67000         be determined, test for availability of the copysignf, copysign,
67001         copysignl functions.
67002         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67003         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67004         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67005
67006 2007-04-09  Eric Blake  <ebb9@byu.net>
67007
67008         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67009         * modules/stdio (Makefile.am): Support fflush.
67010         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67011         * modules/fflush: New file.
67012         * lib/fflush.c: Likewise.
67013         * m4/fflush.m4: Likewise.
67014         * modules/fflush-tests: New test.
67015         * tests/test-fflush.c: Likewise.
67016         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67017
67018 2007-04-06  Bruno Haible  <bruno@clisp.org>
67019
67020         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67021         (VASNPRINTF): Use signbit for faster determination whether to print a
67022         minus sign.
67023         * modules/vasnprintf (Files): Remove lib/float+.h.
67024         * modules/fprintf-posix (Depends-on): Add signbit.
67025         * modules/snprintf-posix (Depends-on): Likewise.
67026         * modules/sprintf-posix (Depends-on): Likewise.
67027         * modules/vasnprintf-posix (Depends-on): Likewise.
67028         * modules/vasprintf-posix (Depends-on): Likewise.
67029         * modules/vfprintf-posix (Depends-on): Likewise.
67030         * modules/vsnprintf-posix (Depends-on): Likewise.
67031         * modules/vsprintf-posix (Depends-on): Likewise.
67032
67033 2007-04-06  Bruno Haible  <bruno@clisp.org>
67034
67035         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67036         * tests/test-frexpl.c (main): Likewise.
67037         * tests/test-ldexpl.c (main): Likewise.
67038         * modules/frexp-tests (Depends-on): Add signbit.
67039         * modules/frexpl-tests (Depdends-on): Likewise.
67040         * modules/ldexpl-tests (Depdends-on): Likewise.
67041
67042 2007-04-06  Bruno Haible  <bruno@clisp.org>
67043
67044         * modules/signbit-tests: New file.
67045         * tests/test-signbit.c: New file.
67046
67047         * modules/signbit: New file.
67048         * lib/signbitf.c: New file.
67049         * lib/signbitd.c: New file.
67050         * lib/signbitl.c: New file.
67051         * m4/signbit.m4: New file.
67052         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67053         (signbit): New macro.
67054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67055         REPLACE_SIGNBIT.
67056         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67057         REPLACE_FREXPL into math.h.
67058
67059 2007-04-06  Bruno Haible  <bruno@clisp.org>
67060
67061         * modules/isnanf-nolibm-tests: New file.
67062         * tests/test-isnanf.c: New file.
67063
67064         * modules/isnanf-nolibm: New file.
67065         * lib/isnanf.h: New file.
67066         * lib/isnanf.c: New file.
67067         * lib/isnan.c: Consider the USE_FLOAT macro.
67068         * m4/isnanf.m4: New file.
67069
67070 2007-04-06  Bruno Haible  <bruno@clisp.org>
67071
67072         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67073         (Link): New section.
67074
67075         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67076
67077 2007-04-06  Bruno Haible  <bruno@clisp.org>
67078
67079         Assume the 'long double' type.
67080         * m4/longdouble.m4: Remove file.
67081         * config/srclist.txt: Don't mention longdouble.m4.
67082         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67083         * lib/float+.h: Likewise.
67084         * lib/frexp.c: Likewise.
67085         * lib/printf-args.h: Likewise.
67086         * lib/printf-args.c: Likewise.
67087         * lib/printf-frexp.c: Likewise.
67088         * lib/printf-parse.c: Likewise.
67089         * lib/vasnprintf.c: Likewise.
67090         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67091         * m4/intl.m4: Likewise.
67092         * m4/isnanl.m4: Likewise.
67093         * m4/printf.m4: Likewise.
67094         * m4/printf-frexpl.m4: Likewise.
67095         * m4/vasnprintf.m4: Likewise.
67096         * modules/allocsa (Files): Remove m4/longdouble.m4.
67097         * modules/gettext (Files): Likewise.
67098         * modules/relocatable-prog-wrapper (Files): Likewise.
67099         * modules/vasnprintf (Files): Likewise.
67100         * modules/isnanl (Files): Likewise.
67101         (Include): Simplify.
67102         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67103         (Include): Simplify.
67104         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67105         (Include): Simplify.
67106         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67107         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67108         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67109         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67110         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67111         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67112         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67113         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67114         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67115         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67116         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67117         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67118         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67119         * tests/test-isnanl.c: Likewise.
67120         * tests/test-snprintf-posix.h: Likewise.
67121         * tests/test-sprintf-posix.h: Likewise.
67122         * tests/test-vasnprintf-posix.c: Likewise.
67123         * tests/test-vasnprintf-posix2.c: Likewise.
67124         * tests/test-vasprintf-posix.c: Likewise.
67125
67126 2007-04-06  Bruno Haible  <bruno@clisp.org>
67127
67128         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67129         * lib/math_.h [__DECC]: Include the overridden include file through
67130         #include_next, outside the double-inclusion guard.
67131         * lib/stdio_.h [__DECC]: Likewise.
67132         * lib/stdlib_.h [__DECC]: Likewise.
67133         * lib/string_.h [__DECC]: Likewise.
67134         * lib/time_.h [__DECC]: Likewise.
67135         * lib/wchar_.h [__DECC]: Likewise.
67136         * lib/wctype_.h [__DECC]: Likewise.
67137         * lib/inttypes_.h [__DECC]: Likewise.
67138         Reported by Albert Chin <china@thewrittenword.com> in
67139         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67140
67141 2007-04-04  Eric Blake  <ebb9@byu.net>
67142
67143         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67144         1.5.x.
67145
67146 2007-04-04  Bruno Haible  <bruno@clisp.org>
67147
67148         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67149         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67150
67151 2007-04-04  Bruno Haible  <bruno@clisp.org>
67152
67153         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67154         results for "%010a" of Infinity and NaN.
67155         * tests/test-vasprintf-posix.c (test_function): Likewise.
67156         * tests/test-snprintf-posix.h (test_function): Likewise.
67157         * tests/test-sprintf-posix.h (test_function): Likewise.
67158         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67159         * tests/test-printf-posix.h (test_function): Likewise.
67160         * tests/test-fprintf-posix.out: Update.
67161         Needed for FreeBSD 6.1.
67162
67163 2007-04-04  Bruno Haible  <bruno@clisp.org>
67164
67165         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67166         directly used by the gnulib modules nor by gnulib-tool.
67167
67168 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67169
67170         * DEPENDENCIES: Give overall description of version dependency
67171         desirability.  Use more-typical names for apps.
67172         Add shell, coreutils, diffutils, grep, tar, gzip.
67173
67174 2007-04-04  Simon Josefsson  <simon@josefsson.org>
67175
67176         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
67177
67178 2007-04-04  Karl Berry  <karl@gnu.org>
67179
67180         * MODULES.html.sh (func_module): missing '.
67181
67182 2007-04-03  Bruno Haible  <bruno@clisp.org>
67183
67184         * modules/argmatch-tests (Makefile.am): New variable
67185         test_argmatch_LDADD.
67186         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
67187         * modules/array-list-tests (Makefile.am): New variable
67188         test_array_list_LDADD.
67189         * modules/array-oset-tests (Makefile.am): New variable
67190         test_array_oset_LDADD.
67191         * modules/avltree-list-tests (Makefile.am): New variable
67192         test_avltree_list_LDADD.
67193         * modules/avltree-oset-tests (Makefile.am): New variable
67194         test_avltree_oset_LDADD.
67195         * modules/avltreehash-list-tests (Makefile.am): New variable
67196         test_avltreehash_list_LDADD.
67197         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
67198         test_canonicalize_lgpl_LDADD.
67199         * modules/carray-list-tests (Makefile.am): New variable
67200         test_carray_list_LDADD.
67201         * modules/dirname-tests (Makefile.am): New variable
67202         test_dirname_LDADD.
67203         * modules/linked-list-tests (Makefile.am): New variable
67204         test_linked_list_LDADD.
67205         * modules/linkedhash-list-tests (Makefile.am): New variable
67206         test_linkedhash_list_LDADD.
67207         * modules/rbtree-list-tests (Makefile.am): New variable
67208         test_rbtree_list_LDADD.
67209         * modules/rbtree-oset-tests (Makefile.am): New variable
67210         test_rbtree_oset_LDADD.
67211         * modules/rbtreehash-list-tests (Makefile.am): New variable
67212         test_rbtreehash_list_LDADD.
67213         * modules/xvasprintf-tests (Makefile.am): New variable
67214         test_xvasprintf_LDADD.
67215         Reported by Eric Blake.
67216
67217 2007-04-03  Eric Blake  <ebb9@byu.net>
67218
67219         * DEPENDENCIES: Weaken m4 requirements.
67220
67221 2007-04-03  Bruno Haible  <bruno@clisp.org>
67222
67223         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
67224         * modules/isnanl-tests (configure.ac): Likewise.
67225
67226 2007-04-03  Ben Pfaff  <blp@gnu.org>
67227
67228         * modules/iconv_open: Add $(srcdir)/ to source directory
67229         references in Makefile fragments that call gperf, to fix VPATH
67230         builds.
67231
67232 2007-04-03  Bruno Haible  <bruno@clisp.org>
67233
67234         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
67235         * lib/ldexpl.c: Undo last change.
67236
67237 2007-04-03  Bruno Haible  <bruno@clisp.org>
67238
67239         * modules/printf-frexpl (Depends-on): Undo last change.
67240         (Files): Add m4/ldexpl.m4.
67241
67242 2007-04-03  Bruno Haible  <bruno@clisp.org>
67243
67244         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
67245         * modules/isnanl (Link): New section.
67246
67247         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
67248         * modules/frexp (Link): New section.
67249
67250         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
67251         * modules/frexpl (Link): New section.
67252
67253         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
67254         * modules/ldexpl (Link): New section.
67255
67256 2007-04-03  Bruno Haible  <bruno@clisp.org>
67257
67258         * modules/TEMPLATE-EXTENDED: New file.
67259         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
67260
67261 2007-04-03  Bruno Haible  <bruno@clisp.org>
67262
67263         * DEPENDENCIES: New file.
67264         Suggested by Simon Josefsson.
67265
67266 2007-04-03  Bruno Haible  <bruno@clisp.org>
67267
67268         * doc/gnulib.texi: Escape @.
67269
67270 2007-04-03  James Youngman  <jay@gnu.org>
67271         and Paul Eggert  <eggert@cs.ucla.edu>
67272
67273         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
67274         birthtime on all systems that have birthtime, not just those which
67275         use st_birthtimensec rather than st_birthtim.  Putting zero in
67276         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
67277         that the birth time is not available for files on an NFS mount.
67278
67279 2007-04-03  Simon Josefsson  <simon@josefsson.org>
67280
67281         * modules/memxor: Move back from crypto/, suggested by Bruno.
67282         * modules/crypto/hmac-sha1: Fix memxor dependency.
67283
67284         * modules/crypto/gc: Moved from ../.
67285
67286 2007-04-02  Eric Blake  <ebb9@byu.net>
67287
67288         * lib/ldexpl.c (includes): Avoid libm.
67289
67290         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
67291
67292 2007-04-02  Bruno Haible  <bruno@clisp.org>
67293
67294         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
67295         on IRIX.
67296
67297 2007-04-02  Bruno Haible  <bruno@clisp.org>
67298
67299         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
67300         x86 or x86_64 platforms running MacOS X.
67301         Reported by Ryan Schmidt <@ryandesign.com>.
67302
67303 2007-04-02  Bruno Haible  <bruno@clisp.org>
67304
67305         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
67306         i386.
67307
67308 2007-04-01  Simon Josefsson  <simon@josefsson.org>
67309
67310         * modules/crypto/arcfour: Moved from ../.
67311         * modules/crypto/arcfour-tests: Moved from ../.
67312         * modules/crypto/arctwo: Moved from ../.
67313         * modules/crypto/arctwo-tests: Moved from ../.
67314         * modules/crypto/des: Moved from ../.
67315         * modules/crypto/des-tests: Moved from ../.
67316         * modules/crypto/gc-arcfour: Moved from ../.
67317         * modules/crypto/gc-arcfour-tests: Moved from ../.
67318         * modules/crypto/gc-arctwo: Moved from ../.
67319         * modules/crypto/gc-arctwo-tests: Moved from ../.
67320         * modules/crypto/gc-des: Moved from ../.
67321         * modules/crypto/gc-des-tests: Moved from ../.
67322         * modules/crypto/gc-hmac-md5: Moved from ../.
67323         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
67324         * modules/crypto/gc-hmac-sha1: Moved from ../.
67325         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
67326         * modules/crypto/gc-md2: Moved from ../.
67327         * modules/crypto/gc-md2-tests: Moved from ../.
67328         * modules/crypto/gc-md4: Moved from ../.
67329         * modules/crypto/gc-md4-tests: Moved from ../.
67330         * modules/crypto/gc-md5: Moved from ../.
67331         * modules/crypto/gc-md5-tests: Moved from ../.
67332         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
67333         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
67334         * modules/crypto/gc-random: Moved from ../.
67335         * modules/crypto/gc-rijndael: Moved from ../.
67336         * modules/crypto/gc-rijndael-tests: Moved from ../.
67337         * modules/crypto/gc-sha1: Moved from ../.
67338         * modules/crypto/gc-sha1-tests: Moved from ../.
67339         * modules/crypto/gc-tests: Moved from ../.
67340         * modules/crypto/hmac-md5: Moved from ../.
67341         * modules/crypto/hmac-md5-tests: Moved from ../.
67342         * modules/crypto/hmac-sha1: Moved from ../.
67343         * modules/crypto/hmac-sha1-tests: Moved from ../.
67344         * modules/crypto/md2: Moved from ../.
67345         * modules/crypto/md2-tests: Moved from ../.
67346         * modules/crypto/md4: Moved from ../.
67347         * modules/crypto/md4-tests: Moved from ../.
67348         * modules/crypto/md5: Moved from ../.
67349         * modules/crypto/md5-tests: Moved from ../.
67350         * modules/crypto/memxor: Moved from ../.
67351         * modules/crypto/rijndael: Moved from ../.
67352         * modules/crypto/rijndael-tests: Moved from ../.
67353         * modules/crypto/sha1: Moved from ../.
67354
67355 2007-03-30  James Youngman  <jay@gnu.org>
67356
67357         * tests/test-stat-time.c (prepare_test): use chmod() rather than
67358         rename() to change the ctime of a file (because ctime is unaffected
67359         by rename on jfs2 on AIX 5.1).
67360         (main): Start by doing cleanup, in case a previous run failed leaving
67361         test files behind.
67362
67363 2007-03-31  Bruno Haible  <bruno@clisp.org>
67364
67365         Support old proprietary implementations of iconv.
67366         * modules/iconv_open: New file.
67367         * lib/iconv_.h: New file.
67368         * m4/iconv_h.m4: New file.
67369         * lib/iconv_open.c: New file.
67370         * lib/iconv_open-aix.gperf: New file.
67371         * lib/iconv_open-hpux.gperf: New file.
67372         * lib/iconv_open-irix.gperf: New file.
67373         * lib/iconv_open-osf.gperf: New file.
67374         * m4/iconv_open.m4: New file.
67375         * modules/linebreak (Depends-on): Add iconv_open.
67376         * modules/striconv (Depends-on): Likewise.
67377         * modules/striconveh (Depends-on): Likewise.
67378         * modules/unicodeio (Depends-on): Likewise.
67379         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
67380         (iconv_t)(-1).
67381         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
67382         conversion if cd is (iconv_t)(-1).
67383         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
67384         is not possible.
67385
67386 2007-03-31  Bruno Haible  <bruno@clisp.org>
67387
67388         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67389         work on Solaris either. Protect also second use of "autodetect_jp".
67390
67391 2007-03-31  Bruno Haible  <bruno@clisp.org>
67392
67393         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
67394         the function is not present.
67395
67396 2007-03-31  Bruno Haible  <bruno@clisp.org>
67397
67398         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
67399         the function is not present.
67400
67401 2007-03-31  Bruno Haible  <bruno@clisp.org>
67402
67403         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
67404         a bug in HP-UX iconv_open().
67405
67406 2007-03-31  Bruno Haible  <bruno@clisp.org>
67407
67408         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
67409         (Mathematics <math.h>): New section, add fpieee.
67410         (Input/output <stdio.h>): Add fseterr.
67411         (Mathematics <math.h>): New section, add printf-frexp.
67412         (Container data structures): Add sublist.
67413         (Core language properties): Add fpucw, inline.
67414         (Functions for greatest-width integer types <inttypes.h>): Add
67415         imaxabs, imaxdiv, inttypes.
67416         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
67417         isnanl-nolibm, ldexp.
67418         (Mathematics <math.h>): New section, add printf-frexpl.
67419         (Support for systems lacking POSIX:2001): Add fprintf-posix,
67420         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
67421         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
67422         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
67423         (Unicode string functions): Add unistr/u*-mbtoucr.
67424         (Java): Add javacomp-script, javaexec-script.
67425         (C#): Add csharpcomp-script, csharpexec-script.
67426         (Support for building libraries and executables): Add havelib,
67427         relocatable-*.
67428         (Support for maintaining and releasing projects): Renamed from
67429         'Support for maintaining and release projects'. Add announce-gen.
67430
67431 2007-03-31  Bruno Haible  <bruno@clisp.org>
67432
67433         * README: Talk primarily about git.
67434         (git and CVS): Renamed from CVS.
67435         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
67436         gnulib is available through git.
67437         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
67438
67439 2007-03-30  Bruno Haible  <bruno@clisp.org>
67440
67441         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
67442         * lib/poll_.h: Likewise.
67443         * lib/stat_.h: Likewise.
67444         * lib/sys_time_.h: Likewise.
67445         * lib/sysexit_.h: Likewise.
67446         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
67447         * lib/stdbool_.h: Likewise.
67448         * lib/byteswap_.h: Add double-inclusion guard.
67449
67450 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
67451
67452         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
67453
67454 2007-03-30  Karl Berry  <karl@gnu.org>
67455
67456         * config/srclist-update: double space after USA in the license
67457         substitution, since that's how it's usually (?) written.
67458
67459 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
67460
67461         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
67462         reported by Bruno Haible.
67463
67464 2007-03-29  Bruno Haible  <bruno@clisp.org>
67465
67466         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
67467         a bug in AIX iconv().
67468
67469 2007-03-29  Bruno Haible  <bruno@clisp.org>
67470
67471         * modules/ldexpl-tests: New file.
67472         * tests/test-ldexpl.c: New file.
67473
67474 2007-03-29  Bruno Haible  <bruno@clisp.org>
67475
67476         * lib/ldexpl.c: Include fpucw.h.
67477         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
67478         multiplication.
67479         * modules/ldexpl (Depends-on): Add fpucw.
67480
67481 2007-03-29  Bruno Haible  <bruno@clisp.org>
67482
67483         * modules/ldexpl: New file.
67484         * m4/ldexpl.m4: New file.
67485         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
67486         set.
67487         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
67488         REPLACE_LDEXPL.
67489         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
67490         REPLACE_LDEXPL.
67491         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67492         gl_FUNC_LDEXPL_WORKS.
67493         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
67494         * modules/mathl (Files): Remove lib/ldexpl.c.
67495         (Depends-on): Add ldexpl.
67496
67497 2007-03-29  Bruno Haible  <bruno@clisp.org>
67498
67499         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
67500
67501 2007-03-29  Bruno Haible  <bruno@clisp.org>
67502
67503         * tests/test-striconveh.c (main): Don't assume that a direct conversion
67504         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
67505         and possibly also HP-UX.
67506         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
67507         work on AIX, IRIX, HP-UX, OSF/1.
67508         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
67509         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
67510         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
67511         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
67512         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
67513         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
67514
67515 2007-03-29  Bruno Haible  <bruno@clisp.org>
67516
67517         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
67518
67519 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67520
67521         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
67522         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
67523
67524 2007-03-29  Eric Blake  <ebb9@byu.net>
67525
67526         * lib/acl-internal.h: Remove redundant include.
67527         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
67528         Cygwin when a file is locked.
67529
67530 2007-03-29  Bruno Haible  <bruno@clisp.org>
67531
67532         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
67533         file.
67534         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
67535
67536 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
67537
67538         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
67539         try to remove a parent directory if the child couldn't be removed
67540         (except for the first rmdir, which could fail because the child
67541         doesn't exist).  Problem reported by Jeff Blaine in
67542         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
67543
67544 2007-03-28  Bruno Haible  <bruno@clisp.org>
67545
67546         * lib/striconveh.c (utf8conv_carefully): New function.
67547         (mem_cd_iconveh_internal): Invoke it.
67548
67549 2007-03-28  Bruno Haible  <bruno@clisp.org>
67550
67551         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
67552         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
67553         input.
67554         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
67555         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
67556         unistr/u8-uctomb.
67557
67558 2007-03-28  Bruno Haible  <bruno@clisp.org>
67559
67560         * modules/unistr/u8-mbtoucr: New file.
67561         * lib/unistr/u8-mbtoucr.c: New file.
67562         * modules/unistr/u16-mbtoucr: New file.
67563         * lib/unistr/u16-mbtoucr.c: New file.
67564         * modules/unistr/u16-mbtoucr: New file.
67565         * lib/unistr/u16-mbtoucr.c: New file.
67566         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
67567
67568 2007-03-27  Simon Josefsson  <simon@josefsson.org>
67569             Bruno Haible  <bruno@clisp.org>
67570
67571         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
67572         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
67573         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
67574
67575         * m4/stdio_h.m4: Add stubs for vasprintf too.
67576
67577         * modules/stdio: Support vasprintf in sed command.
67578
67579         * modules/vasprintf: Depend on stdio for prototypes.  Remove
67580         vasprintf.h.  Add stdio module indicator.
67581
67582         * lib/stdio_.h: Declare asprintf and vasprintf, based on
67583         vasprintf.h.
67584
67585         * lib/vasprintf.h: File removed.
67586
67587         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
67588         * lib/vasprintf.c: Ditto.
67589         * lib/xvasprintf.c: Ditto.
67590         * tests/test-vasprintf-posix.c: Ditto.
67591         * tests/test-vasprintf.c: Ditto.
67592
67593 2007-03-27  Bruno Haible  <bruno@clisp.org>
67594
67595         Make vasnprintf multithread-safe.
67596         * lib/vasnprintf.c (decimal_point_char): New function.
67597         (VASNPRINTF): Use it.
67598         Suggested by Simon Josefsson.
67599
67600 2007-03-27  Eric Blake  <ebb9@byu.net>
67601
67602         Support sub-second birthtime on cygwin.
67603         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
67604         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
67605         (get_stat_birthtime): Also work with st_birthtim.
67606
67607 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
67608
67609         * lib/stat-time.h (USE_BIRTHTIME): Remove.
67610         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
67611         (get_stat_birthtime_ns): Do not try to use "spare" fields.
67612         (get_stat_birthtime_ns): Simplify compile-time tests.
67613         (get_stat_birthtime): Change the API to look like
67614         get_stat_mtime etc., except return a negative tv_nsec on error.
67615         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
67616         Don't check for "spare" fields.
67617         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
67618         or for struct stat.st_birthtime, as these tests aren't used.
67619         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
67620
67621 2007-03-27  Bruno Haible  <bruno@clisp.org>
67622
67623         * lib/stat-time.h: Include <sys/stat.h>.
67624
67625 2007-03-27  James Youngman  <jay@gnu.org>
67626
67627         * lib/stat-time.h (get_stat_birthtime): New function for
67628           retrieving st_birthtime as provided by UFS2 (hence *BSD).
67629         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
67630           and its variants.
67631         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
67632         * modules/stat-time-test: New file.
67633         * tests/test-stat-time.c: New test, devised by Bruno Haible.
67634
67635 2007-03-26  Bruno Haible  <bruno@clisp.org>
67636
67637         Better support of signalling NaNs.
67638         * lib/atanl.c: Include isnanl.h.
67639         (atanl): Perform test for NaN at the beginning of the function and
67640         through a call to isnanl.
67641         * lib/cosl.c: Include isnanl.h.
67642         (cosl): Perform test for NaN at the beginning of the function and
67643         through a call to isnanl.
67644         * lib/ldexpl.c: Include isnanl.h.
67645         (ldexpl): Perform test for NaN through a call to isnanl.
67646         * lib/logl.c: Include isnanl.h.
67647         (logl): Perform test for NaN at the beginning of the function and
67648         through a call to isnanl.
67649         * lib/sinl.c: Include isnanl.h.
67650         (sinl): Perform test for NaN at the beginning of the function and
67651         through a call to isnanl.
67652         * lib/sqrtl.c: Include isnanl.h.
67653         (sqrtl): Perform test for NaN at the beginning of the function and
67654         through a call to isnanl.
67655         * lib/tanl.c: Include isnanl.h.
67656         (tanl): Perform test for NaN at the beginning of the function and
67657         through a call to isnanl.
67658         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
67659         * modules/mathl (Depends-on): Add isnanl.
67660
67661 2007-03-26  Eric Blake  <ebb9@byu.net>
67662
67663         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
67664         regression in logic sense of previous patch.
67665
67666 2007-03-26  Bruno Haible  <bruno@clisp.org>
67667
67668         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
67669         unportable shell command "if ! ...".
67670         Reported by Ralf Wildenhues.
67671
67672 2007-03-25  Bruno Haible  <bruno@clisp.org>
67673
67674         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
67675         <sysexits.h> file, and only add EX_CONFIG.
67676         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
67677         absolute file name and whether it is sufficient. Substitute also
67678         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
67679         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
67680         ABSOLUTE_SYSEXITS_H into sysexits.h.
67681
67682 2007-03-25  Bruno Haible  <bruno@clisp.org>
67683
67684         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
67685         hints is NULL.
67686
67687 2007-03-25  Bruno Haible  <bruno@clisp.org>
67688
67689         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
67690         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
67691
67692 2007-03-25  Bruno Haible  <bruno@clisp.org>
67693
67694         * lib/vasnprintf.c: Include langinfo.h.
67695         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
67696         multithread-safe.
67697         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
67698         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
67699         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67700         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67701         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67702         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67703         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67704         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
67705         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67706         Reported by Simon Josefsson.
67707
67708 2007-03-25  Bruno Haible  <bruno@clisp.org>
67709
67710         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
67711         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
67712         * modules/vasnprintf (Depends-on): Add stdint.
67713
67714 2007-03-25  Bruno Haible  <bruno@clisp.org>
67715
67716         * modules/fpieee: New file.
67717         * m4/fpieee.m4: New file.
67718         * modules/isnan-nolibm (Depends-on): Add fpieee.
67719         * modules/isnanl-nolibm (Depends-on): Add fpieee.
67720         * modules/isnanl (Depends-on): Add fpieee.
67721
67722 2007-03-25  Bruno Haible  <bruno@clisp.org>
67723
67724         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
67725
67726 2007-03-25  Bruno Haible  <bruno@clisp.org>
67727
67728         Avoid test failures on IRIX 6.5.
67729         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
67730         (main): Use it.
67731         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
67732         macros.
67733         (main): Use them.
67734
67735 2007-03-25  Bruno Haible  <bruno@clisp.org>
67736
67737         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
67738         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
67739         exists but doesn't work.
67740         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
67741         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
67742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
67743         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
67744         math.h.
67745
67746 2007-03-25  Bruno Haible  <bruno@clisp.org>
67747
67748         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
67749         returns inf. Needed on IRIX 6.5.
67750
67751 2007-03-25  Bruno Haible  <bruno@clisp.org>
67752
67753         * tests/test-frexpl.c: Include isnanl-nolibm.h.
67754         (main): Use isnanl instead of x != x idiom.
67755         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
67756
67757         * tests/test-frexp.c: Include isnan.h.
67758         (main): Use isnan instead of x != x idiom.
67759         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
67760
67761 2007-03-25  Bruno Haible  <bruno@clisp.org>
67762
67763         * tests/test-frexp.c (NaN): New function/macro.
67764         (main): Use it instead of 0.0 / 0.0.
67765         * tests/test-isnan.c (NaN): New function/macro.
67766         (main): Use it instead of 0.0 / 0.0.
67767         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
67768         (test_function): Use it instead of 0.0 / 0.0.
67769         * tests/test-vasprintf-posix.c (NaN): New function/macro.
67770         (test_function): Use it instead of 0.0 / 0.0.
67771         * tests/test-snprintf-posix.h (NaN): New function/macro.
67772         (test_function): Use it instead of 0.0 / 0.0.
67773         * tests/test-sprintf-posix.h (NaN): New function/macro.
67774         (test_function): Use it instead of 0.0 / 0.0.
67775         * tests/test-fprintf-posix.h (NaN): New function/macro.
67776         (test_function): Use it instead of 0.0 / 0.0.
67777         * tests/test-printf-posix.h (NaN): New function/macro.
67778         (test_function): Use it instead of 0.0 / 0.0.
67779
67780         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
67781
67782 2007-03-25  Bruno Haible  <bruno@clisp.org>
67783
67784         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
67785
67786 2007-03-25  Bruno Haible  <bruno@clisp.org>
67787
67788         * lib/regexec.c (merge_state_with_log): Make static.
67789
67790 2007-03-25  Bruno Haible  <bruno@clisp.org>
67791
67792         * lib/trigl.c (kernel_rem_pio2): Make static.
67793
67794 2007-03-25  Bruno Haible  <bruno@clisp.org>
67795
67796         * lib/sincosl.c (sincosl_table): Make static.
67797
67798 2007-03-25  Bruno Haible  <bruno@clisp.org>
67799
67800         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
67801         if the compiler does not support C99.
67802
67803 2007-03-25  Bruno Haible  <bruno@clisp.org>
67804
67805         * modules/time (Makefile.am): Ensure all rule action lines start with a
67806         tab.
67807
67808 2007-03-24  Bruno Haible  <bruno@clisp.org>
67809
67810         * modules/tsearch-tests: New file.
67811         * tests/test-tsearch.sh: New file.
67812         * tests/test-tsearch.c: New file, mostly copied from glibc.
67813
67814         * modules/search-tests: New file.
67815         * tests/test-search.c: New file.
67816
67817         * modules/search: New file.
67818         * lib/search_.h: New file, incorporating lib/tsearch.h.
67819         * m4/search_h.m4: New file.
67820         * lib/tsearch.h: Remove file.
67821         * lib/tsearch.c: Include search.h instead of tsearch.h.
67822         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
67823         HAVE_TSEARCH.
67824         * modules/tsearch (Files): Remove lib/tsearch.h.
67825         (Depends-on): Add search.
67826         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
67827         (Include): Change tsearch.h into search.h.
67828
67829 2007-03-24  Bruno Haible  <bruno@clisp.org>
67830
67831         * modules/fpucw: New file.
67832         * lib/fpucw.h: New file.
67833         * lib/frexp.c: Include fpucw.h.
67834         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67835         (FUNC): Use them.
67836         * lib/printf-frexp.c: Include fpucw.h.
67837         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
67838         (FUNC): Use them.
67839         * lib/vasnprintf.c: Include fpucw.h.
67840         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
67841         'long double' calculations.
67842         * tests/test-frexpl.c: Include fpucw.h.
67843         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67844         * tests/test-printf-frexpl.c: Include fpucw.h.
67845         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
67846         * modules/frexpl (Depends-on): Add fpucw.
67847         * modules/printf-frexpl (Depends-on): Likewise.
67848         * modules/fprintf-posix (Depends-on): Likewise.
67849         * modules/snprintf-posix (Depends-on): Likewise.
67850         * modules/sprintf-posix (Depends-on): Likewise.
67851         * modules/vasnprintf-posix (Depends-on): Likewise.
67852         * modules/vasprintf-posix (Depends-on): Likewise.
67853         * modules/vfprintf-posix (Depends-on): Likewise.
67854         * modules/vsnprintf-posix (Depends-on): Likewise.
67855         * modules/vsprintf-posix (Depends-on): Likewise.
67856         * modules/frexpl-tests (Depends-on): Likewise.
67857         * modules/printf-frexpl-tests (Depends-on): Likewise.
67858
67859 2007-03-24  Bruno Haible  <bruno@clisp.org>
67860
67861         * lib/float+.h: New file.
67862         * lib/isnan.c: Include float+.h.
67863         (SIZE): New macro.
67864         (FUNC): Compare only SIZE bytes of the value.
67865         * lib/vasnprintf.c: Include float+.h.
67866         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
67867         SIZEOF_LDBL or SIZEOF_DBL bytes.
67868         * modules/isnan-nolibm (Files): Add lib/float+.h.
67869         * modules/isnanl-nolibm (Files): Add lib/float+.h.
67870         * modules/isnanl (Files): Add lib/float+.h.
67871         * modules/vasnprintf (Files): Add lib/float+.h.
67872
67873 2007-03-24  Bruno Haible  <bruno@clisp.org>
67874
67875         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
67876         include isnanl-nolibm.h.
67877
67878 2007-03-24  Bruno Haible  <bruno@clisp.org>
67879
67880         * tests/test-read-file.c (main): Don't produce spurious output for
67881         expected situations. Make the test fail if it encountered unexpected
67882         results.
67883
67884 2007-03-24  Bruno Haible  <bruno@clisp.org>
67885
67886         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
67887         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
67888
67889 2007-03-24  Bruno Haible  <bruno@clisp.org>
67890
67891         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
67892
67893 2007-03-24  Bruno Haible  <bruno@clisp.org>
67894
67895         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
67896         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
67897
67898         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
67899         * modules/utf8-ucs4: Turn into a symbolic link to module
67900         unistr/u8-mbtouc.
67901
67902         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
67903         utf8-ucs4-unsafe.
67904         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
67905         unistr/u8-mbtouc-unsafe.
67906
67907         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
67908         * modules/utf16-ucs4: Turn into a symbolic link to module
67909         unistr/u16-mbtouc.
67910
67911         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
67912         utf16-ucs4-unsafe.
67913         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
67914         unistr/u16-mbtouc-unsafe.
67915
67916         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
67917         * modules/ucs4-utf8: Turn into a symbolic link to module
67918         unistr/u8-ubtomb.
67919
67920         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
67921         * modules/ucs4-utf16: Turn into a symbolic link to module
67922         unistr/u16-ubtomb.
67923
67924 2007-03-24  Bruno Haible  <bruno@clisp.org>
67925
67926         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
67927         Enable the function only if HAVE_INLINE.
67928         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
67929         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67930         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
67931         Enable the function only if HAVE_INLINE.
67932         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
67933         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
67934         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
67935         Enable the function only if HAVE_INLINE.
67936         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
67937         Enable the function only if HAVE_INLINE.
67938         * modules/utf8-ucs4: Update.
67939         * modules/utf8-ucs4-unsafe: Update.
67940         * modules/utf16-ucs4: Update.
67941         * modules/utf16-ucs4-unsafe: Update.
67942         * modules/ucs4-utf8: Update.
67943         * modules/ucs4-utf16: Update.
67944
67945 2007-03-24  Bruno Haible  <bruno@clisp.org>
67946
67947         * lib/utf8-ucs4.h: Remove file.
67948         * lib/utf8-ucs4-unsafe.h: Remove file.
67949         * lib/utf16-ucs4.h: Remove file.
67950         * lib/utf16-ucs4-unsafe.h: Remove file.
67951         * lib/ucs4-utf8.h: Remove file.
67952         * lib/ucs4-utf16.h: Remove file.
67953         * lib/unistr.h: Include their previous contents.
67954         * m4/utf-ucs4.m4: Remove file.
67955         * m4/ucs4-utf.m4: Remove file.
67956         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
67957         (Depends-on): Add unistr/base.
67958         (configure.ac): Remove gl_UTF_UCS4.
67959         (Makefile.am): Update.
67960         (Include): Change to unistr.h.
67961         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
67962         (Depends-on): Add unistr/base.
67963         (configure.ac): Remove gl_UTF_UCS4.
67964         (Makefile.am): Update.
67965         (Include): Change to unistr.h.
67966         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
67967         (Depends-on): Add unistr/base.
67968         (configure.ac): Remove gl_UTF_UCS4.
67969         (Makefile.am): Update.
67970         (Include): Change to unistr.h.
67971         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
67972         (Depends-on): Add unistr/base.
67973         (configure.ac): Remove gl_UTF_UCS4.
67974         (Makefile.am): Update.
67975         (Include): Change to unistr.h.
67976         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
67977         (Depends-on): Add unistr/base.
67978         (configure.ac): Remove gl_UCS4_UTF.
67979         (Makefile.am): Update.
67980         (Include): Change to unistr.h.
67981         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
67982         (Depends-on): Add unistr/base.
67983         (configure.ac): Remove gl_UCS4_UTF.
67984         (Makefile.am): Update.
67985         (Include): Change to unistr.h.
67986         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
67987         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
67988         utf8-ucs4-unsafe.h.
67989         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
67990         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
67991         utf16-ucs4-unsafe.h.
67992         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
67993         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
67994         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
67995         * lib/unistr/u8-strchr.c: Likewise.
67996         * lib/unistr/u8-strrchr.c: Likewise.
67997         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
67998         * lib/unistr/u16-strchr.c: Likewise.
67999         * lib/unistr/u16-strrchr.c: Likewise.
68000         * lib/striconveh.c: Update.
68001         * lib/linebreak.c: Update.
68002
68003 2007-03-24  Bruno Haible  <bruno@clisp.org>
68004
68005         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68006         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68007
68008 2007-03-22  Bruno Haible  <bruno@clisp.org>
68009
68010         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68011
68012 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68013
68014         * MODULES.html.sh (File system functions): New module write-any-file.
68015         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68016         * m4/write-any-file.m4: New files.
68017
68018 2007-03-23  Eric Blake  <ebb9@byu.net>
68019
68020         * gnulib-tool: Rearrange space-tab sequences, since some editors
68021         like to eat them.
68022
68023 2007-03-23  Eric Blake  <ebb9@byu.net>
68024
68025         * lib/version-etc.c (version_etc_va): Update license wording to
68026         be more concise.  Recommended by Richard Stallman.
68027
68028 2007-03-22  Bruno Haible  <bruno@clisp.org>
68029
68030         * lib/poll.c (MSG_PEEK): New fallback definition.
68031
68032 2007-03-22  Bruno Haible  <bruno@clisp.org>
68033
68034         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68035         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68036         (main): Update.
68037         Fixes a compilation error on BeOS.
68038
68039 2007-03-22  Bruno Haible  <bruno@clisp.org>
68040
68041         * modules/frexpl-tests: New file.
68042         * tests/test-frexpl.c: New file.
68043
68044         * modules/frexpl: New file.
68045         * m4/frexpl.m4: New file.
68046         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68047         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68049         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68050         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68051         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68052
68053 2007-03-22  Bruno Haible  <bruno@clisp.org>
68054
68055         * lib/frexpl.c: Share code with lib/frexp.c.
68056         * modules/mathl (Files): Add lib/frexp.c.
68057         (Depends-on): Add isnanl-nolibm.
68058
68059 2007-03-22  Bruno Haible  <bruno@clisp.org>
68060
68061         * modules/printf-frexp (Files): Add m4/frexp.m4.
68062         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68063         only if the found frexp function actually works.
68064
68065 2007-03-22  Bruno Haible  <bruno@clisp.org>
68066
68067         * lib/frexp.c: Remove older implementation that uses divisions.
68068
68069 2007-03-21  Bruno Haible  <bruno@clisp.org>
68070
68071         * modules/frexp-tests: New file.
68072         * tests/test-frexp.c: New file.
68073
68074         * modules/frexp: New file.
68075         * lib/frexp.c: New file.
68076         * m4/frexp.m4: New file.
68077         * lib/math_.h (frexp): New declaration.
68078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68079         REPLACE_FREXP.
68080         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68081
68082 2007-03-21  Bruno Haible  <bruno@clisp.org>
68083
68084         * modules/isnanl-tests: New file.
68085         * tests/test-isnanl.c: New file.
68086
68087         * modules/isnanl: New file.
68088         * lib/isnanl.h: New file.
68089         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68090         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68091         gl_FUNC_ISNANL_WORKS.
68092         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68093         New macros.
68094
68095 2007-03-21  Bruno Haible  <bruno@clisp.org>
68096
68097         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68098         lib/isnanl.h.
68099         (Include): Update.
68100         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68101         * lib/vasnprintf.c: Update.
68102         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68103         tests/test-isnanl.h, remove tests/test-isnanl.c.
68104         (Makefile.am): Update.
68105         * tests/test-isnanl-nolibm.c: New file.
68106         * tests/test-isnanl.h: New file.
68107         * tests/test-isnanl.c: Remove file.
68108
68109 2007-03-21  Jim Meyering  <jim@meyering.net>
68110
68111         When trying to open ".", treat ESTALE like EACCES.
68112         * lib/savewd.c (savewd_save): Resort to forking not just upon
68113         failure with EACCES, but also when errno is ESTALE.
68114
68115 2007-03-20  Bruno Haible  <bruno@clisp.org>
68116
68117         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68118         Needed on AIX 5.1. Reported by Matthew Woehlke.
68119
68120 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68121
68122         Suggestions by Bruno Haible:
68123         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68124         our own.
68125         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68126         * modules/acl (Depends-on): Add gettext.
68127
68128 2007-03-19  Bruno Haible  <bruno@clisp.org>
68129
68130         * modules/iconvme: Remove file.
68131         * lib/iconvme.h: Remove file.
68132         * lib/iconvme.c: Remove file.
68133         * m4/iconvme.m4: Remove file.
68134
68135 2007-03-19  Bruno Haible  <bruno@clisp.org>
68136
68137         * doc/relocatable-maint.texi: Break long shell script line.
68138         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68139
68140 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68141
68142         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68143         handle file_has_acl.
68144         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68145         * lib/acl.c: Move header inclusions and related macro defns into
68146         lib/acl-internal.h.
68147         (S_ISLNK): Remove defn, since that's now done for us.
68148         (file_has_acl): Move to lib/file-has-acl.c.
68149         Call acl_trivial if available.  This is the crucial part of the fix.
68150         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68151         shared within the library.  Rewrite a bit, partly to make it compatible
68152         with the GNU coding style.
68153         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68154         Remove unnecessary double-quotes.
68155         Don't test for acl_to_text; the build will catch that.
68156         Replace acl_entries if it doesn't exist and it is needed.
68157         Check for -lsec and acl_trivial (as used on Solaris 10).
68158         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68159         lib/file-has-acl.c.
68160         (Depends-on): Add sys_stat, for S_ISLNK.
68161
68162 2007-03-19  Ben Pfaff  <blp@gnu.org>
68163
68164         * doc/gnulib.texi: Fix typos.
68165         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68166
68167 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68168
68169         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68170         If size is zero here, buf must be zero.
68171
68172 2007-03-19  Simon Josefsson  <simon@josefsson.org>
68173
68174         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
68175         <bruno@clisp.org>.
68176
68177 2007-03-18  Bruno Haible  <bruno@clisp.org>
68178
68179         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
68180         Suggested by Eric Blake.
68181
68182 2007-03-18  Ben Pfaff  <blp@gnu.org>
68183
68184         * doc/relocatable.texi: Recommend using as prefix a directory
68185         that does not exist and will never be created.  Based on
68186         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
68187         and others.
68188
68189 2007-03-17  Bruno Haible  <bruno@clisp.org>
68190
68191         * lib/fchownat.c: Include lchown.h.
68192
68193 2007-03-17  Bruno Haible  <bruno@clisp.org>
68194
68195         Fix endless loop when the given allocated size was > INT_MAX.
68196         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
68197         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
68198         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
68199         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
68200         * lib/sprintf.c (sprintf): Likewise.
68201
68202 2007-03-17  Bruno Haible  <bruno@clisp.org>
68203
68204         * tests/test-argp-2.sh (func_compare): Output a context diff.
68205
68206 2007-03-17  Bruno Haible  <bruno@clisp.org>
68207
68208         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
68209         locale's decimal-point character.
68210
68211 2007-03-17  Bruno Haible  <bruno@clisp.org>
68212
68213         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
68214         before comparing it. Needed because on some platforms (e.g. x86) a
68215         'long double' occupies less bytes than sizeof (long double).
68216
68217 2007-03-17  Bruno Haible  <bruno@clisp.org>
68218
68219         * tests/test-crc.c (main): Make printf statements 64-bit clean.
68220         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
68221         * tests/test-getaddrinfo.c (simple): Likewise.
68222         * tests/test-read-file.c (main): Likewise.
68223
68224 2007-03-17  Bruno Haible  <bruno@clisp.org>
68225
68226         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
68227
68228 2007-03-17  Bruno Haible  <bruno@clisp.org>
68229
68230         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
68231         unused variable.
68232
68233 2007-03-17  Bruno Haible  <bruno@clisp.org>
68234
68235         * tests/test-c-strcasecmp.c: Include c-strcase.h.
68236         * tests/test-c-strncasecmp.c: Likewise.
68237
68238 2007-03-17  Bruno Haible  <bruno@clisp.org>
68239
68240         * modules/stdlib (Depends-on): Add unistd.
68241         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
68242         Needed for MacOS X 10.3.
68243
68244 2007-03-17  Bruno Haible  <bruno@clisp.org>
68245
68246         * lib/unistr/u-strdup.h: Include <stdlib.h>.
68247
68248 2007-03-17  Bruno Haible  <bruno@clisp.org>
68249
68250         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
68251
68252 2007-03-17  Bruno Haible  <bruno@clisp.org>
68253
68254         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
68255         to reflect files copied from gnulib (with or without modifications).
68256         Suggested by Jim Meyering.
68257
68258 2007-03-17  Eric Blake  <ebb9@byu.net>
68259
68260         * NEWS: Document stdlib change from 2007-02-18.
68261
68262 2007-03-17  Jim Meyering  <jim@meyering.net>
68263
68264         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
68265         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
68266         someone uses a name containing shell meta-characters.
68267         Reported by Alfred M. Szmidt.
68268
68269         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
68270
68271 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68272
68273         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
68274         and copy gettext configuration files only if configure.ac contains
68275         a use of AM_GNU_GETTEXT_VERSION.
68276
68277 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
68278
68279         * build-aux/bootstrap (gnulib_name): New variable.
68280         (gnulib_tool_options): Use it.
68281
68282 2007-03-13  Simon Josefsson  <simon@josefsson.org>
68283
68284         * tests/test-des.c: Use new namespace.
68285
68286 2007-03-15  Bruno Haible  <bruno@clisp.org>
68287
68288         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
68289         Reported by James Youngman <jay@gnu.org>.
68290
68291 2007-03-15  Bruno Haible  <bruno@clisp.org>
68292
68293         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
68294         declared prototype. Needed with cc on OSF/1 5.1.
68295
68296 2007-03-15  Bruno Haible  <bruno@clisp.org>
68297
68298         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
68299         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
68300         (struct gl_list_implementation): Add dispose_fn argument to the
68301         'create_empty', 'create' methods.
68302         (struct gl_list_impl_base): Add field 'dispose_fn'.
68303         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
68304         argument.
68305         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
68306         dispose_fn argument.
68307         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
68308         dispose_fn on the dropped values.
68309         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
68310         dispose_fn argument.
68311         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
68312         dropped values.
68313         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
68314         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68315         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
68316         (gl_tree_remove_node): Call dispose_fn on the dropped value.
68317         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
68318         argument.
68319         (gl_tree_list_free): Call dispose_fn on the dropped values.
68320         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
68321         the dropped values.
68322         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
68323         Add dispose_fn argument.
68324         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
68325         Call dispose_fn on the dropped values.
68326         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
68327         Add dispose_fn argument.
68328         (gl_sublist_create): Initialize the 'dispose_fn' field.
68329         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
68330         * tests/test-array_list.c (main): Update.
68331         * tests/test-carray_list.c (main): Update.
68332         * tests/test-avltree_list.c (main): Update.
68333         * tests/test-rbtree_list.c (main): Update.
68334         * tests/test-avltreehash_list.c (main): Update.
68335         * tests/test-rbtreehash_list.c (main): Update.
68336         * tests/test-linked_list.c (main): Update.
68337         * tests/test-linkedhash_list.c (main): Update.
68338         * tests/test-array_oset.c (main): Update.
68339
68340 2007-03-15  Bruno Haible  <bruno@clisp.org>
68341
68342         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
68343         (gl_oset_create_empty): Add dispose_fn argument.
68344         (struct gl_oset_implementation): Add dispose_fn argument to
68345         'create_empty' method.
68346         (struct gl_oset_impl_base): Add dispose_fn field.
68347         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
68348         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
68349         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
68350         values.
68351         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
68352         (gl_tree_oset_free): Call dispose_fn on the dropped values.
68353         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68354         dropped value.
68355         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
68356         dropped value.
68357         * tests/test-array_oset.c (main): Update.
68358         * tests/test-avltree_oset.c (main): Update.
68359         * tests/test-rbtree_oset.c (main): Update.
68360         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
68361
68362 2007-03-13  Bruno Haible  <bruno@clisp.org>
68363
68364         * tests/test-stdbool.c (i): Update after last patch.
68365
68366 2007-03-12  Bruno Haible  <bruno@clisp.org>
68367
68368         * lib/quotearg.c: Include <wctype.h> early, before the definition of
68369         the iswprint macro. Needed on Solaris 2.5.1.
68370
68371 2007-03-12  Bruno Haible  <bruno@clisp.org>
68372
68373         * tests/test-printf-frexp.c (main): Declare x as volatile.
68374
68375 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68376
68377         * doc/gnulib.texi (Build robot for gnulib): New section.
68378
68379 2007-03-12  Jim Meyering  <jim@meyering.net>
68380
68381         * build-aux/bootstrap: New file.
68382         * build-aux/bootstrap.conf: New file, from coreutils.
68383
68384 2007-03-11  Bruno Haible  <bruno@clisp.org>
68385
68386         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
68387
68388 2007-03-12  Simon Josefsson  <simon@josefsson.org>
68389
68390         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
68391         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
68392         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
68393
68394 2007-03-11  Bruno Haible  <bruno@clisp.org>
68395
68396         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
68397         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
68398
68399 2007-03-11  Bruno Haible  <bruno@clisp.org>
68400
68401         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
68402         formula. Needed for SunPRO C 5.0.
68403
68404 2007-03-11  Bruno Haible  <bruno@clisp.org>
68405
68406         * modules/long-options (Depends-on): Add getopt.
68407
68408 2007-03-11  Bruno Haible  <bruno@clisp.org>
68409
68410         * modules/modechange (Depends-on): Add stdbool.
68411
68412 2007-03-11  Bruno Haible  <bruno@clisp.org>
68413
68414         * modules/i-ring (Depends-on): Add stdbool.
68415
68416 2007-03-11  Bruno Haible  <bruno@clisp.org>
68417
68418         * modules/gc-des (Depends-on): Add stdbool.
68419
68420 2007-03-11  Bruno Haible  <bruno@clisp.org>
68421
68422         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
68423
68424 2007-03-11  Bruno Haible  <bruno@clisp.org>
68425
68426         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
68427
68428 2007-03-11  Bruno Haible  <bruno@clisp.org>
68429
68430         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
68431
68432 2007-03-11  Bruno Haible  <bruno@clisp.org>
68433
68434         * lib/vasnprintf.c (sprintf): Undefine.
68435
68436 2007-03-11  Bruno Haible  <bruno@clisp.org>
68437
68438         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
68439         initializers in SunPRO C and Compaq C compilers.
68440
68441 2007-03-11  Bruno Haible  <bruno@clisp.org>
68442
68443         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
68444         decrementing code ANSI C compliant.
68445
68446 2007-03-11  Bruno Haible  <bruno@clisp.org>
68447
68448         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
68449         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
68450
68451 2007-03-11  Bruno Haible  <bruno@clisp.org>
68452
68453         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
68454         <stdbool.h> substitute doesn't pass.
68455
68456 2007-03-11  Bruno Haible  <bruno@clisp.org>
68457
68458         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
68459
68460 2007-03-11  Bruno Haible  <bruno@clisp.org>
68461
68462         * gnulib-tool (func_create_megatestdir): Create also an autobuild
68463         script, for submission to autobuild.josefsson.org.
68464
68465 2007-03-10  Bruno Haible  <bruno@clisp.org>
68466
68467         * modules/canonicalize-lgpl-tests: New file.
68468         * tests/test-canonicalize-lgpl.sh: New file.
68469         * tests/test-canonicalize-lgpl.c: New file.
68470
68471         * modules/c-strcase-tests: New file.
68472         * tests/test-c-strcase.sh: New file.
68473         * tests/test-c-strcasecmp.c: New file.
68474         * tests/test-c-strncasecmp.c: New file.
68475
68476         * modules/atexit-tests: New file.
68477         * tests/test-atexit.sh: New file.
68478         * tests/test-atexit.c: New file.
68479
68480 2007-03-10  Bruno Haible  <bruno@clisp.org>
68481
68482         * tests/test-binary-io.sh: Use temporary filenames that are not so
68483         likely to clash with those of other tests (in a parallel make).
68484         * tests/test-binary-io.c: Likewise.
68485
68486 2007-03-10  Bruno Haible  <bruno@clisp.org>
68487
68488         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
68489         fallback; use #error instead.
68490         Suggested by Simon Josefsson.
68491
68492 2007-03-10  Bruno Haible  <bruno@clisp.org>
68493
68494         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
68495         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
68496         first and the last.
68497
68498 2007-03-10  Bruno Haible  <bruno@clisp.org>
68499
68500         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
68501
68502 2007-03-10  Bruno Haible  <bruno@clisp.org>
68503
68504         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
68505         "make distcheck".
68506         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
68507         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
68508         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
68509
68510 2007-03-10  Bruno Haible  <bruno@clisp.org>
68511
68512         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
68513         variable.
68514         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
68515         variable.
68516
68517 2007-03-09  Eric Blake  <ebb9@byu.net>
68518         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
68519
68520         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
68521         types are not being provided by gnulib.
68522         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
68523         types are supported.
68524
68525 2007-03-10  Bruno Haible  <bruno@clisp.org>
68526
68527         * lib/stdio_.h (__attribute__): New macro.
68528         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
68529         vsprintf): Specify __attribute__ __format__ for GCC.
68530         Suggested by Eric Blake.
68531
68532 2007-03-09  Bruno Haible  <bruno@clisp.org>
68533
68534         * modules/printf-posix-tests: New file.
68535         * tests/test-printf-posix.sh: New file.
68536         * tests/test-printf-posix.c: New file.
68537
68538         * modules/printf-posix: New file.
68539         * lib/printf.c: New file.
68540         * m4/printf-posix-rpl.m4: New file.
68541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
68542         REPLACE_PRINTF.
68543         * lib/stdio_.h (printf): New declaration.
68544         (format, __format__, ____printf____, ____scanf____, ____strftime____,
68545         ____strfmon____): New macros.
68546         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
68547         REPLACE_PRINTF.
68548
68549 2007-03-09  Bruno Haible  <bruno@clisp.org>
68550
68551         * tests/test-vasnprintf-posix2.sh: New file.
68552         * tests/test-vasnprintf-posix2.c: New file.
68553         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
68554         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
68555         (Makefile.am): Activate test-vasnprintf-posix2.sh.
68556
68557         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
68558         a locale dependent decimal point, rather than always '.'.
68559
68560 2007-03-09  Eric Blake  <ebb9@byu.net>
68561
68562         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
68563         spite of platforms like Tandem/NSK that define it to -1.
68564
68565 2007-03-08  Bruno Haible  <bruno@clisp.org>
68566
68567         * modules/vprintf-posix-tests: New file.
68568         * tests/test-vprintf-posix.sh: New file.
68569         * tests/test-vprintf-posix.c: New file.
68570         * tests/test-printf-posix.h: New file.
68571
68572         * modules/vprintf-posix: New file.
68573         * lib/vprintf.c: New file.
68574         * m4/vprintf-posix.m4: New file.
68575         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
68576         REPLACE_VPRINTF.
68577         * lib/stdio_.h (vprintf): New declaration.
68578         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
68579         REPLACE_VPRINTF.
68580
68581 2007-03-08  Bruno Haible  <bruno@clisp.org>
68582
68583         * modules/fprintf-posix-tests: New file.
68584         * tests/test-fprintf-posix.sh: New file.
68585         * tests/test-fprintf-posix.c: New file.
68586
68587         * modules/fprintf-posix: New file.
68588         * lib/fprintf.c: New file.
68589         * m4/fprintf-posix.m4: New file.
68590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
68591         REPLACE_FPRINTF.
68592         * lib/stdio_.h (fprintf): New declaration.
68593         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
68594         REPLACE_FPRINTF.
68595
68596 2007-03-08  Bruno Haible  <bruno@clisp.org>
68597
68598         * modules/vfprintf-posix-tests: New file.
68599         * tests/test-vfprintf-posix.sh: New file.
68600         * tests/test-vfprintf-posix.c: New file.
68601         * tests/test-fprintf-posix.h: New file.
68602         * tests/test-fprintf-posix.out: New file.
68603
68604         * modules/vfprintf-posix: New file.
68605         * lib/vfprintf.c: New file.
68606         * m4/vfprintf-posix.m4: New file.
68607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
68608         REPLACE_VFPRINTF.
68609         * lib/stdio_.h (vfprintf): New declaration.
68610         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
68611         REPLACE_VFPRINTF.
68612
68613 2007-03-08  Bruno Haible  <bruno@clisp.org>
68614
68615         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
68616
68617 2007-03-08  Bruno Haible  <bruno@clisp.org>
68618
68619         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
68620         instead of 'expr' invocations.
68621         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68622         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68623         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68624         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68625         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68626         Suggested by Paul Eggert.
68627
68628 2007-03-08  Bruno Haible  <bruno@clisp.org>
68629
68630         * modules/fseterr-tests: New file.
68631         * tests/test-fseterr.c: New file.
68632
68633         * modules/fseterr: New file.
68634         * lib/fseterr.h: New file.
68635         * lib/fseterr.c: New file.
68636
68637 2007-03-08  Bruno Haible  <bruno@clisp.org>
68638
68639         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
68640         * lib/getopt_.h: Likewise.
68641         * lib/mbswidth.h: Likewise.
68642         * lib/setenv.h: Likewise.
68643         * lib/vasnprintf.h: Likewise.
68644         * lib/vasprintf.h: Likewise.
68645         * lib/verror.h: Likewise.
68646         * lib/xsetenv.h: Likewise.
68647         * lib/xvasprintf.h: Likewise.
68648
68649 2007-03-08  Jim Meyering  <jim@meyering.net>
68650
68651         * users.txt: Add parted.
68652
68653         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
68654
68655 2007-03-07  Bruno Haible  <bruno@clisp.org>
68656
68657         * m4/printf.m4: Make the shell script snippets copy&pastable.
68658
68659 2007-03-02  Bruno Haible  <bruno@clisp.org>
68660
68661         * lib/netinet_in_.h: New file.
68662         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
68663         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
68664         * modules/netinet_in (Files): Add lib/netinet_in_.h.
68665         (Depends-on): Add absolute-header.
68666         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
68667         into netinet/in.h.
68668
68669 2007-03-03  Bruno Haible  <bruno@clisp.org>
68670
68671         * lib/sys_select_.h: New file.
68672         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
68673         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
68674         * modules/sys_select (Files): Add lib/sys_select_.h.
68675         (Depends-on): Add absolute-header.
68676         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
68677         into sys/select.h.
68678
68679 2007-03-02  Bruno Haible  <bruno@clisp.org>
68680
68681         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
68682         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
68683         values.
68684         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
68685         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
68686         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
68687         * modules/sys_socket (Depends-on): Add absolute-header.
68688         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
68689         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
68690         (Include): Remove requirement of inclusion of <sys/types.h>.
68691
68692 2007-03-02  Bruno Haible  <bruno@clisp.org>
68693
68694         * lib/byteswap_.h (bswap_32): Fix formula.
68695
68696 2007-03-06  Bruno Haible  <bruno@clisp.org>
68697
68698         * modules/sprintf-posix-tests: New file.
68699         * tests/test-sprintf-posix.c: New file.
68700
68701         * modules/sprintf-posix: New file.
68702         * lib/sprintf.c: New file.
68703         * m4/sprintf-posix.m4: New file.
68704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
68705         REPLACE_SPRINTF.
68706         * lib/stdio_.h (sprintf): New declaration.
68707         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
68708         REPLACE_SPRINTF.
68709
68710 2007-03-06  Bruno Haible  <bruno@clisp.org>
68711
68712         * modules/vsprintf-posix-tests: New file.
68713         * tests/test-vsprintf-posix.c: New file.
68714         * tests/test-sprintf-posix.h: New file.
68715
68716         * modules/vsprintf-posix: New file.
68717         * lib/vsprintf.c: New file.
68718         * m4/vsprintf-posix.m4: New file.
68719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
68720         REPLACE_VSPRINTF.
68721         * lib/stdio_.h (vsprintf): New declaration.
68722         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
68723         REPLACE_VSPRINTF.
68724
68725 2007-03-06  Bruno Haible  <bruno@clisp.org>
68726
68727         * modules/vsnprintf (Depend-on): Remove minmax.
68728
68729 2007-03-06  Bruno Haible  <bruno@clisp.org>
68730
68731         * modules/snprintf-posix-tests: New file.
68732         * tests/test-snprintf-posix.c: New file.
68733
68734         * modules/snprintf-posix: New file.
68735         * m4/snprintf-posix.m4: New file.
68736         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
68737         gl_FUNC_SNPRINTF.
68738         (gl_FUNC_SNPRINTF): Invoke it.
68739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
68740         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
68741         is set.
68742         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
68743
68744 2007-03-06  Bruno Haible  <bruno@clisp.org>
68745
68746         * modules/vsnprintf-posix-tests: New file.
68747         * tests/test-vsnprintf-posix.c: New file.
68748         * tests/test-snprintf-posix.h: New file.
68749
68750         * modules/vsnprintf-posix: New file.
68751         * m4/vsnprintf-posix.m4: New file.
68752         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
68753         gl_FUNC_VSNPRINTF.
68754         (gl_FUNC_VSNPRINTF): Invoke it.
68755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
68756         * lib/stdio_.h (vsnprintf): Define as a replacement if
68757         REPLACE_VSNPRINTF is set.
68758         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
68759
68760 2007-03-06  Bruno Haible  <bruno@clisp.org>
68761
68762         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
68763         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
68764
68765 2007-03-06  Bruno Haible  <bruno@clisp.org>
68766
68767         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
68768         (asinl): Declare also if HAVE_DECL_ASINL is set.
68769         (atanl): Declare also if HAVE_DECL_ATANL is set.
68770         (ceill): Declare also if HAVE_DECL_CEILL is set.
68771         (cosl): Declare also if HAVE_DECL_COSL is set.
68772         (expl): Declare also if HAVE_DECL_EXPL is set.
68773         (floorl): Declare also if HAVE_DECL_FLOORL is set.
68774         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
68775         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
68776         (logl): Declare also if HAVE_DECL_LOGL is set.
68777         (sinl): Declare also if HAVE_DECL_SINL is set.
68778         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
68779         (tanl): Declare also if HAVE_DECL_TANL is set.
68780         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
68781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
68782         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
68783         declaration of frexpl, ldexpl.
68784         * modules/printf-frexpl (Depends-on): Add math.
68785         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
68786
68787 2007-03-05  Bruno Haible  <bruno@clisp.org>
68788
68789         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
68790         frexpl and ldexpl are declared.
68791         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
68792
68793 2007-03-05  Bruno Haible  <bruno@clisp.org>
68794
68795         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
68796         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
68797
68798 2007-03-05  Bruno Haible  <bruno@clisp.org>
68799
68800         * lib/stdio_.h: Include <stddef.h>.
68801
68802 2007-03-05  Bruno Haible  <bruno@clisp.org>
68803
68804         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
68805
68806 2007-03-05  Bruno Haible  <bruno@clisp.org>
68807
68808         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
68809         NetBSD 4, from Ralf Wildenhues.
68810
68811 2007-03-04  Bruno Haible  <bruno@clisp.org>
68812
68813         * lib/vasprintf.h: Update #if logic for the case when the functions
68814         exist but are overridden.
68815
68816 2007-03-04  Bruno Haible  <bruno@clisp.org>
68817
68818         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
68819         implementations: glibc-2.4 and MacOS X 10.3.
68820         * tests/test-vasnprintf-posix.c (test_function): Test also the case
68821         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
68822         * tests/test-vasprintf-posix.c (test_function): Likewise.
68823
68824 2007-03-04  Bruno Haible  <bruno@clisp.org>
68825
68826         * modules/vasprintf-posix-tests: New file.
68827         * tests/test-vasprintf-posix.c: New file.
68828
68829         * modules/vasprintf-posix: New file.
68830         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
68831         defined.
68832         * m4/vasprintf-posix.m4: New file.
68833         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
68834         gl_FUNC_VASPRINTF.
68835         (gl_FUNC_VASPRINTF): Invoke it.
68836         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
68837         here.
68838         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
68839
68840 2007-03-04  Bruno Haible  <bruno@clisp.org>
68841
68842         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
68843         REPLACE_GETTIMEOFDAY.
68844         * modules/sys_time (Makefile.am): Likewise.
68845         * m4/sys_time_h.m4: Likewise.
68846         * m4/gettimeofday.m4: Likewise.
68847
68848 2007-03-04  Bruno Haible  <bruno@clisp.org>
68849
68850         * modules/vasnprintf-posix-tests: New file.
68851         * tests/test-vasnprintf-posix.c: New file.
68852
68853         * modules/vasnprintf-posix: New file.
68854         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
68855         printf-frexpl.h.
68856         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
68857         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
68858         REPLACE_VASNPRINTF is defined.
68859         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
68860         gl_FUNC_VASNPRINTF.
68861         (gl_FUNC_VASNPRINTF): Invoke it.
68862         * m4/vasnprintf-posix.m4: New file.
68863         * m4/printf.m4: New file.
68864
68865 2007-03-04  Bruno Haible  <bruno@clisp.org>
68866
68867         Compile progreloc.c only if --enable-relocatable is specified.
68868         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
68869         if --enable-relocatable was specified.
68870         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
68871         lib_SOURCES.
68872
68873 2007-03-04  Jim Meyering  <jim@meyering.net>
68874
68875         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
68876         Use it consistently, rather than enumerating errno constants.
68877
68878 2007-03-04  Bruno Haible  <bruno@clisp.org>
68879
68880         * modules/xvasprintf-tests: New file.
68881         * tests/test-xvasprintf.c: New file.
68882
68883         * modules/vasprintf-tests: New file.
68884         * tests/test-vasprintf.c: New file.
68885
68886         * modules/vasnprintf-tests: New file.
68887         * tests/test-vasnprintf.c: New file.
68888
68889         * modules/vsnprintf-tests: New file.
68890         * tests/test-vsnprintf.c: New file.
68891
68892         * modules/snprintf-tests: New file.
68893         * tests/test-snprintf.c: New file.
68894
68895 2007-03-04  Bruno Haible  <bruno@clisp.org>
68896
68897         Compile relocatable.c only if --enable-relocatable is specified.
68898         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
68899         gl_RELOCATABLE_LIBRARY.
68900         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
68901         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
68902         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
68903         gl_RELOCATABLE_LIBRARY.
68904         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
68905         (Makefile.am): Remove lib_SOURCES.
68906         * modules/relocatable-lib-lgpl (configure.ac): Invoke
68907         gl_RELOCATABLE_LIBRARY.
68908         (Makefile.am): Remove lib_SOURCES.
68909         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
68910         always.
68911         * modules/relocatable-prog-wrapper (configure.ac): Invoke
68912         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
68913
68914 2007-03-04  Bruno Haible  <bruno@clisp.org>
68915
68916         * modules/argmatch-tests: New file.
68917         * tests/test-argmatch.c: New file.
68918
68919         * tests/test-allocsa.c (main): Halve the number of loop runs.
68920
68921         * modules/alloca-opt-tests: New file.
68922         * tests/test-alloca-opt.c: New file.
68923
68924 2007-03-04  Jim Meyering  <jim@meyering.net>
68925
68926         Work around difference between Linux ACLs and Solaris 10 ZFS.
68927         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
68928         for EINVAL.
68929
68930 2007-03-03  Bruno Haible  <bruno@clisp.org>
68931
68932         * modules/relocatable-prog (Depends-on): Add back progreloc's
68933         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
68934
68935 2007-03-03  Bruno Haible  <bruno@clisp.org>
68936
68937         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
68938         * modules/relocatable-lib: New file.
68939
68940 2007-03-03  Bruno Haible  <bruno@clisp.org>
68941
68942         * modules/relocatable-prog: Renamed from modules/relocatable.
68943         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
68944
68945 2007-03-03  Bruno Haible  <bruno@clisp.org>
68946
68947         * modules/relocatable-script (Files): Add doc/relocatable.texi,
68948         m4/relocatable-lib.m4.
68949         (Depends-on): Remove 'relocatable'.
68950         (configure.ac): Add gl_RELOCATABLE_NOP.
68951
68952 2007-03-03  Bruno Haible  <bruno@clisp.org>
68953
68954         * modules/relocatable-prog-wrapper: New file.
68955         * modules/relocatable (Depends-on): Add it. Remove all other
68956         dependencies except progname.
68957         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
68958
68959         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
68960         (gl_FUNC_STRERROR): Nop.
68961         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
68962
68963         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
68964         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
68965
68966         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
68967         (gl_FUNC_READLINK): Update.
68968
68969         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
68970
68971 2007-03-03  Bruno Haible  <bruno@clisp.org>
68972
68973         * lib/xreadlink.c: Include <unistd.h> unconditionally.
68974         * modules/xreadlink (Depends-on): Add unistd.
68975         * modules/xreadlink-with-size (Depends-on): Likewise.
68976
68977 2007-03-03  Bruno Haible  <bruno@clisp.org>
68978
68979         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
68980         extracted from gt_FUNC_SETENV.
68981         (gt_FUNC_SETENV): Remove macro.
68982         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
68983         remove gt_FUNC_SETENV.
68984
68985 2007-03-03  Bruno Haible  <bruno@clisp.org>
68986
68987         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
68988         ENABLE_RELOCATABLE here.
68989         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
68990
68991 2007-03-03  Bruno Haible  <bruno@clisp.org>
68992
68993         * modules/rbtreehash-list-tests (Depends-on): Add progname.
68994         * tests/test-rbtreehash_list.c: Include progname.h.
68995         (main): Call set_program_name.
68996
68997         * modules/rbtree-oset-tests (Depends-on): Add progname.
68998         * tests/test-rbtree_oset.c: Include progname.h.
68999         (main): Call set_program_name.
69000
69001         * modules/rbtree-list-tests (Depends-on): Add progname.
69002         * tests/test-rbtree_list.c: Include progname.h.
69003         (main): Call set_program_name.
69004
69005         * modules/linked-list-tests (Depends-on): Add progname.
69006         * tests/test-linked_list.c: Include progname.h.
69007         (main): Call set_program_name.
69008
69009 2007-03-03  Bruno Haible  <bruno@clisp.org>
69010
69011         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69012         All uses of __restrict changed to _Restrict_.
69013         * lib/glob_.h (__restrict): Remove macro.
69014
69015 2007-03-02  Bruno Haible  <bruno@clisp.org>
69016
69017         * modules/gettext (configure.ac): Require gettext infrastructure
69018         from version 0.16.1.
69019
69020 2007-03-02  Bruno Haible  <bruno@clisp.org>
69021
69022         * modules/linkedhash-list-tests (Depends-on): Add progname.
69023         * tests/test-linkedhash_list.c: Include progname.h.
69024         (main): Call set_program_name.
69025
69026         * modules/carray-list-tests (Depends-on): Add progname.
69027         * tests/test-carray_list.c: Include progname.h.
69028         (main): Call set_program_name.
69029
69030         * modules/avltreehash-list-tests (Depends-on): Add progname.
69031         * tests/test-avltreehash_list.c: Include progname.h.
69032         (main): Call set_program_name.
69033
69034         * modules/avltree-oset-tests (Depends-on): Add progname.
69035         * tests/test-avltree_oset.c: Include progname.h.
69036         (main): Call set_program_name.
69037
69038         * modules/avltree-list-tests (Depends-on): Add progname.
69039         * tests/test-avltree_list.c: Include progname.h.
69040         (main): Call set_program_name.
69041
69042         * modules/array-oset-tests (Depends-on): Add progname.
69043         * tests/test-array_oset.c: Include progname.h.
69044         (main): Call set_program_name.
69045
69046         * modules/array-list-tests (Depends-on): Add progname.
69047         * tests/test-array_list.c: Include progname.h.
69048         (main): Call set_program_name.
69049
69050         * modules/argp-tests (Depends-on): Add progname.
69051         * tests/test-argp.c: Include argp.h first. Include progname.h.
69052         (main): Call set_program_name.
69053
69054 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69055
69056         * doc/gnulib-tool.texi (Initial import): Reword description of
69057         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69058         limited effect even if defined after the first system include.
69059
69060 2007-03-01  Bruno Haible  <bruno@clisp.org>
69061
69062         * build-aux/config.libpath: Update to libtool-1.5.22.
69063         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69064
69065 2007-03-01  Bruno Haible  <bruno@clisp.org>
69066
69067         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69068         foo_CFLAGS.
69069         Reported by Ralf Wildenhues.
69070
69071 2007-03-01  Bruno Haible  <bruno@clisp.org>
69072
69073         * build-aux/install-reloc: Remove object files left over by some
69074         compilers.
69075         Reported by Ralf Wildenhues.
69076
69077 2007-03-01  Bruno Haible  <bruno@clisp.org>
69078
69079         * build-aux/install-reloc: Break long lines.
69080
69081 2007-03-01  Bruno Haible  <bruno@clisp.org>
69082
69083         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69084         Reported by Ralf Wildenhues.
69085
69086 2007-03-01  Bruno Haible  <bruno@clisp.org>
69087
69088         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69089         include ordering constraints.
69090
69091 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69092
69093         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69094         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69095         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69096         as another example.
69097         * lib/time_.h: Fix misspelling.
69098         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69099         Require gl_HEADER_TIME_H_DEFAULTS.
69100         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69101         * m4/time_r.m4 (gl_TIME_R): Likewise.
69102         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69103
69104 2007-03-01  Bruno Haible  <bruno@clisp.org>
69105
69106         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69107         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69108
69109 2007-03-01  Jim Meyering  <jim@meyering.net>
69110
69111         * modules/xreadlink (Maintainer): Add my name.
69112         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69113
69114 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69115             Bruno Haible  <bruno@clisp.org>
69116
69117         * build-aux/install-reloc: Compile also c-ctype.c.
69118         * build-aux/relocatable.sh.in: New file.
69119         * doc/relocatable.texi: New file.
69120         * doc/relocatable-maint.texi: New file.
69121         * doc/gnulib.texi: Include relocatable-maint.texi.
69122         * lib/progreloc.c: Include unistd.h unconditionally.
69123         * lib/relocwrapper.c: Include unistd.h unconditionally.
69124         Include c-ctype.h.
69125         (add_dotbin): Use c_tolower.
69126         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69127         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69128         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69129         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69130         to m4/relocatable-lib.m4.
69131         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69132         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69133         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69134         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69135         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69136         * modules/relocatable: New file.
69137         * modules/relocatable-lib: New file.
69138         * modules/relocatable-script: New file.
69139
69140 2007-02-28  Bruno Haible  <bruno@clisp.org>
69141
69142         Import --enable-relocatable infrastructure.
69143         * build-aux/config.libpath: New file, from GNU gettext.
69144         * build-aux/install-reloc: New file, from GNU gettext.
69145         * build-aux/reloc-ldflags: New file, from GNU gettext.
69146         * lib/relocatable.h: New file, from GNU gettext.
69147         * lib/relocatable.c: New file, from GNU gettext.
69148         * lib/relocwrapper.c: New file, from GNU gettext.
69149         * m4/relocatable.m4: New file, from GNU gettext.
69150
69151 2007-02-28  Bruno Haible  <bruno@clisp.org>
69152
69153         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69154
69155         * modules/xreadlink: New file, from GNU gettext with modifications.
69156         * lib/xreadlink.c: New file, from GNU gettext.
69157         * lib/xreadlink.h: Add comments.
69158         (xreadlink): New declaration.
69159
69160         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69161         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69162         lib/xreadlink-with-size.c.
69163         (configure.ac): Remove gl_XREADLINK invocation.
69164         (Makefile.am): Augment lib_SOURCES.
69165         * m4/xreadlink.m4: Remove file.
69166         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69167         (xreadlink_with_size): Renamed from xreadink.
69168         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69169         * modules/canonicalize (Depends-on): Replace xreadlink with
69170         xreadlink-with-size.
69171         * lib/canonicalize.c (canonicalize_filename_mode): Update.
69172
69173 2007-02-25  Jim Meyering  <jim@meyering.net>
69174
69175         * build-aux/announce-gen: When complaining about excess arguments,
69176         list them.
69177
69178 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
69179
69180         * README: Document signed integer overflow situation more
69181         accurately.
69182
69183 2007-02-25  Bruno Haible  <bruno@clisp.org>
69184
69185         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
69186         'a' or 'A' conversion.
69187
69188 2007-02-25  Bruno Haible  <bruno@clisp.org>
69189
69190         * modules/filename: Renamed from modules/pathname.
69191         (Files): Replace lib/pathname.h with lib/filename.h. Replace
69192         lib/concatpath.c with lib/concat-filename.c.
69193         (Makefile.am): Update.
69194         (Include): Replace pathname.h with filename.h.
69195         * lib/filename.h: Renamed from lib/pathname.h.
69196         (concatenated_filename): Renamed from concatenated_pathname.
69197         * lib/concat-filename.c: Renamed from lib/concatpath.c.
69198         (concatenated_filename): Renamed from concatenated_pathname.
69199         * lib/findprog.c: Include filename.h instead of pathname.h.
69200         (find_in_path): Update.
69201         * lib/javacomp.c: Include filename.h instead of pathname.h.
69202         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
69203         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
69204         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
69205         is_oldgcj_14_13_usable, is_javac_usable): Update.
69206         * lib/javaexec.c: Include filename.h instead of pathname.h.
69207         (execute_java_class): Update.
69208         * modules/findprog: Update.
69209         * modules/javacomp: Update.
69210         * modules/javaexec: Update.
69211         * MODULES.html.sh (File system functions): Add 'filename', remove
69212         'pathname'.
69213
69214 2007-02-25  Bruno Haible  <bruno@clisp.org>
69215
69216         * modules/printf-frexpl-tests: New file.
69217         * tests/test-printf-frexpl.c: New file.
69218
69219         * modules/printf-frexpl: New file.
69220         * lib/printf-frexpl.h: New file.
69221         * lib/printf-frexpl.c: New file.
69222         * m4/printf-frexpl.m4: New file.
69223
69224 2007-02-25  Bruno Haible  <bruno@clisp.org>
69225
69226         * modules/printf-frexp-tests: New file.
69227         * tests/test-printf-frexp.c: New file.
69228
69229         * modules/printf-frexp: New file.
69230         * lib/printf-frexp.h: New file.
69231         * lib/printf-frexp.c: New file.
69232         * m4/printf-frexp.m4: New file.
69233
69234 2007-02-25  Bruno Haible  <bruno@clisp.org>
69235
69236         Assume automake >= 1.10 for the tests.
69237         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
69238         * modules/arctwo-tests: Likewise.
69239         * modules/argp-tests: Likewise.
69240         * modules/avltree-list-tests: Likewise.
69241         * modules/avltree-oset-tests: Likewise.
69242         * modules/avltreehash-list-tests: Likewise.
69243         * modules/carray-list-tests: Likewise.
69244         * modules/crc-tests: Likewise.
69245         * modules/des-tests: Likewise.
69246         * modules/gc-arcfour-tests: Likewise.
69247         * modules/gc-arctwo-tests: Likewise.
69248         * modules/gc-des-tests: Likewise.
69249         * modules/gc-hmac-md5-tests: Likewise.
69250         * modules/gc-hmac-sha1-tests: Likewise.
69251         * modules/gc-md2-tests: Likewise.
69252         * modules/gc-md4-tests: Likewise.
69253         * modules/gc-md5-tests: Likewise.
69254         * modules/gc-pbkdf2-sha1-tests: Likewise.
69255         * modules/gc-rijndael-tests: Likewise.
69256         * modules/gc-sha1-tests: Likewise.
69257         * modules/gc-tests: Likewise.
69258         * modules/getaddrinfo-tests: Likewise.
69259         * modules/hmac-md5-tests: Likewise.
69260         * modules/hmac-sha1-tests: Likewise.
69261         * modules/linked-list-tests: Likewise.
69262         * modules/linkedhash-list-tests: Likewise.
69263         * modules/lock-tests: Likewise.
69264         * modules/md2-tests: Likewise.
69265         * modules/md4-tests: Likewise.
69266         * modules/md5-tests: Likewise.
69267         * modules/rbtree-list-tests: Likewise.
69268         * modules/rbtree-oset-tests: Likewise.
69269         * modules/rbtreehash-list-tests: Likewise.
69270         * modules/read-file-tests: Likewise.
69271         * modules/rijndael-tests: Likewise.
69272         * modules/stdint-tests: Likewise.
69273         * modules/tls-tests: Likewise.
69274
69275 2007-02-24  Bruno Haible  <bruno@clisp.org>
69276
69277         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
69278         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
69279         function; instead check whether isnan with a double argument links.
69280         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
69281         function; instead check whether isnan with a 'long double' argument
69282         links.
69283         Reported by Eric Blake <ebb9@byu.net>.
69284
69285 2007-02-24  Bruno Haible  <bruno@clisp.org>
69286
69287         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
69288         defined.
69289         * lib/isnanl.c: Remove all code. Just include isnan.c.
69290         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
69291
69292 2007-02-25  Jim Meyering  <jim@meyering.net>
69293
69294         Avoid conflicting types for 'unsetenv' on FreeBSD.
69295         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
69296         conflicting with FreeBSD's (5.0 and 6.1) function declaration
69297         in stdlib.h.
69298
69299 2007-02-24  Bruno Haible  <bruno@clisp.org>
69300
69301         * modules/isnanl-nolibm-tests: New file.
69302         * tests/test-isnanl.c: New file.
69303
69304         * modules/isnanl-nolibm: New file.
69305         * lib/isnanl.h: New file.
69306         * lib/isnanl.c: New file.
69307         * m4/isnanl.m4: New file.
69308
69309 2007-02-24  Bruno Haible  <bruno@clisp.org>
69310
69311         * modules/isnan-nolibm-tests: New file.
69312         * tests/test-isnan.c: New file.
69313
69314         * modules/isnan-nolibm: New file.
69315         * lib/isnan.h: New file.
69316         * lib/isnan.c: New file.
69317         * m4/isnan.m4: New file.
69318
69319 2007-02-24  Bruno Haible  <bruno@clisp.org>
69320
69321         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
69322         assume that an exponent fits in 20 bits.
69323
69324 2007-02-24  Jim Meyering  <jim@meyering.net>
69325
69326         * m4/regex.m4: Update the description of the configure-time option,
69327         --without-included-regex, to state accurately what the defaults are,
69328         and perhaps to give people an idea why using this option is risky.
69329
69330 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
69331
69332         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
69333         loops on small arguments.  This attempts to avoid the problem
69334         Bruno Haible reported for AIX 4.3.2 in
69335         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
69336
69337 2007-02-23  Bruno Haible  <bruno@clisp.org>
69338
69339         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
69340         Needed for help2man.
69341
69342 2007-02-23  Karl Berry  <karl@gnu.org>
69343
69344         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
69345         exists, foo.h should be cvs-ignored, not committed.
69346
69347 2007-02-23  Eric Blake  <ebb9@byu.net>
69348
69349         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
69350         * lib/stat-time.h (includes): Likewise.
69351         * lib/utimecmp.c (includes): Likewise.
69352         * lib/utimens.h (includes): Likewise.
69353         * lib/getdate.y (includes): Also include "timespec.h" for use
69354         internal to the module.
69355         * modules/utimens (Depends-on): Revert yesterday's patch.
69356         * modules/nanosleep (Depends-on): Add missing dependency.
69357
69358 2007-02-22  Bruno Haible  <bruno@clisp.org>
69359
69360         * lib/glob.c: Don't include getlogin_r.h.
69361
69362 2007-02-22  Jim Meyering  <jim@meyering.net>
69363
69364         * modules/utimens (Depends-on): Add timespec, required for
69365         utimens.h's inclusion of timespec.h.
69366
69367 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
69368
69369         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
69370         long unreadable paths in GNU/Linux.  Problem reported by Andreas
69371         Schwab in
69372         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
69373         I'll try to think of a better way to fix the Solaris problem.
69374
69375         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
69376         like glibc; on Solaris 10, it fails with errno == EINVAL.
69377         POSIX says the behavior is unspecified if the first argument is NULL,
69378         so play it safe and never pass NULL to the system getcwd.
69379
69380 2007-02-21  Jim Meyering  <jim@meyering.net>
69381
69382         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
69383         of gettimeofday.  It would conflict with the one now always
69384         provided via sys_time_.h.  Reported by Matthew Woehlke, as
69385         an IRIX 6.5 build failure.
69386
69387 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
69388
69389         Minor fixups to port to Solaris 10 with Sun C 5.8.
69390         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
69391         * modules/getcwd (Depends-on): Add dirfd.
69392         * lib/putenv.c (putenv): #undef it.
69393         (rpl_putenv): New decl.
69394         (malloc, free): Include <stdlib.h> rather than prototyping separately.
69395
69396 2007-02-20  Bruno Haible  <bruno@clisp.org>
69397
69398         * modules/stdio-tests: New file.
69399         * tests/test-stdio.c: New file.
69400
69401         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
69402         (Depends-on): Add stdio.
69403         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69404         (Include): Use <stdio.h> instead of vsnprintf.h.
69405         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69406         HAVE_DECL_VSNPRINTF.
69407         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
69408
69409         * modules/snprintf (Files): Remove lib/snprintf.h.
69410         (Depends-on): Add stdio.
69411         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69412         (Include): Use <stdio.h> instead of snprintf.h.
69413         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
69414         HAVE_DECL_SNPRINTF.
69415         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
69416         * lib/getaddrinfo.c: Likewise.
69417
69418         * modules/stdio: New file.
69419         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
69420         * lib/snprintf.h: Remove file.
69421         * lib/vsnprintf.h: Remove file.
69422         * lib/.cppi-disable: Remove snprintf.h.
69423         * m4/stdio_h.m4: New file.
69424         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
69425
69426 2007-02-20  Jim Meyering  <jim@meyering.net>
69427
69428         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
69429         used by e.g., mingw.  From Bruno Haible.
69430
69431 2007-02-19  Bruno Haible  <bruno@clisp.org>
69432
69433         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
69434         warnings.
69435         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69436
69437 2007-02-19  Bruno Haible  <bruno@clisp.org>
69438
69439         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
69440         from mingw users.
69441
69442 2007-02-19  Bruno Haible  <bruno@clisp.org>
69443
69444         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
69445         warnings.
69446         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
69447
69448 2007-02-19  Jim Meyering  <jim@meyering.net>
69449
69450         Don't use FD after a successful "fdopendir (fd)".
69451         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
69452         Reset it by calling dirfd on the just-obtained DIR*.
69453
69454         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
69455         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
69456
69457 2007-02-18  Bruno Haible  <bruno@clisp.org>
69458
69459         * lib/readlink.c: Include <unistd.h>.
69460         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
69461         HAVE_READLINK.
69462         * modules/readlink (Depends-on): Add unistd.
69463         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69464         (Include): Add <unistd.h>.
69465
69466         * lib/getlogin_r.h: Remove file.
69467         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
69468         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
69469         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
69470         HAVE_DECL_GETLOGIN_R.
69471         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
69472         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69473         (Include): Use <unistd.h> instead of getlogin_r.h.
69474
69475         * lib/getcwd.h: Remove file.
69476         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
69477         * lib/xgetcwd.c: Likewise.
69478         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
69479         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
69480         * modules/getcwd (Files): Remove lib/getcwd.h.
69481         (Depends-on): Add unistd.
69482         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69483         (Include): Use <unistd.h> instad of getcwd.h.
69484
69485         * lib/ftruncate.c: Include <unistd.h> first.
69486         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
69487         Set HAVE_FTRUNCATE.
69488         * modules/ftruncate (Depends-on): Add unistd.
69489         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69490
69491         * lib/fchdir.c: Include <unistd.h> first.
69492         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
69493         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
69494         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
69495         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69496         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
69497
69498         * lib/dup2.c: Include <unistd.h> first.
69499         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
69500         HAVE_DUP2.
69501         * modules/dup2 (Depends-on): Add unistd.
69502         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69503
69504         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
69505         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
69506         REPLACE_CHOWN. Don't define chown as a macro here.
69507         * modules/chown (Depends-on): Add unistd.
69508         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
69509
69510         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
69511         Add definition for GL_LINK_WARNING.
69512         (chown, dup2): New declarations.
69513         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
69514         link warning.
69515         (ftruncate): New declaration.
69516         (getcwd): New declaration, taken from old getcwd.h.
69517         (getlogin_r): New declaration, taken from old getlogin_r.h.
69518         (readlink): New declaration.
69519         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
69520         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
69521         (gl_PREREQ_UNISTD): Remove macro.
69522         (gl_UNISTD_MODULE_INDICATOR): New macro.
69523         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
69524         many new variables. Don't set UNISTD_H.
69525         * modules/unistd (Description): Change.
69526         (Depends-on): Add link-warning.
69527         (configure.ac): Update.
69528         (Makefile.am): Create unistd.h always. Substitute many new variables
69529         into it.
69530
69531 2007-02-18  Bruno Haible  <bruno@clisp.org>
69532
69533         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
69534         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
69535         HAVE_GETSUBOPT.
69536         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
69537         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
69538         * lib/getsubopt.h: Remove file.
69539         * modules/getsubopt (Files): Remove lib/getsubopt.h.
69540         (Depends-on): Add stdlib.
69541         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69542         (Includes): Use <stdlib.h> instead of getsubopt.h.
69543         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
69544         Set HAVE_GETSUBOPT.
69545         * lib/getsubopt.c: Don't include getsubopt.h.
69546
69547 2007-02-18  Bruno Haible  <bruno@clisp.org>
69548
69549         * modules/fchdir (Depends-on): Add dup2.
69550
69551 2007-02-18  Bruno Haible  <bruno@clisp.org>
69552
69553         * lib/stdlib_.h: Handle glibc's special invocation convention
69554         specially.
69555
69556 2007-02-18  Bruno Haible  <bruno@clisp.org>
69557
69558         * modules/stdlib-tests: New file.
69559         * tests/test-stdlib.c: New file.
69560
69561         * modules/mkstemp (Files): Remove lib/mkstemp.h.
69562         (Depends-on): Add stdlib.
69563         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69564         (Includes): Use <stdlib.h> instead of mkstemp.h.
69565         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69566         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
69567         * lib/mkstemp.c: Don't include mkstemp.h.
69568         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
69569         * lib/stdlib--.h: Don't include mkstemp.h.
69570
69571         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
69572         (Depends-on): Add stdlib.
69573         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
69574         (Includes): Use <stdlib.h> instead of mkdtemp.h.
69575         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
69576         HAVE_MKDTEMP.
69577         * lib/mkdtemp.c: Don't include mkdtemp.h.
69578         * lib/clean-temp.c: Don't include mkdtemp.h.
69579
69580         * modules/exit (Files): Remove lib/exit.h.
69581         (Depends-on): Add stdlib.
69582         (Makefile.am): Remove lib_SOURCES.
69583         (Include): Use <stdlib.h> instead of exit.h.
69584         * lib/argmatch.c: Don't include exit.h.
69585         * lib/execute.c: Likewise.
69586         * lib/pagealign_alloc.c: Likewise.
69587         * lib/pipe.c: Likewise.
69588         * lib/wait-process.c: Likewise.
69589         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
69590         * lib/exitfail.c: Likewise.
69591         * lib/savewd.c: Likewise.
69592         * lib/xsetenv.c: Likewise.
69593
69594         * modules/stdlib: New file.
69595         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
69596         and extra comments about mkstemp().
69597         * lib/exit.h: Remove file.
69598         * lib/mkdtemp.h: Remove file.
69599         * lib/mkstemp.h: Remove file.
69600         * m4/stdlib_h.m4: New file.
69601         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
69602
69603 2007-02-18  Bruno Haible  <bruno@clisp.org>
69604
69605         * modules/math-tests: New file.
69606         * tests/test-math.c: New file.
69607
69608         * modules/math: New file.
69609         * modules/mathl (Files): Remove lib/mathl.h.
69610         (Depends-on): Add math.
69611         (Makefile.am): Don't mention mathl.h.
69612         (Include): Use <math.h> instead of mathl.h.
69613         * lib/math_.h: New file.
69614         * lib/mathl.h: Remove file.
69615         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
69616         mathl.h.
69617         * lib/asinl.c: Likewise.
69618         * lib/atanl.c: Likewise.
69619         * lib/ceill.c: Likewise.
69620         * lib/cosl.c: Likewise.
69621         * lib/expl.c: Likewise.
69622         * lib/floorl.c: Likewise.
69623         * lib/frexpl.c: Likewise.
69624         * lib/ldexpl.c: Likewise.
69625         * lib/logl.c: Likewise.
69626         * lib/sincosl.c: Likewise.
69627         * lib/sinl.c: Likewise.
69628         * lib/sqrtl.c: Likewise.
69629         * lib/tanl.c: Likewise.
69630         * lib/trigl.c: Likewise.
69631         * m4/math_h.m4: New file.
69632         * MODULES.html.sh (Mathematics): Add math.
69633
69634 2007-02-17  Bruno Haible  <bruno@clisp.org>
69635
69636         * modules/wctype-tests: New file.
69637         * tests/test-wctype.c: New file.
69638
69639         * modules/wchar-tests: New file.
69640         * tests/test-wchar.c: New file.
69641
69642         * modules/unistd-tests: New file.
69643         * tests/test-unistd.c: New file.
69644
69645         * modules/time-tests: New file.
69646         * tests/test-time.c: New file.
69647
69648         * modules/sysexits-tests: New file.
69649         * tests/test-sysexits.c: New file.
69650
69651         * modules/sys_time-tests: New file.
69652         * tests/test-sys_time.c: New file.
69653
69654         * modules/sys_stat-tests: New file.
69655         * tests/test-sys_stat.c: New file.
69656
69657         * modules/sys_socket-tests: New file.
69658         * tests/test-sys_socket.c: New file.
69659
69660         * modules/sys_select-tests: New file.
69661         * tests/test-sys_select.c: New file.
69662
69663         * modules/string-tests: New file.
69664         * tests/test-string.c: New file.
69665
69666         * modules/stdbool-tests: New file.
69667         * tests/test-stdbool.c: New file.
69668
69669         * modules/netinet_in-tests: New file.
69670         * tests/test-netinet_in.c: New file.
69671
69672         * modules/inttypes-tests: New file.
69673         * tests/test-inttypes.c: New file.
69674
69675         * modules/fcntl-tests: New file.
69676         * tests/test-fcntl.c: New file.
69677
69678         * modules/byteswap-tests: New file.
69679         * tests/test-byteswap.c: New file.
69680
69681         * modules/arpa_inet-tests: New file.
69682         * tests/test-arpa_inet.c: New file.
69683
69684 2007-02-17  Bruno Haible  <bruno@clisp.org>
69685
69686         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
69687         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
69688         if the corresponding module is not enabled. Emit link warnings if
69689         the function is used nevertheless.
69690         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
69691         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
69692         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
69693         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
69694         * modules/inttypes (Depends-on): Add link-warning.
69695         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69696         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
69697         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
69698         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
69699         * modules/imaxdiv (configure.ac): Likewise.
69700         * modules/strtoimax (configure.ac): Likewise.
69701         * modules/strtoumax (configure.ac): Likewise.
69702
69703 2007-02-17  Bruno Haible  <bruno@clisp.org>
69704
69705         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
69706         gl_STRING_MODULE_INDICATOR_DEFAULTS.
69707         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
69708         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
69709
69710 2007-02-17  Bruno Haible  <bruno@clisp.org>
69711
69712         * modules/link-warning: New file.
69713         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
69714         * lib/string_.h (GL_LINK_WARNING): Remove definition.
69715         * modules/string (Depends-on): Add link-warning.
69716         (Makefile.am): Copy the contents of build-aux/link-warning.h into
69717         string.h.
69718         * MODULES.html.sh (Support for building libraries and executables): Add
69719         link-warning.
69720
69721 2007-02-17  Bruno Haible  <bruno@clisp.org>
69722
69723         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
69724         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
69725         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
69726         long lines.
69727
69728 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
69729             Bruno Haible  <bruno@clisp.org>
69730
69731         * modules/tmpfile: New file.
69732         * lib/tmpfile.c: New file.
69733         * m4/tmpfile.m4: New file.
69734         * MODULES.html.sh (func_all_modules): New section "Input/output".
69735
69736 2007-02-15  Bruno Haible  <bruno@clisp.org>
69737
69738         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
69739         (supports_delete_on_close): New function.
69740         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
69741
69742 2007-02-14  Bruno Haible  <bruno@clisp.org>
69743
69744         * modules/mbspcasecmp-tests: New file.
69745         * tests/test-mbspcasecmp.sh: New file.
69746         * tests/test-mbspcasecmp.c: New file.
69747
69748         New module mbspcasecmp.
69749         * modules/mbspcasecmp: New file.
69750         * lib/mbspcasecmp.c: New file.
69751         * lib/string_.h (strncasecmp): Change warning message.
69752         (mbspcasecmp): New declaration.
69753         * m4/mbspcasecmp.m4: New file.
69754         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69755         GNULIB_MBSPCASECMP.
69756         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
69757         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
69758
69759 2007-02-14  Bruno Haible  <bruno@clisp.org>
69760
69761         * modules/mbsncasecmp-tests: New file.
69762         * tests/test-mbsncasecmp.sh: New file.
69763         * tests/test-mbsncasecmp.c: New file.
69764
69765         New module mbsncasecmp.
69766         * modules/mbsncasecmp: New file.
69767         * lib/mbsncasecmp.c: New file.
69768         * lib/string_.h (mbsncasecmp): New declaration.
69769         * m4/mbsncasecmp.m4: New file.
69770         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
69771         GNULIB_MBSNCASECMP.
69772         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
69773         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
69774
69775 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
69776
69777         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
69778         Verify that it doesn't overlap with our flags.
69779         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
69780         do not have the desired effect in multibyte locales; instead, use
69781         mbscasecmp.
69782         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
69783         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
69784         we don't require GNU fnmatch ourselves (if our users require it, they
69785         should do so explicitly).
69786
69787         Fix regex code so it doesn't rely on strcasecmp.
69788         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
69789         Otherwise, include gnulib's langinfo.h.
69790         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
69791         undesirable behavior in non-C locales.  Instead, rely on localecharset.
69792         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
69793         * modules/regex (FILES): Remove m4/codeset.m4.
69794         (Depends-on): Add localcharset.  Remove strcase.
69795
69796 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69797
69798         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
69799         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
69800
69801 2007-02-13  Bruno Haible  <bruno@clisp.org>
69802
69803         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
69804         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69805
69806 2007-02-12  Bruno Haible  <bruno@clisp.org>
69807
69808         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
69809         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
69810         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
69811         time warning rather than a link error.
69812
69813 2007-02-12  Bruno Haible  <bruno@clisp.org>
69814
69815         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
69816         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
69817         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69818
69819 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69820
69821         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
69822         args, not 2.
69823
69824 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
69825
69826         New module 'time', so that apps can include <time.h> as per
69827         POSIX and GNU instead of separate include files like time_r.h
69828         and timegm.h.  This implementation tries out a simpler approach
69829         for replacing decls in standard include files (as compared to
69830         the string module), somewhat as an experiment.
69831
69832         * config/srclist.txt: Comment out mktime.c for now.
69833         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
69834         since it doesn't apply any more.  Use generic wording instead.
69835         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
69836         'time'.
69837         * lib/time_.h, m4/time_h.m4, modules/time: New files.
69838         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
69839         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
69840         Don't include <sys/types.h>; no longer needed since we assume C89.
69841         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
69842         * lib/strftime.c: Likewise.
69843         * lib/time_r.c: Likewise.
69844         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
69845         * lib/nanosleep.c: Include <time.h> first, to check interface.
69846         * lib/strptime.c: Likewise.
69847         * lib/time_r.c: Likewise.
69848         * lib/timegm.c: Likewise.
69849         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
69850         needed.
69851         * lib/timegm.c: Don't include timegm.h; no longer needed.
69852         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
69853         time.h now handles any problems in that area.
69854         (struct timespec, nanosleep): Remove; time.h now arranges for these.
69855         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
69856         that time.h defines struct timespec.
69857         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
69858         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
69859         handles that.
69860         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
69861         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
69862         needed.  Set REPLACE_LOCALTIME.
69863         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
69864         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
69865         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
69866         nanosleep; time_h.m4 now does that.  Don't require
69867         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
69868         module handles this now.
69869         * modules/getdate (Depends-on): Remove timespec.  Add time.
69870         * modules/nanosleep (Depends-on): Likewise.
69871         * modules/stat-time (Depends-on): Likewise.
69872         * modules/nanosleep (Include): Include time.h, not timespec.h.
69873         * modules/strptime (Files): Remove lib/strptime.h.
69874         (Depends-on): Add extensions, time.
69875         (Include): Include time.h, not strptime.h.
69876         * modules/time_r (Files): Remove lib/time_r.h.
69877         (Depends-on): Add time.
69878         (Include): Include time.h, not time_r.h.
69879         * modules/timegm: Likewise.
69880         * modules/timespec (Description): Now does timespec-related decls
69881         of our own, instead of struct timespec itself.
69882         (Depends-on): Add time; remove extensions.
69883         (Maintainer): Add self.
69884         * modules/utimecmp (Depends-on): Add time; remove timespec.
69885         * modules/utimens (Depends-on): Likewise.
69886         * modules/xnanosleep (Depends-on): Likewise.
69887
69888 2007-02-11  Bruno Haible  <bruno@clisp.org>
69889
69890         * lib/c-strstr.c: Include allocsa.h.
69891         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69892         * lib/c-strcasestr.c: Include allocsa.h.
69893         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69894         * lib/strcasestr.c: Include allocsa.h.
69895         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
69896         * lib/mbsstr.c: Include allocsa.h.
69897         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69898         allocsa/freesa instead of malloc/free.
69899         * lib/mbscasestr.c: Include allocsa.h.
69900         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
69901         allocsa/freesa instead of malloc/free.
69902         * modules/c-strstr (Depends-on): Add allocsa.
69903         * modules/c-strcasestr (Depends-on): Likewise.
69904         * modules/strcasestr (Depends-on): Likewise.
69905         * modules/mbsstr (Depends-on): Likewise.
69906         * modules/mbscasestr (Depends-on): Likewise.
69907
69908 2007-02-11  Bruno Haible  <bruno@clisp.org>
69909
69910         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
69911
69912         * modules/mbsspn-tests: New file.
69913         * tests/test-mbsspn.sh: New file.
69914         * tests/test-mbsspn.c: New file.
69915
69916 2007-02-11  Bruno Haible  <bruno@clisp.org>
69917
69918         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
69919
69920         * modules/mbspbrk-tests: New file.
69921         * tests/test-mbspbrk.sh: New file.
69922         * tests/test-mbspbrk.c: New file.
69923
69924 2007-02-11  Bruno Haible  <bruno@clisp.org>
69925
69926         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
69927         unneeded cast.
69928
69929         * modules/mbscspn-tests: New file.
69930         * tests/test-mbscspn.sh: New file.
69931         * tests/test-mbscspn.c: New file.
69932
69933 2007-02-11  Bruno Haible  <bruno@clisp.org>
69934
69935         * modules/mbscasecmp-tests: New file.
69936         * tests/test-mbscasecmp.sh: New file.
69937         * tests/test-mbscasecmp.c: New file.
69938
69939 2007-02-11  Bruno Haible  <bruno@clisp.org>
69940
69941         Ensure O(n) worst-case complexity of mbscasestr.
69942         * lib/mbscasestr.c: Include stdbool.h.
69943         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69944         functions.
69945         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
69946         the bookkeeping indicates that it's worth it.
69947         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
69948
69949         * modules/mbscasestr-tests: New file.
69950         * tests/test-mbscasestr1.c: New file.
69951         * tests/test-mbscasestr2.sh: New file.
69952         * tests/test-mbscasestr2.c: New file.
69953         * tests/test-mbscasestr3.sh: New file.
69954         * tests/test-mbscasestr3.c: New file.
69955         * tests/test-mbscasestr4.sh: New file.
69956         * tests/test-mbscasestr4.c: New file.
69957         * m4/locale-tr.m4: New file.
69958
69959 2007-02-11  Bruno Haible  <bruno@clisp.org>
69960
69961         Ensure O(n) worst-case complexity of mbsstr.
69962         * lib/mbsstr.c: Include stdbool.h.
69963         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
69964         functions.
69965         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
69966         bookkeeping indicates that it's worth it.
69967         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
69968
69969         * modules/mbsstr-tests: New file.
69970         * tests/test-mbsstr1.c: New file.
69971         * tests/test-mbsstr2.sh: New file.
69972         * tests/test-mbsstr2.c: New file.
69973         * tests/test-mbsstr3.sh: New file.
69974         * tests/test-mbsstr3.c: New file.
69975         * m4/locale-fr.m4: New file.
69976
69977 2007-02-11  Bruno Haible  <bruno@clisp.org>
69978
69979         * lib/mbsrchr.c (mbsrchr): Fix bug.
69980
69981         * modules/mbsrchr-tests: New file.
69982         * tests/test-mbsrchr.sh: New file.
69983         * tests/test-mbsrchr.c: New file.
69984
69985 2007-02-11  Bruno Haible  <bruno@clisp.org>
69986
69987         * lib/mbschr.c (mbschr): Fix bug.
69988
69989         * modules/mbschr-tests: New file.
69990         * tests/test-mbschr.sh: New file.
69991         * tests/test-mbschr.c: New file.
69992         * m4/locale-zh.m4: New file.
69993
69994 2007-02-11  Bruno Haible  <bruno@clisp.org>
69995
69996         Support for copying multibyte string iterators.
69997         * lib/mbiter.h: Include <string.h>.
69998         (mbiter_multi_copy): New function.
69999         (mbi_copy): New macro.
70000         * lib/mbuiter.h: Include <string.h>.
70001         (mbuiter_multi_copy): New function.
70002         (mbui_copy): New macro.
70003
70004 2007-02-11  Bruno Haible  <bruno@clisp.org>
70005
70006         New module mbslen.
70007         * modules/mbslen: New file.
70008         * lib/mbslen.c: New file.
70009         * lib/string_.h (mbslen): New declaration.
70010         * m4/mbslen.m4: New file.
70011         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70012         GNULIB_MBSLEN.
70013         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70014         * MODULES.html.sh (Internationalization functions): Add mbslen.
70015
70016 2007-02-11  Bruno Haible  <bruno@clisp.org>
70017
70018         Ensure O(n) worst-case complexity of strcasestr substitute.
70019         * lib/strcasestr.c: Include stdbool.h.
70020         (knuth_morris_pratt): New function.
70021         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70022         bookkeeping indicates that it's worth it.
70023         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70024
70025         * modules/strcasestr-tests: New file.
70026         * tests/test-strcasestr.c: New file.
70027
70028 2007-02-11  Bruno Haible  <bruno@clisp.org>
70029
70030         Ensure O(n) worst-case complexity of c_strcasestr.
70031         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70032         (knuth_morris_pratt): New function.
70033         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70034         the bookkeeping indicates that it's worth it.
70035         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70036
70037         * modules/c-strcasestr-tests: New file.
70038         * tests/test-c-strcasestr.c: New file.
70039
70040 2007-02-11  Bruno Haible  <bruno@clisp.org>
70041
70042         Ensure O(n) worst-case complexity of c_strstr.
70043         * lib/c-strstr.c: Include stdbool.h, string.h.
70044         (knuth_morris_pratt): New function.
70045         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70046         bookkeeping indicates that it's worth it.
70047         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70048
70049         * lib/c-strstr.c: Complete rewrite for maintainability.
70050
70051         * modules/c-strstr-tests: New file.
70052         * tests/test-c-strstr.c: New file.
70053
70054 2007-02-11  Bruno Haible  <bruno@clisp.org>
70055
70056         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70057         5.2.1 and earlier, whereby \055 was treated just like the range
70058         delimiter '-'.
70059         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70060
70061 2007-02-08  Bruno Haible  <bruno@clisp.org>
70062
70063         * modules/regex (Depends-on): Add stdbool.
70064         Reported by Dalibor Topic <robilad@kaffe.org>.
70065
70066 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70067
70068         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70069         Prefer returning from main to exiting from it.
70070         Remove unnecessary parens after sizeof.
70071
70072 2007-02-05  Bruno Haible  <bruno@clisp.org>
70073
70074         New module mbssep.
70075         * modules/mbssep: New file.
70076         * lib/mbssep.c: New file.
70077         * lib/string_.h (strsep): Add a conditional link warning.
70078         (mbssep): New declaration.
70079         * m4/mbssep.m4: New file.
70080         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70081         GNULIB_MBSSEP.
70082         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70083         * MODULES.html.sh (Internationalization functions): Add mbssep.
70084
70085 2007-02-05  Bruno Haible  <bruno@clisp.org>
70086
70087         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70088         Optimize search in case of 1 delimiter.
70089
70090 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70091
70092         * lib/acl.h: Include sys/types.h before sys/acl.h.
70093
70094 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70095
70096         Merge upstream fix for glibc bugzilla #3957:
70097
70098         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70099
70100         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70101         bit for RE_HAT_LISTS_NOT_NEWLINE.
70102         (build_charclass_op): Remove bogus comment.
70103
70104 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70105
70106         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70107
70108 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70109
70110         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70111         * lib/memmem.c [!defined _LIBC]: Include config.h.
70112
70113 2007-02-04  Bruno Haible  <bruno@clisp.org>
70114
70115         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70116         warning message.
70117
70118 2007-02-04  Bruno Haible  <bruno@clisp.org>
70119
70120         New module mbstok_r.
70121         * modules/mbstok_r: New file.
70122         * lib/mbstok_r.c: New file.
70123         * lib/string_.h (strtok_r): Change argument names to match the
70124         comments. Add a conditional link warning.
70125         (mbstok_r): New declaration.
70126         * m4/mbstok_r.m4: New file.
70127         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70128         GNULIB_MBSTOK_R.
70129         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70130         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70131
70132 2007-02-04  Bruno Haible  <bruno@clisp.org>
70133
70134         New module mbsspn.
70135         * modules/mbsspn: New file.
70136         * lib/mbsspn.c: New file.
70137         * lib/string_.h (strspn): Add a conditional link warning.
70138         (mbsspn): New declaration.
70139         * m4/mbsspn.m4: New file.
70140         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70141         GNULIB_MBSSPN.
70142         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70143         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70144
70145 2007-02-04  Bruno Haible  <bruno@clisp.org>
70146
70147         New module mbspbrk.
70148         * modules/mbspbrk: New file.
70149         * lib/mbspbrk.c: New file.
70150         * lib/string_.h (strpbrk): Add a conditional link warning.
70151         (mbspbrk): New declaration.
70152         * m4/mbspbrk.m4: New file.
70153         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70154         GNULIB_MBSPBRK.
70155         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70156         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70157
70158 2007-02-04  Bruno Haible  <bruno@clisp.org>
70159
70160         New module mbscspn.
70161         * modules/mbscspn: New file.
70162         * lib/mbscspn.c: New file.
70163         * lib/string_.h (strcspn): Add a conditional link warning.
70164         (mbscspn): New declaration.
70165         * m4/mbscspn.m4: New file.
70166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70167         GNULIB_MBSCSPN.
70168         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70169         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70170
70171 2007-02-04  Bruno Haible  <bruno@clisp.org>
70172
70173         New module mbscasestr, reduced goal of strcasestr.
70174         * modules/mbscasestr: New file.
70175         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
70176         (mbscasestr): Renamed from strcasestr.
70177         * lib/strcasestr.c: Don't include mbuiter.h.
70178         (strcasestr): Remove support for multibyte locales.
70179         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
70180         Change the conditional link warning.
70181         (mbscasestr): New declaration.
70182         * m4/mbscasestr.m4: New file.
70183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
70184         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
70185         REPLACE_STRCASESTR.
70186         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
70187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70188         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70189         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
70190         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
70191         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
70192         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
70193         (Depends-on): Remove mbuiter.
70194         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
70195
70196 2007-02-04  Bruno Haible  <bruno@clisp.org>
70197
70198         Simplify handling of strncasecmp.
70199         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
70200         the conditional link warning.
70201         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70202         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
70203         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
70204         * modules/strcase (configure.ac): Don't invoke
70205         gl_STRING_MODULE_INDICATOR.
70206         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
70207
70208 2007-02-04  Bruno Haible  <bruno@clisp.org>
70209
70210         New module mbscasecmp, reduced goal of strcasecmp.
70211         * modules/mbscasecmp: New file.
70212         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
70213         (mbscasecmp): Renamed from strcasecmp.
70214         * lib/strcasecmp.c: Don't include mbuiter.h.
70215         (strcasecmp): Remove support for multibyte locales.
70216         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
70217         Change the conditional link warning.
70218         (mbscasecmp): New declaration.
70219         * m4/mbscasecmp.m4: New file.
70220         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
70221         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
70222         REPLACE_STRCASECMP.
70223         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
70224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70225         GNULIB_MBSCASECMP.
70226         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
70227         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
70228         * modules/strcase (Files): Remove m4/mbrtowc.m4.
70229         (Depends-on): Remove mbuiter.
70230         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
70231
70232 2007-02-04  Bruno Haible  <bruno@clisp.org>
70233
70234         New module mbsstr. Remove module strstr.
70235         * modules/mbsstr: New file.
70236         * modules/strstr: Remove file.
70237         * lib/mbsstr.c: Renamed from lib/strstr.c.
70238         (mbsstr): Renamed from strstr.
70239         * lib/string_.h (strstr): Remove declaration. Change the conditional
70240         link warning.
70241         (mbsstr): New declaration.
70242         * m4/mbsstr.m4: New file.
70243         * m4/strstr.m4: Remove file.
70244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
70245         REPLACE_STRSTR.
70246         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
70247         Don't initialize GNULIB_STRSTR.
70248         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
70249         substitute GNULIB_STRSTR and REPLACE_STRSTR.
70250         * MODULES.html.sh (Internationalization functions): Add mbsstr.
70251         (Support for systems lacking ANSI C 89): Remove strstr.
70252
70253 2007-02-04  Bruno Haible  <bruno@clisp.org>
70254
70255         New module mbsrchr.
70256         * modules/mbsrchr: New file.
70257         * lib/mbsrchr.c: New file.
70258         * lib/string_.h (strrchr): Add a conditional link warning.
70259         (mbsrchr): New declaration.
70260         * m4/mbsrchr.m4: New file.
70261         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70262         GNULIB_MBSRCHR.
70263         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
70264         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
70265
70266 2007-02-04  Bruno Haible  <bruno@clisp.org>
70267
70268         New module mbschr.
70269         * modules/mbschr: New file.
70270         * lib/mbschr.c: New file.
70271         * lib/string_.h (strchr): Add a conditional link warning.
70272         (mbschr): New declaration.
70273         * m4/mbschr.m4: New file.
70274         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70275         GNULIB_MBSCHR.
70276         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
70277         * MODULES.html.sh (Internationalization functions): Add mbschr.
70278
70279 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70280
70281         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
70282
70283         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
70284
70285 2007-02-04  Bruno Haible  <bruno@clisp.org>
70286
70287         New module description section 'configure.ac-early'.
70288         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
70289         (func_get_autoconf_early_snippet): New function.
70290         (func_import, func_create_testdir): Use it. Remove special cases for
70291         modules 'extensions' and 'lock'.
70292         * modules/extensions (configure.ac-early): Require
70293         gl_USE_SYSTEM_EXTENSIONS.
70294         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
70295
70296 2007-02-04  Bruno Haible  <bruno@clisp.org>
70297
70298         Make use of gcj-4.3's -fsource and -ftarget option.
70299         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
70300         and if so try the options -fsource and -ftarget.
70301         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
70302         source_version, ftarget_option, target_version arguments.
70303         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
70304         (is_envjavac_oldgcj_14_14_usable): Renamed from
70305         is_envjavac_gcj_14_14_usable.
70306         (is_envjavac_oldgcj_14_13_usable): Renamed from
70307         is_envjavac_gcj_14_13_usable.
70308         (is_gcj_present): Update.
70309         (is_gcj_43, is_gcj43_usable): New functions.
70310         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
70311         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
70312         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
70313         try the options -fsource and -ftarget.
70314
70315 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
70316
70317         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
70318         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
70319         larger value.
70320
70321 2007-02-03  Jim Meyering  <jim@meyering.net>
70322
70323         Give tools a better chance to allocate space for very large buffers.
70324         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
70325
70326         Make pwd and readlink work also when run with an unreadable parent dir
70327         on systems with openat support.
70328         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
70329         provided getcwd function, even when we have openat support.
70330         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
70331
70332 2007-02-02  Bruno Haible  <bruno@clisp.org>
70333
70334         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70335         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
70336         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
70337         portability problems if one of these functions is only used on specific
70338         platforms.
70339         Reported by Paul Eggert.
70340
70341 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
70342
70343         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
70344         is causing more trouble than it's curing.
70345         * lib/regex_internal.h (__mempcpy): Remove.
70346         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
70347         (and make the code a tad smaller to boot).
70348         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
70349
70350 2007-02-02  Jim Meyering  <jim@meyering.net>
70351
70352         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
70353         section, not in the Makefile.am: one.
70354
70355 2007-02-02  Eric Blake  <ebb9@byu.net>
70356
70357         * lib/strchrnul.c: Always include config.h first.
70358
70359         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
70360         gnulib strstr is not necessary here.
70361
70362 2007-02-02  Simon Josefsson  <simon@josefsson.org>
70363
70364         * m4/socklen.m4: Fix typo.
70365
70366 2007-02-02  Eric Blake  <ebb9@byu.net>
70367
70368         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
70369         * modules/netinet_in (Makefile.am): Likewise.
70370
70371 2007-02-01  Bruno Haible  <bruno@clisp.org>
70372
70373         * lib/string_.h (GL_LINK_WARNING): New macro.
70374         (strcasecmp, strstr, strcasestr): If provided by the system,
70375         conditionally define as a macro that leads to a warning instead of to
70376         an error.
70377         (strncasecmp): Conditionally define as a macro that leads to a warning.
70378
70379 2007-02-01  Karl Berry  <karl@gnu.org>
70380
70381         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
70382
70383 2007-02-01  Bruno Haible  <bruno@clisp.org>
70384
70385         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
70386         renamings.
70387
70388 2007-02-01  Eric Blake  <ebb9@byu.net>
70389
70390         * modules/regex (Depends-on): Revert dependence on mempcpy.
70391         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
70392         module's definition of mempcpy.
70393         Reported by Paul Eggert.
70394
70395 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
70396
70397         * lib/string_.h: If the gnulib module XYZ is not present, undefine
70398         the symbol XYZ before redefining it.  This fixes a problem with
70399         programs that don't use XYZ, when compiled on systems that define
70400         XYZ to something else.
70401
70402 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
70403
70404         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
70405         occurs when "mkdir -m foo" creates a setgid directory that is (1)
70406         writeable to group or other and (2) is intended to have a special
70407         mode bit that is set or cleared.  In such a case, the directory
70408         should be neither group- nor other-writeable until the special
70409         mode bits are right.
70410
70411 2007-01-31  Eric Blake  <ebb9@byu.net>
70412
70413         * modules/mountlist (Depends-on): Add strstr.
70414
70415         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
70416         bug.
70417         * modules/string (Makefile.am): Remove redundant replacement.
70418         * modules/regex (Depends-on): Add mempcpy.
70419
70420 2007-01-31  Bruno Haible  <bruno@clisp.org>
70421
70422         New module description field 'Link'.
70423         * gnulib-tool (func_usage): Document --extract-link-directive.
70424         (sed_extract_prog): Recognize 'Link' directive.
70425         (func_get_link_directive): New function.
70426         (func_import): Show summary of link directives.
70427         Handle --extract-link-directive option.
70428         * modules/acl (Link): New section.
70429         * modules/clock-time (Link): New section.
70430         * modules/euidaccess (Link): New section.
70431         * modules/gettext (Link): New section.
70432         * modules/iconv (Link): New section.
70433         * modules/lock (Link): New section.
70434         * modules/nanosleep (Link): New section.
70435         * modules/readline (Link): New section.
70436
70437 2007-01-27  Bruno Haible  <bruno@clisp.org>
70438
70439         Enforce the use of gnulib modules for unportable <string.h> functions.
70440         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
70441         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
70442         (gl_HEADER_STRING_H_BODY): Require it.
70443         * lib/string_.h: If the gnulib module XYZ is not present, redefine
70444         the symbol XYZ to one that gives a link error.
70445         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
70446         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
70447         * modules/mempcpy (configure.ac): Likewise.
70448         * modules/memrchr (configure.ac): Likewise.
70449         * modules/stpcpy (configure.ac): Likewise.
70450         * modules/stpncpy (configure.ac): Likewise.
70451         * modules/strcase (configure.ac): Likewise.
70452         * modules/strcasestr (configure.ac): Likewise.
70453         * modules/strchrnul (configure.ac): Likewise.
70454         * modules/strdup (configure.ac): Likewise.
70455         * modules/strndup (configure.ac): Likewise.
70456         * modules/strnlen (configure.ac): Likewise.
70457         * modules/strpbrk (configure.ac): Likewise.
70458         * modules/strsep (configure.ac): Likewise.
70459         * modules/strstr (configure.ac): Likewise.
70460         * modules/strtok_r (configure.ac): Likewise.
70461
70462 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
70463
70464         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
70465
70466 2007-01-30  Jim Meyering  <jim@meyering.net>
70467
70468         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
70469
70470 2007-01-29  Bruno Haible  <bruno@clisp.org>
70471
70472         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
70473         * lib/execute.c: Likewise.
70474         * lib/pipe.c: Likewise.
70475         * lib/printf-args.h: Likewise.
70476         * lib/printf-args.c: Likewise.
70477         * lib/printf-parse.c: Likewise.
70478         * lib/vasnprintf.c: Likewise.
70479
70480 2007-01-29  Eric Blake  <ebb9@byu.net>
70481
70482         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
70483         declaration.
70484
70485 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
70486
70487         * lib/strptime.h (strptime): Use 'restrict' for args where
70488         POSIX requires this.
70489         * lib/strptime.c (strptime): Likewise.
70490         Change license notice from LGPL to GPL, since gnulib-tool will
70491         change this as needed.
70492         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
70493         defined.
70494         Include "strptime.h" first, to check interface.
70495         Do not #undef _LIBC and _NL_CURRENT.
70496         Do not include <stdlib.h>; no longer needed.
70497         Include "time_r.h" and declare ptime_locale_status
70498         only if _LIBC is not defined.
70499         (__P): Remove unused macro.
70500         (match_string): Bring back glibc version, but use it only if _LIBC
70501         is defined.
70502         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
70503         Remove unnecessary assertion and abort() call.
70504         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
70505         * m4/strptime.m4: Fix serial number comment.
70506         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
70507         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
70508         (Depends-on): Add time_r.
70509
70510 2007-01-29  Bruno Haible  <bruno@clisp.org>
70511
70512         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70513         strptime.
70514         * modules/strptime (Depends-on): Add stdbool.
70515         * lib/strptime.h: Include <time.h> always. Add comments.
70516
70517 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
70518
70519         * modules/strptime: New file.
70520         * lib/strptime.h: New file.
70521         * lib/strptime.c: New file.
70522         * m4/strptime.m4: New file.
70523
70524 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
70525
70526         * MODULES.html.sh: New module mpsort.
70527         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
70528
70529         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
70530         a circularity problem with HP-UX ia64 reported by Bob Proulx in
70531         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
70532         All uses changed.
70533         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
70534         All uses changed.
70535         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
70536         to _Restrict_.
70537         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
70538         the parameter matches the prototype.
70539
70540 2007-01-28  Jim Meyering  <jim@meyering.net>
70541
70542         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
70543         sys/time.h here, reverting that part of the previous patch:
70544         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
70545
70546 2007-01-28  Bruno Haible  <bruno@clisp.org>
70547
70548         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
70549         value of $(SYS_TIME_H).
70550         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
70551         remove it conditionally, too. [added by Jim Meyering]
70552         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
70553         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
70554         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
70555         GETTIMEOFDAY_REPLACEMENT to 1.
70556
70557 2007-01-28  Bruno Haible  <bruno@clisp.org>
70558
70559         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
70560         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
70561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
70562         Set UNISTD_H instead of UNISTD_H2.
70563         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
70564
70565 2007-01-28  Bruno Haible  <bruno@clisp.org>
70566
70567         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
70568         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
70569
70570 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70571
70572         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
70573         (func_create_testdir): Ensure C locale for `grep' and `tr'
70574         character ranges.
70575         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
70576         ACLOCAL_AMFLAGS parsing state machine.
70577
70578 2007-01-27  Bruno Haible  <bruno@clisp.org>
70579
70580         * modules/unistr/base: Update.
70581
70582 2007-01-27  Bruno Haible  <bruno@clisp.org>
70583
70584         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
70585         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
70586         * modules/unistr/u32-mbtouc-unsafe: Renamed from
70587         modules/unistr/u32-mbtouc.
70588         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
70589         * lib/unistr.h: Update.
70590         * lib/linebreak.c: Update.
70591         * modules/unistr/u32-mbtouc: Renamed from
70592         modules/unistr/u32-mbtouc-safe.
70593         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
70594         * lib/unistr.h: Update.
70595         * lib/unistr/u32-to-u8.c: Update.
70596         * lib/unistr/u32-to-u16.c: Update.
70597
70598 2007-01-27  Bruno Haible  <bruno@clisp.org>
70599
70600         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
70601         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
70602         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
70603         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
70604         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
70605         * modules/unistr/u16-mbtouc-unsafe: Renamed from
70606         modules/unistr/u16-mbtouc.
70607         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
70608         * lib/unistr.h: Update.
70609         * lib/linebreak.c: Update.
70610         * modules/linebreak: Update.
70611         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
70612         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
70613         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
70614         * modules/unistr/u16-mbtouc: Renamed from
70615         modules/unistr/u16-mbtouc-safe.
70616         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
70617         * lib/unistr.h: Update.
70618         * lib/unistr/u16-to-u8.c: Update.
70619         * modules/unistr/u16-to-u8: Update.
70620         * lib/unistr/u16-to-u32.c: Update.
70621         * modules/unistr/u16-to-u32: Update.
70622
70623 2007-01-27  Bruno Haible  <bruno@clisp.org>
70624
70625         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
70626         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
70627         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
70628         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
70629         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
70630         * modules/unistr/u8-mbtouc-unsafe: Renamed from
70631         modules/unistr/u8-mbtouc.
70632         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
70633         * lib/unistr.h: Update.
70634         * lib/striconveh.c: Update.
70635         * modules/striconveh: Update.
70636         * lib/linebreak.c: Update.
70637         * modules/linebreak: Update.
70638         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
70639         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
70640         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
70641         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
70642         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
70643         * lib/unistr.h: Update.
70644         * lib/striconveh.c: Update.
70645         * modules/striconveh: Update.
70646         * lib/unistr/u8-to-u16.c: Update.
70647         * modules/unistr/u8-to-u16: Update.
70648         * lib/unistr/u8-to-u32.c: Update.
70649         * modules/unistr/u8-to-u32: Update.
70650
70651 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70652
70653         Sync from Libtool.
70654         * lib/argz.c: Do not include strings.h nor memory.h, include
70655         string.h unconditionally.  Patch by Simon Josefsson.
70656
70657 2007-01-27  Bruno Haible  <bruno@clisp.org>
70658
70659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
70660         from gl_HEADER_STRING_H_BODY.
70661         (gl_HEADER_STRING_H_BODY): Require it.
70662         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
70663         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
70664         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
70665         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
70666         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
70667         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
70668         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
70669         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
70670         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
70671         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
70672         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
70673         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
70674         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
70675         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
70676         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
70677
70678 2007-01-27  Bruno Haible  <bruno@clisp.org>
70679
70680         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
70681         check_PROGRAMS into noinst_PROGRAMS.
70682         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
70683         check_PROGRAMS in this case.
70684         (func_import): Set for_test to false.
70685         (func_create_testdir): Set for_test to true.
70686
70687 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
70688             Bruno Haible  <bruno@clisp.org>
70689
70690         * modules/strcasestr (Files): Remove lib/strcasestr.h.
70691         (Depends-on): Add string.
70692         (Includes): Use <string.h> instead of strcasestr.h.
70693         * modules/string (Makefile.am): Also substitute the value of
70694         REPLACE_STRCASESTR.
70695         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
70696         assume strcasestr is declared in <string.h> not <strings.h>. Also
70697         set REPLACE_STRCASESTR.
70698         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
70699         REPLACE_STRCASESTR.
70700         * lib/strcasestr.h: Remove file.
70701         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
70702         * lib/string_.h (strcasestr): New declaration.
70703
70704 2007-01-27  Bruno Haible  <bruno@clisp.org>
70705
70706         * lib/string_.h: Use 'extern'.
70707
70708 2007-01-27  Jim Meyering  <jim@meyering.net>
70709
70710         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
70711         of set-but-not-used local, "q".
70712
70713         * lib/mempcpy.c: Include <config.h> before <string.h>.
70714         This fixes a compilation error on HP-UX, due to the system's
70715         "restrict"-using mempcpy prototype.
70716
70717 2007-01-26  Bruno Haible  <bruno@clisp.org>
70718
70719         Small optimization.
70720         * lib/javacomp.c: Include c-strstr.h.
70721          (is_envjavac_gcj): Use c_strstr instead of strstr.
70722         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
70723
70724 2007-01-26  Bruno Haible  <bruno@clisp.org>
70725
70726         * MODULES.html.sh (Unicode string functions): Add the new modules.
70727
70728         * modules/uniconv/u32-strconv-to-locale: New file.
70729         * lib/uniconv/u32-strconv-to-locale.c: New file.
70730
70731         * modules/uniconv/u16-strconv-to-locale: New file.
70732         * lib/uniconv/u16-strconv-to-locale.c: New file.
70733
70734         * modules/uniconv/u8-strconv-to-locale: New file.
70735         * lib/uniconv/u8-strconv-to-locale.c: New file.
70736
70737         * modules/uniconv/u32-strconv-from-locale: New file.
70738         * lib/uniconv/u32-strconv-from-locale.c: New file.
70739
70740         * modules/uniconv/u16-strconv-from-locale: New file.
70741         * lib/uniconv/u16-strconv-from-locale.c: New file.
70742
70743         * modules/uniconv/u8-strconv-from-locale: New file.
70744         * lib/uniconv/u8-strconv-from-locale.c: New file.
70745
70746         * modules/uniconv/u32-strconv-to-enc: New file.
70747         * lib/uniconv/u32-strconv-to-enc.c: New file.
70748         * modules/uniconv/u32-strconv-to-enc-tests: New file.
70749         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
70750
70751         * modules/uniconv/u16-strconv-to-enc: New file.
70752         * lib/uniconv/u16-strconv-to-enc.c: New file.
70753         * lib/uniconv/u-strconv-to-enc.h: New file.
70754         * modules/uniconv/u16-strconv-to-enc-tests: New file.
70755         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
70756
70757         * modules/uniconv/u8-strconv-to-enc: New file.
70758         * lib/uniconv/u8-strconv-to-enc.c: New file.
70759         * modules/uniconv/u8-strconv-to-enc-tests: New file.
70760         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
70761
70762         * modules/uniconv/u32-strconv-from-enc: New file.
70763         * lib/uniconv/u32-strconv-from-enc.c: New file.
70764         * modules/uniconv/u32-strconv-from-enc-tests: New file.
70765         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
70766
70767         * modules/uniconv/u16-strconv-from-enc: New file.
70768         * lib/uniconv/u16-strconv-from-enc.c: New file.
70769         * modules/uniconv/u16-strconv-from-enc-tests: New file.
70770         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
70771
70772         * modules/uniconv/u8-strconv-from-enc: New file.
70773         * lib/uniconv/u8-strconv-from-enc.c: New file.
70774         * lib/uniconv/u-strconv-from-enc.h: New file.
70775         * modules/uniconv/u8-strconv-from-enc-tests: New file.
70776         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
70777
70778         * modules/uniconv/u32-conv-from-enc: New file.
70779         * lib/uniconv/u32-conv-from-enc.c: New file.
70780         * modules/uniconv/u32-conv-from-enc-tests: New file.
70781         * tests/uniconv/test-u32-conv-from-enc.c: New file.
70782
70783         * modules/uniconv/u16-conv-from-enc: New file.
70784         * lib/uniconv/u16-conv-from-enc.c: New file.
70785         * lib/uniconv/u-conv-from-enc.h: New file.
70786         * modules/uniconv/u16-conv-from-enc-tests: New file.
70787         * tests/uniconv/test-u16-conv-from-enc.c: New file.
70788
70789         * modules/uniconv/u8-conv-from-enc: New file.
70790         * lib/uniconv/u8-conv-from-enc.c: New file.
70791         * modules/uniconv/u8-conv-from-enc-tests: New file.
70792         * tests/uniconv/test-u8-conv-from-enc.c: New file.
70793
70794         * modules/uniconv/base: New file.
70795         * lib/uniconv.h: New file.
70796
70797 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
70798
70799         * doc/gnulib-tool.texi (Initial import): Update to match current
70800         behavior with strdup module.
70801         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
70802         * lib/memmem.h: Remove; all uses removed.  This is now done
70803         by <string.h>.
70804         * lib/mempcpy.h: Likewise.
70805         * lib/memrchr.h: Likewise.
70806         * lib/stpcpy.h: Likewise.
70807         * lib/stpncpy.h: Likewise.
70808         * lib/strcase.h: Likewise.
70809         * lib/strchrnul.h: Likewise.
70810         * lib/strdup.h: Likewise.
70811         * lib/strndup.h: Likewise.
70812         * lib/strnlen.h: Likewise.
70813         * lib/strpbrk.h: Likewise.
70814         * lib/strsep.h: Likewise.
70815         * lib/strstr.h: Likewise.
70816         * lib/strtok_r.h: Likewise.
70817         * lib/string_.h: New file.
70818         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
70819         Rely on <string.h> instead.
70820         * lib/canon-host.c: Likewise.
70821         * lib/chdir-long.c: Likewise.
70822         * lib/concatpath.c: Likewise.
70823         * lib/exclude.c: Likewise.
70824         * lib/fchdir.c: Likewise.
70825         * lib/getaddrinfo.c: Likewise.
70826         * lib/getcwd.c: Likewise.
70827         * lib/getsubopt.c: Likewise.
70828         * lib/glob.c: Likewise.
70829         * lib/hard-locale.c: Likewise.
70830         * lib/iconvme.c: Likewise.
70831         * lib/javacomp.c: Likewise.
70832         * lib/mempcpy.c: Likewise.
70833         * lib/memrchr.c: Likewise.
70834         * lib/regex_internal.h: Likewise.
70835         * lib/stpncpy.c: Likewise.
70836         * lib/strcasecmp.c: Likewise.
70837         * lib/strchrnul.c: Likewise.
70838         * lib/strdup.c: Likewise.
70839         * lib/striconv.c: Likewise.
70840         * lib/striconveh.c: Likewise.
70841         * lib/striconveha.c: Likewise.
70842         * lib/strncasecmp.c: Likewise.
70843         * lib/strndup.c: Likewise.
70844         * lib/strnlen.c: Likewise.
70845         * lib/strsep.c: Likewise.
70846         * lib/strstr.c: Likewise.
70847         * lib/strtok_r.c: Likewise.
70848         * lib/userspec.c: Likewise.
70849         * lib/w32spawn.h: Likewise.
70850         * lib/xstrndup.c: Likewise.
70851         * lib/mountlist.c (strstr): Remove decl.
70852         * m4/string_h.m4: New file.
70853         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
70854         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
70855         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
70856         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
70857         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
70858         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
70859         Set REPLACE_STRCASECMP if necessary.
70860         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
70861         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
70862         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
70863         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
70864         HAVE_DECL_STRDUP if necessary.
70865         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
70866         since gl_FUNC_STRNDUP does that now.
70867         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
70868         Check for decl here...
70869         (gl_PREREQ_STRNLEN): ... not here.
70870         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
70871         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
70872         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
70873         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
70874         necessary.
70875         * modules/string: New file.
70876         * modules/memmem (Files): Remove special-purpose include file.
70877         (Depends-on): Add string.
70878         (Include): Include <string.h>, not the removed file.
70879         * modules/mempcpy: Likewise.
70880         * modules/memrchr: Likewise.
70881         * modules/stpcpy: Likewise.
70882         * modules/stpncpy: Likewise.
70883         * modules/strcase: Likewise.
70884         * modules/strchrnul: Likewise.
70885         * modules/strdup: Likewise.
70886         * modules/strndup: Likewise.
70887         * modules/strnlen: Likewise.
70888         * modules/strpbrk: Likewise.
70889         * modules/strsep: Likewise.
70890         * modules/strstr: Likewise.
70891         * modules/strtok_r: Likewise.
70892         * tests/test-dirname.c: Don't include "strdup.h", since
70893         <string.h> now suffices.
70894         * tests/test-memmem.c: Don't include "memmem.h", since
70895         <string.h> now suffices.
70896
70897 2007-01-25  Bruno Haible  <bruno@clisp.org>
70898
70899         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
70900         *resultp is 0.
70901
70902         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
70903         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
70904         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
70905         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
70906
70907         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
70908         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
70909         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
70910         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
70911         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
70912         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
70913
70914 2007-01-24  Bruno Haible  <bruno@clisp.org>
70915
70916         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
70917         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
70918         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
70919         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
70920         gl_FUNC_FTS_CORE.
70921         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
70922         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
70923         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70924         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
70925         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
70926         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
70927         gl_FUNC_FCHOWNAT.
70928         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
70929         gl_FUNC_STRFTIME.
70930         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
70931         Reported by Ralf Wildenhues.
70932
70933 2007-01-24  Bruno Haible  <bruno@clisp.org>
70934
70935         Drop AC_REQUIRE calls that are redundant with the module dependencies.
70936         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
70937         gl_GETADDRINFO.
70938         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
70939         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
70940         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
70941
70942 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
70943
70944         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
70945         Don't use 'exit'; just return from 'main'.
70946         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
70947
70948         * lib/fnmatch_.h: Readjust white space and comments to match
70949         glibc, to avoid spurious diffs.
70950
70951 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70952
70953         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
70954         2004-12-01 change by Jakub Jelinek, since this code won't compile
70955         if !LIBC.  Problem reported by Bob Proulx.
70956
70957 2007-01-23  Bruno Haible  <bruno@clisp.org>
70958
70959         * lib/striconveh.c: Include c-strcaseeq.h.
70960         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
70961         * modules/striconveh (Depends-on): Add c-strcaseeq.
70962
70963 2007-01-23  Bruno Haible  <bruno@clisp.org>
70964
70965         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
70966
70967         * modules/c-strcaseeq: New file.
70968         * lib/c-strcaseeq.h: New file.
70969
70970         * modules/streq: New file.
70971         * lib/streq.h: New file.
70972
70973 2007-01-23  Bruno Haible  <bruno@clisp.org>
70974
70975         * modules/striconveha-tests: New file.
70976         * tests/test-striconveha.c: New file.
70977
70978         * lib/striconveha.h: Include <stdbool.h>.
70979         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
70980         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
70981         (mem_iconveha_notranslit): Renamed from mem_iconveha.
70982         (mem_iconveha): New function.
70983         (str_iconveha_notranslit): Renamed from str_iconveha.
70984         (str_iconveha): New function.
70985         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
70986         c-strcase.
70987
70988 2007-01-23  Bruno Haible  <bruno@clisp.org>
70989
70990         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
70991         encodings without forgiving before trying any encoding with handler.
70992         (str_iconveha): Try all encodings without forgiving before trying any
70993         encoding with handler.
70994
70995 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
70996
70997         Import the following changes from libc.
70998
70999         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71000
71001         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71002
71003         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71004
71005         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71006         normal_bracket label.
71007
71008         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71009
71010         [BZ #361]
71011         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71012         to normal_bracket after fetching the next character.
71013
71014 2007-01-22  Bruno Haible  <bruno@clisp.org>
71015
71016         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71017         argument.
71018         * lib/striconveh.c (iconv_carefully_1): New function.
71019         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71020         argument.
71021         (str_cd_iconveh): Update.
71022         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71023         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71024         * tests/test-striconveh.c (MAGIC): New macro.
71025         (new_offsets): New function.
71026         (main): Test call with and without offsets.
71027
71028 2007-01-22  Bruno Haible  <bruno@clisp.org>
71029
71030         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71031         * modules/sys_select (Makefile.am): Likewise.
71032         * modules/sys_socket (Makefile.am): Likewise.
71033         * modules/sys_time (Makefile.am): Likewise.
71034
71035 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71036
71037         * modules/gettimeofday (License): Change from GPL to LGPL, since
71038         gettimeofday is a library function.
71039
71040 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71041
71042         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71043
71044 2007-01-21  Bruno Haible  <bruno@clisp.org>
71045
71046         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71047
71048 2007-01-21  Bruno Haible  <bruno@clisp.org>
71049
71050         * modules/striconveha: New file.
71051         * lib/striconveha.h: New file.
71052         * lib/striconveha.c: New file.
71053         * MODULES.html.sh (Internationalization functions): Add striconveha.
71054         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71055         string.
71056         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71057
71058 2007-01-21  Bruno Haible  <bruno@clisp.org>
71059
71060         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71061         * lib/striconveh.c (str_iconveh): Likewise.
71062
71063 2007-01-21  Bruno Haible  <bruno@clisp.org>
71064
71065         * lib/striconveh.h (mem_iconveh): New declaration.
71066         * lib/striconveh.c (mem_iconveh): New function.
71067         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71068
71069 2007-01-21  Bruno Haible  <bruno@clisp.org>
71070
71071         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71072
71073         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71074         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71075         original result buffer.
71076         (str_cd_iconveh): Update.
71077         * tests/test-striconveh.c (main): Update.
71078
71079         * lib/striconv.h (mem_cd_iconv): Change specification.
71080         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71081         result buffer.
71082         (str_cd_iconv): Update.
71083         * tests/test-striconv.c (main): Update.
71084
71085 2007-01-21  Bruno Haible  <bruno@clisp.org>
71086
71087         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71088
71089 2007-01-20  Jim Meyering  <jim@meyering.net>
71090
71091         * lib/userspec.c (parse_with_separator): If a user or group string
71092         starts with "+", skip the corresponding name-to-ID look-up, since
71093         such a look-up must fail: user and group names may not include "+".
71094
71095 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71096
71097         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71098         since we now assume the sys_time module.
71099         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71100         check for sys/time.h; no longer needed.
71101         * modules/poll (Depends-on): Depend on sys_time.
71102
71103 2007-01-18  Bruno Haible  <bruno@clisp.org>
71104
71105         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71106         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71107
71108         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71109         gettimeofday.
71110
71111         * tests/test-gettimeofday.c: Include <time.h>.
71112         (dummy): Remove variable.
71113
71114         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71115         gl_HEADER_SYS_TIME_H.
71116         (gl_HEADER_SYS_TIME_H): New macro.
71117
71118         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71119         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71120         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71121         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71122         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71123         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71124         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71125         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71126         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71127         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71128         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71129
71130         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71131         last change; it caused a compilation error when cross-compiling to
71132         Cygwin.
71133
71134 2007-01-18  Jim Meyering  <jim@meyering.net>
71135
71136         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71137         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71138         than the race-prone "test -d sys || mkdir sys".
71139         (configure.ac): Use AC_PROG_MKDIR_P.
71140         * modules/sys_select: Likewise.
71141         * modules/sys_socket: Likewise.
71142         * modules/sys_time: Likewise.
71143
71144 2007-01-18  Eric Blake  <ebb9@byu.net>
71145
71146         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71147         replace gettimeofday.
71148         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71149         name, to avoid infinite recursion.
71150
71151 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71152
71153         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71154         module sys_time.
71155         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71156         assume timespec.h defines struct timeval.
71157         * lib/settime.c: Likewise.
71158         * lib/utimens.c: Likewise.
71159         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71160         since we now assume the gettimeofday module.
71161         * lib/tempname.c (__gen_tempname): Likewise.
71162         * lib/gettimeofday.h: Remove.
71163         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71164         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71165         Include <time.h>, for 'time()'.
71166         (localtime_buffer_addr): Also use this workaround if
71167         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71168         to simplify the uses.  All uses changed.
71169         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71170         that #undef is inside {}, and 'const' follows type name consistently.
71171         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
71172         (gettimeofday): Do not use the maximum possible value for
71173         tv->tv_usec, since that might break usages other than ls.c.
71174         Instead, we'll leave ls.c alone.  This undoes today's patch
71175         by Bruno.  Add a compile-time warning for 1s-clock resolution;
71176         we've never observed the problem but might as well keep the
71177         canary.
71178         * lib/nanosleep.c: Include timespec.h first, for interface check.
71179         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
71180         now assume the sys_time module.
71181         * lib/tempname.c: Likewise.
71182         * lib/timespec.h: Likewise.
71183         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
71184         needed.
71185         * lib/strftime.c: Likewise.
71186         * lib/timespec.h: Likewise.
71187         * lib/posixtm.c: Include posixtm.h first, for interface check.
71188         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
71189         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
71190         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
71191         * lib/sys_time_.h: New file.
71192         * lib/timespec.h (struct timespec): Use long int, not long.
71193         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71194         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
71195         Remove obsolescent call to AC_HEADER_TIME.
71196         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
71197         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
71198         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71199         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
71200         Likewise.
71201         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
71202         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
71203         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
71204         into the sys_time module.  Check for gettimeofday just once.
71205         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
71206         for gettimeofday signature to just check the signature.  Merely
71207         compile it, since linking doesn't test signature.  Improve test for
71208         whether gettimeofday.o is actually needed.
71209         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
71210         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
71211         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
71212         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71213         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
71214         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
71215         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
71216         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
71217         than worrying about sys/time.h.
71218         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71219         Don't bother worrying about TIME_WITH_SYS_TIME.
71220         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
71221         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
71222         * m4/sys_time_h.m4: New file.
71223         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
71224         Don't include sys/time.h.  Return from main rather than exiting.
71225         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
71226         all uses changed.
71227         * modules/gethrxtime (Depends-on): Add sys_time.
71228         * modules/gettime (Depends-on): Likewise.
71229         * modules/gettimeofday (Depends-on): Likewise.
71230         * modules/nanosleep (Depends-on): Likewise.
71231         * modules/settime (Depends-on): Likewise.
71232         * modules/tempname (Depends-on): Likewise.
71233         * modules/utimens (Depends-on): Likewise.
71234         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
71235         (Include): Change back to <sys/time.h>.
71236         (Maintainer): Add self.
71237         * modules/sys_time: New file.
71238         * modules/tempname (Depends-on): Add gettimeofday.
71239         * tests/test-gettimeofday.c: Include <sys/time.h>
71240         rather than gettimeofday.h.
71241
71242 2007-01-17  Bruno Haible  <bruno@clisp.org>
71243
71244         * gnulib-tool (func_get_license): Revert last patch. Instead, let
71245         the license default to GPL.
71246         (func_create_testdir): Don't complain if a module is LGPL and its
71247         tests module depends on GPLed modules.
71248
71249 2007-01-17  Bruno Haible  <bruno@clisp.org>
71250
71251         * lib/gettimeofday.c (gettimeofday): Add code for the case
71252         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
71253         maximum possible value for tv->tv_usec, rather than the minimum one.
71254
71255 2005-10-08  Martin Lambers  <marlam@marlam.de>
71256 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71257 2007-01-16  Bruno Haible  <bruno@clisp.org>
71258
71259         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
71260         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
71261         gl_FUNC_GETTIMEOFDAY.
71262         (Include): Add gettimeofday.h.
71263         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
71264         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
71265         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
71266         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
71267         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
71268         * lib/gettimeofday.h: New file.
71269         * lib/gettimeofday.c: Include <sys/timeb.h>.
71270         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
71271         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71272         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
71273         fall back on time().
71274
71275         * tests/test-gettimeofday.c: New file.
71276         * modules/gettimeofday-tests: New file.
71277
71278 2007-01-16  Eric Blake  <ebb9@byu.net>
71279
71280         * modules/fnmatch (Depends-on): Depend on wchar.
71281         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
71282         * m4/fnmatch.m4: Likewise.
71283         * modules/mbchar (Makefile.am): Assume <wchar.h>.
71284         * m4/mbchar.m4: Likewise.
71285         * modules/mbswidth (Depends-on): Depend on wchar.
71286         * lib/mbswidth.c: Assume <wchar.h>.
71287         * m4/mbswidth.m4: Likewise.
71288         * modules/quotearg (Depends-on): Depend on wchar.
71289         * lib/quotearg.c: Assume <wchar.h>.
71290         * m4/quotearg.m4: Likewise.
71291         * modules/regex (Depends-on): Depend on wchar.
71292         * lib/regex_internal.h: Assume <wchar.h>.
71293         * m4/regex.m4: Likewise.
71294         * modules/stdint (Depends-on): Depend on wchar.
71295         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
71296         * m4/stdint.m4: Likewise.
71297         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
71298         * modules/strftime (Depends-on): Depend on wchar.
71299         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
71300         * modules/strtol (Depends-on): Depend on wchar.
71301         * lib/strtol.c: Assume <wchar.h>.
71302         * modules/wcwidth (Depends-on): Depend on wchar.
71303         * lib/wcwidth.h: Assume <wchar.h>.
71304         * m4/wcwidth.m4: Likewise.
71305
71306 2007-01-16  Bruno Haible  <bruno@clisp.org>
71307
71308         * modules/csharpexec-script: New, created from...
71309         * modules/csharpexec: ... this.
71310
71311 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
71312
71313         * modules/javaexec-script: New, created from...
71314         * modules/javaexec: ... this.
71315
71316 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71317
71318         * modules/poll (Dependencies): Add sys_select.
71319
71320 2007-01-15  Jim Meyering  <jim@meyering.net>
71321
71322         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
71323         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
71324         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
71325         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
71326
71327 2007-01-15  Bruno Haible  <bruno@clisp.org>
71328
71329         * modules/striconveh: New file.
71330         * lib/striconveh.h: New file.
71331         * lib/striconveh.c: New file.
71332         * MODULES.html.sh (Internationalization functions): Add striconveh.
71333
71334         * modules/striconveh-tests: New file.
71335         * tests/test-striconveh.c: New file.
71336
71337 2007-01-15  Bruno Haible  <bruno@clisp.org>
71338
71339         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
71340         not from GNU libiconv or GNU libc.
71341
71342 2007-01-15  Bruno Haible  <bruno@clisp.org>
71343
71344         * doc/gnulib-intro.texi (Copyright): Explain the different license
71345         terms for module descriptions, autoconf macros, tests, documentation.
71346
71347 2007-01-14  Bruno Haible  <bruno@clisp.org>
71348
71349         * modules/striconv-tests: New file.
71350         * tests/test-striconv.c: New file.
71351
71352 2007-01-14  Bruno Haible  <bruno@clisp.org>
71353
71354         * modules/iconv-tests: New file.
71355         * tests/test-iconv.c: New file.
71356
71357 2007-01-14  Bruno Haible  <bruno@clisp.org>
71358
71359         * gnulib-tool (func_get_license): For test modules, use the license of
71360         the main module.
71361
71362 2007-01-14  Bruno Haible  <bruno@clisp.org>
71363
71364         * modules/iconv (Include): Clarify that <iconv.h> can only be included
71365         if iconv is found to exist.
71366
71367 2007-01-14  Bruno Haible  <bruno@clisp.org>
71368
71369         * modules/c-ctype-tests: New file.
71370         * tests/test-c-ctype.c: New file.
71371
71372 2007-01-14  Bruno Haible  <bruno@clisp.org>
71373
71374         * modules/binary-io-tests: New file.
71375         * tests/test-binary-io.sh: New file.
71376         * tests/test-binary-io.c: New file.
71377
71378 2007-01-14  Bruno Haible  <bruno@clisp.org>
71379
71380         * modules/array-oset-tests: New file.
71381         * tests/test-array_oset.c: New file.
71382
71383 2007-01-14  Bruno Haible  <bruno@clisp.org>
71384
71385         * modules/array-list-tests: New file.
71386         * tests/test-array_list.c: New file.
71387
71388 2007-01-14  Bruno Haible  <bruno@clisp.org>
71389
71390         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
71391         and make.
71392         Reported by Simon Josefsson in
71393         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
71394
71395 2007-01-14  Bruno Haible  <bruno@clisp.org>
71396
71397         * modules/allocsa-tests: New file.
71398         * tests/test-allocsa.c: New file.
71399
71400 2007-01-14  Bruno Haible  <bruno@clisp.org>
71401
71402         * modules/fchdir (Depends-on): Add absolute-header.
71403         * modules/unistd (Depends-on): Likewise.
71404
71405 2006-12-30  Bruno Haible  <bruno@clisp.org>
71406
71407         * modules/fchdir: New file.
71408         * modules/unistd (Files): Add lib/unistd_.h.
71409         (Makefile.am): Generate unistd.h from unistd_.h.
71410         * lib/fchdir.c: New file.
71411         * lib/dirent_.h: New file.
71412         * lib/unistd_.h: New file.
71413         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
71414         * m4/fchdir.m4: New file.
71415         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
71416         (gl_HEADER_UNISTD): Invoke it.
71417         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
71418         function.
71419         * lib/backupfile.c (opendir, closedir): Undefine.
71420         * lib/chown.c (open, close): Undefine.
71421         * lib/clean-temp.c (open, close): Undefine.
71422         * lib/copy-file.c (open, close): Undefine.
71423         * lib/execute.c (open, close): Undefine.
71424         * lib/fsusage.c (open, close): Undefine.
71425         * lib/gc-gnulib.c (open, close): Undefine.
71426         * lib/getcwd.c (opendir, closedir): Undefine.
71427         * lib/glob.c (opendir, closedir): Undefine.
71428         * lib/javacomp.c (open, close): Undefine.
71429         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
71430         * lib/openat-proc.c (open, close): Undefine.
71431         * lib/pagealign_alloc.c (open, close): Undefine.
71432         * lib/pipe.c (open, close): Undefine.
71433         * lib/progreloc.c (open, close): Undefine.
71434         * lib/savedir.c (opendir, closedir): Undefine.
71435         * lib/utime.c (open, close): Undefine.
71436         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
71437
71438 2007-01-10  Bruno Haible  <bruno@clisp.org>
71439
71440         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
71441
71442 2007-01-12  Eric Blake  <ebb9@byu.net>
71443
71444         Provide a robust <wchar.h>.  Further simplifications are now
71445         possible in other modules, but not included here.
71446         * modules/wchar: New module.
71447         * m4/wchar.m4: New file.
71448         * lib/wchar_.h: Likewise.
71449         * modules/mbchar (Depends-on): Depend on wchar, as the first use
71450         of the new module.
71451         * MODULES.html.sh (Extended multibyte and wide character utilities):
71452         New section.
71453
71454 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
71455
71456         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
71457         to a reasonable default for memory allocation.
71458         (xreadlink): Don't allocate a huge buffer, to work around a buggy
71459         file system that reports garbage st_size values for symlinks.
71460         Problem reported by Liyang Hu.
71461
71462 2007-01-11  Simon Josefsson  <simon@josefsson.org>
71463
71464         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
71465         Emacs .#* auto-save files).
71466
71467 2007-01-11  Bruno Haible  <bruno@clisp.org>
71468
71469         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
71470         directory.
71471
71472 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
71473
71474         Use @...@ consistently in lib/wctype_.h.
71475         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
71476         on it being set to 1 or 0.
71477         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
71478         go back to AC_SUBSTing it.
71479         * modules/wctype (Makefile.am): Undo previous change.
71480
71481 2007-01-10  Eric Blake  <ebb9@byu.net>
71482
71483         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
71484         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
71485         * modules/wctype (Makefile.am): Likewise.
71486         Reported by Chris McGuire.
71487
71488 2007-01-10  Jim Meyering  <jim@meyering.net>
71489
71490         fts.c: a small readability/maintainability improvement
71491         * lib/fts.c (fts_read): Make this code slightly more readable and
71492         maintainable by hoisting the "sp->fts_cur = p" assignments to
71493         immediately follow the statements that set P.  Derived from
71494         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
71495
71496 2007-01-10  Eric Blake  <ebb9@byu.net>
71497
71498         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
71499         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
71500         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
71501         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71502         Reported by Chris McGuire.
71503
71504 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71505
71506         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
71507         in sed script.
71508
71509 2007-01-09  Bruno Haible  <bruno@clisp.org>
71510
71511         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
71512         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
71513         variables.
71514         (func_module): Use them.
71515
71516 2007-01-09  Bruno Haible  <bruno@clisp.org>
71517
71518         * modules/unistr/base: New file.
71519         * lib/unistr.h: New file.
71520
71521         * modules/unistr/u8-to-u16: New file.
71522         * lib/unistr/u8-to-u16.c: New file.
71523
71524         * modules/unistr/u8-to-u32: New file.
71525         * lib/unistr/u8-to-u32.c: New file.
71526
71527         * modules/unistr/u16-to-u8: New file.
71528         * lib/unistr/u16-to-u8.c: New file.
71529
71530         * modules/unistr/u16-to-u32: New file.
71531         * lib/unistr/u16-to-u32.c: New file.
71532
71533         * modules/unistr/u32-to-u8: New file.
71534         * lib/unistr/u32-to-u8.c: New file.
71535
71536         * modules/unistr/u32-to-u16: New file.
71537         * lib/unistr/u32-to-u16.c: New file.
71538
71539         * modules/unistr/u8-check: New file.
71540         * modules/unistr/u16-check: New file.
71541         * modules/unistr/u32-check: New file.
71542         * lib/unistr/u8-check.c: New file.
71543         * lib/unistr/u16-check.c: New file.
71544         * lib/unistr/u32-check.c: New file.
71545
71546         * modules/unistr/u8-chr: New file.
71547         * modules/unistr/u16-chr: New file.
71548         * modules/unistr/u32-chr: New file.
71549         * lib/unistr/u8-chr.c: New file.
71550         * lib/unistr/u16-chr.c: New file.
71551         * lib/unistr/u32-chr.c: New file.
71552
71553         * modules/unistr/u8-cmp: New file.
71554         * modules/unistr/u16-cmp: New file.
71555         * modules/unistr/u32-cmp: New file.
71556         * lib/unistr/u8-cmp.c: New file.
71557         * lib/unistr/u16-cmp.c: New file.
71558         * lib/unistr/u32-cmp.c: New file.
71559
71560         * modules/unistr/u8-cpy: New file.
71561         * modules/unistr/u16-cpy: New file.
71562         * modules/unistr/u32-cpy: New file.
71563         * lib/unistr/u8-cpy.c: New file.
71564         * lib/unistr/u16-cpy.c: New file.
71565         * lib/unistr/u32-cpy.c: New file.
71566         * lib/unistr/u-cpy.h: New file.
71567
71568         * modules/unistr/u8-cpy-alloc: New file.
71569         * modules/unistr/u16-cpy-alloc: New file.
71570         * modules/unistr/u32-cpy-alloc: New file.
71571         * lib/unistr/u8-cpy-alloc.c: New file.
71572         * lib/unistr/u16-cpy-alloc.c: New file.
71573         * lib/unistr/u32-cpy-alloc.c: New file.
71574         * lib/unistr/u-cpy-alloc.h: New file.
71575
71576         * modules/unistr/u8-endswith: New file.
71577         * modules/unistr/u16-endswith: New file.
71578         * modules/unistr/u32-endswith: New file.
71579         * lib/unistr/u8-endswith.c: New file.
71580         * lib/unistr/u16-endswith.c: New file.
71581         * lib/unistr/u32-endswith.c: New file.
71582         * lib/unistr/u-endswith.h: New file.
71583
71584         * modules/unistr/u8-mblen: New file.
71585         * modules/unistr/u16-mblen: New file.
71586         * modules/unistr/u32-mblen: New file.
71587         * lib/unistr/u8-mblen.c: New file.
71588         * lib/unistr/u16-mblen.c: New file.
71589         * lib/unistr/u32-mblen.c: New file.
71590
71591         * modules/unistr/u8-mbtouc: New file.
71592         * modules/unistr/u16-mbtouc: New file.
71593         * modules/unistr/u32-mbtouc: New file.
71594         * lib/unistr/u8-mbtouc.c: New file.
71595         * lib/unistr/u16-mbtouc.c: New file.
71596         * lib/unistr/u32-mbtouc.c: New file.
71597
71598         * modules/unistr/u8-mbtouc-safe: New file.
71599         * modules/unistr/u16-mbtouc-safe: New file.
71600         * modules/unistr/u32-mbtouc-safe: New file.
71601         * lib/unistr/u8-mbtouc-safe.c: New file.
71602         * lib/unistr/u16-mbtouc-safe.c: New file.
71603         * lib/unistr/u32-mbtouc-safe.c: New file.
71604
71605         * modules/unistr/u8-move: New file.
71606         * modules/unistr/u16-move: New file.
71607         * modules/unistr/u32-move: New file.
71608         * lib/unistr/u8-move.c: New file.
71609         * lib/unistr/u16-move.c: New file.
71610         * lib/unistr/u32-move.c: New file.
71611         * lib/unistr/u-move.h: New file.
71612
71613         * modules/unistr/u8-next: New file.
71614         * modules/unistr/u16-next: New file.
71615         * modules/unistr/u32-next: New file.
71616         * lib/unistr/u8-next.c: New file.
71617         * lib/unistr/u16-next.c: New file.
71618         * lib/unistr/u32-next.c: New file.
71619
71620         * modules/unistr/u8-prev: New file.
71621         * modules/unistr/u16-prev: New file.
71622         * modules/unistr/u32-prev: New file.
71623         * lib/unistr/u8-prev.c: New file.
71624         * lib/unistr/u16-prev.c: New file.
71625         * lib/unistr/u32-prev.c: New file.
71626
71627         * modules/unistr/u8-set: New file.
71628         * modules/unistr/u16-set: New file.
71629         * modules/unistr/u32-set: New file.
71630         * lib/unistr/u8-set.c: New file.
71631         * lib/unistr/u16-set.c: New file.
71632         * lib/unistr/u32-set.c: New file.
71633         * lib/unistr/u-set.h: New file.
71634
71635         * modules/unistr/u8-startswith: New file.
71636         * modules/unistr/u16-startswith: New file.
71637         * modules/unistr/u32-startswith: New file.
71638         * lib/unistr/u8-startswith.c: New file.
71639         * lib/unistr/u16-startswith.c: New file.
71640         * lib/unistr/u32-startswith.c: New file.
71641         * lib/unistr/u-startswith.h: New file.
71642
71643         * modules/unistr/u8-stpcpy: New file.
71644         * modules/unistr/u16-stpcpy: New file.
71645         * modules/unistr/u32-stpcpy: New file.
71646         * lib/unistr/u8-stpcpy.c: New file.
71647         * lib/unistr/u16-stpcpy.c: New file.
71648         * lib/unistr/u32-stpcpy.c: New file.
71649         * lib/unistr/u-stpcpy.h: New file.
71650
71651         * modules/unistr/u8-stpncpy: New file.
71652         * modules/unistr/u16-stpncpy: New file.
71653         * modules/unistr/u32-stpncpy: New file.
71654         * lib/unistr/u8-stpncpy.c: New file.
71655         * lib/unistr/u16-stpncpy.c: New file.
71656         * lib/unistr/u32-stpncpy.c: New file.
71657         * lib/unistr/u-stpncpy.h: New file.
71658
71659         * modules/unistr/u8-strcat: New file.
71660         * modules/unistr/u16-strcat: New file.
71661         * modules/unistr/u32-strcat: New file.
71662         * lib/unistr/u8-strcat.c: New file.
71663         * lib/unistr/u16-strcat.c: New file.
71664         * lib/unistr/u32-strcat.c: New file.
71665         * lib/unistr/u-strcat.h: New file.
71666
71667         * modules/unistr/u8-strchr: New file.
71668         * modules/unistr/u16-strchr: New file.
71669         * modules/unistr/u32-strchr: New file.
71670         * lib/unistr/u8-strchr.c: New file.
71671         * lib/unistr/u16-strchr.c: New file.
71672         * lib/unistr/u32-strchr.c: New file.
71673
71674         * modules/unistr/u8-strcmp: New file.
71675         * modules/unistr/u16-strcmp: New file.
71676         * modules/unistr/u32-strcmp: New file.
71677         * lib/unistr/u8-strcmp.c: New file.
71678         * lib/unistr/u16-strcmp.c: New file.
71679         * lib/unistr/u32-strcmp.c: New file.
71680
71681         * modules/unistr/u8-strcpy: New file.
71682         * modules/unistr/u16-strcpy: New file.
71683         * modules/unistr/u32-strcpy: New file.
71684         * lib/unistr/u8-strcpy.c: New file.
71685         * lib/unistr/u16-strcpy.c: New file.
71686         * lib/unistr/u32-strcpy.c: New file.
71687         * lib/unistr/u-strcpy.h: New file.
71688
71689         * modules/unistr/u8-strcspn: New file.
71690         * modules/unistr/u16-strcspn: New file.
71691         * modules/unistr/u32-strcspn: New file.
71692         * lib/unistr/u8-strcspn.c: New file.
71693         * lib/unistr/u16-strcspn.c: New file.
71694         * lib/unistr/u32-strcspn.c: New file.
71695         * lib/unistr/u-strcspn.h: New file.
71696
71697         * modules/unistr/u8-strdup: New file.
71698         * modules/unistr/u16-strdup: New file.
71699         * modules/unistr/u32-strdup: New file.
71700         * lib/unistr/u8-strdup.c: New file.
71701         * lib/unistr/u16-strdup.c: New file.
71702         * lib/unistr/u32-strdup.c: New file.
71703         * lib/unistr/u-strdup.h: New file.
71704
71705         * modules/unistr/u8-strlen: New file.
71706         * modules/unistr/u16-strlen: New file.
71707         * modules/unistr/u32-strlen: New file.
71708         * lib/unistr/u8-strlen.c: New file.
71709         * lib/unistr/u16-strlen.c: New file.
71710         * lib/unistr/u32-strlen.c: New file.
71711         * lib/unistr/u-strlen.h: New file.
71712
71713         * modules/unistr/u8-strmblen: New file.
71714         * modules/unistr/u16-strmblen: New file.
71715         * modules/unistr/u32-strmblen: New file.
71716         * lib/unistr/u8-strmblen.c: New file.
71717         * lib/unistr/u16-strmblen.c: New file.
71718         * lib/unistr/u32-strmblen.c: New file.
71719
71720         * modules/unistr/u8-strmbtouc: New file.
71721         * modules/unistr/u16-strmbtouc: New file.
71722         * modules/unistr/u32-strmbtouc: New file.
71723         * lib/unistr/u8-strmbtouc.c: New file.
71724         * lib/unistr/u16-strmbtouc.c: New file.
71725         * lib/unistr/u32-strmbtouc.c: New file.
71726
71727         * modules/unistr/u8-strncat: New file.
71728         * modules/unistr/u16-strncat: New file.
71729         * modules/unistr/u32-strncat: New file.
71730         * lib/unistr/u8-strncat.c: New file.
71731         * lib/unistr/u16-strncat.c: New file.
71732         * lib/unistr/u32-strncat.c: New file.
71733         * lib/unistr/u-strncat.h: New file.
71734
71735         * modules/unistr/u8-strncmp: New file.
71736         * modules/unistr/u16-strncmp: New file.
71737         * modules/unistr/u32-strncmp: New file.
71738         * lib/unistr/u8-strncmp.c: New file.
71739         * lib/unistr/u16-strncmp.c: New file.
71740         * lib/unistr/u32-strncmp.c: New file.
71741
71742         * modules/unistr/u8-strncpy: New file.
71743         * modules/unistr/u16-strncpy: New file.
71744         * modules/unistr/u32-strncpy: New file.
71745         * lib/unistr/u8-strncpy.c: New file.
71746         * lib/unistr/u16-strncpy.c: New file.
71747         * lib/unistr/u32-strncpy.c: New file.
71748         * lib/unistr/u-strncpy.h: New file.
71749
71750         * modules/unistr/u8-strnlen: New file.
71751         * modules/unistr/u16-strnlen: New file.
71752         * modules/unistr/u32-strnlen: New file.
71753         * lib/unistr/u8-strnlen.c: New file.
71754         * lib/unistr/u16-strnlen.c: New file.
71755         * lib/unistr/u32-strnlen.c: New file.
71756         * lib/unistr/u-strnlen.h: New file.
71757
71758         * modules/unistr/u8-strpbrk: New file.
71759         * modules/unistr/u16-strpbrk: New file.
71760         * modules/unistr/u32-strpbrk: New file.
71761         * lib/unistr/u8-strpbrk.c: New file.
71762         * lib/unistr/u16-strpbrk.c: New file.
71763         * lib/unistr/u32-strpbrk.c: New file.
71764         * lib/unistr/u-strpbrk.h: New file.
71765
71766         * modules/unistr/u8-strrchr: New file.
71767         * modules/unistr/u16-strrchr: New file.
71768         * modules/unistr/u32-strrchr: New file.
71769         * lib/unistr/u8-strrchr.c: New file.
71770         * lib/unistr/u16-strrchr.c: New file.
71771         * lib/unistr/u32-strrchr.c: New file.
71772
71773         * modules/unistr/u8-strspn: New file.
71774         * modules/unistr/u16-strspn: New file.
71775         * modules/unistr/u32-strspn: New file.
71776         * lib/unistr/u8-strspn.c: New file.
71777         * lib/unistr/u16-strspn.c: New file.
71778         * lib/unistr/u32-strspn.c: New file.
71779         * lib/unistr/u-strspn.h: New file.
71780
71781         * modules/unistr/u8-strstr: New file.
71782         * modules/unistr/u16-strstr: New file.
71783         * modules/unistr/u32-strstr: New file.
71784         * lib/unistr/u8-strstr.c: New file.
71785         * lib/unistr/u16-strstr.c: New file.
71786         * lib/unistr/u32-strstr.c: New file.
71787         * lib/unistr/u-strstr.h: New file.
71788
71789         * modules/unistr/u8-strtok: New file.
71790         * modules/unistr/u16-strtok: New file.
71791         * modules/unistr/u32-strtok: New file.
71792         * lib/unistr/u8-strtok.c: New file.
71793         * lib/unistr/u16-strtok.c: New file.
71794         * lib/unistr/u32-strtok.c: New file.
71795         * lib/unistr/u-strtok.h: New file.
71796
71797         * modules/unistr/u8-uctomb: New file.
71798         * modules/unistr/u16-uctomb: New file.
71799         * modules/unistr/u32-uctomb: New file.
71800         * lib/unistr/u8-uctomb.c: New file.
71801         * lib/unistr/u16-uctomb.c: New file.
71802         * lib/unistr/u32-uctomb.c: New file.
71803
71804         * MODULES.html.sh (Unicode string functions): Add the new modules.
71805
71806 2007-01-08  Bruno Haible  <bruno@clisp.org>
71807
71808         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
71809         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
71810         subdirectories.
71811
71812 2007-01-08  Karl Berry  <karl@gnu.org>
71813
71814         * doc/error.texi: mention that main() fns must set program_name
71815         when progname is used.
71816
71817 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
71818
71819         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
71820         WCTYPE_H is empty, for the benefit of builds from non-distclean
71821         directories.  Problem reported by Eric Blake in
71822         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
71823
71824 2007-01-08  Bruno Haible  <bruno@clisp.org>
71825
71826         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
71827         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
71828         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
71829         PROVIDE_CANONICALIZE_FILENAME_MODE.
71830         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
71831
71832 2007-01-08  Bruno Haible  <bruno@clisp.org>
71833
71834         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
71835         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
71836         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
71837         * lib/fts.c: Likewise.
71838         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
71839
71840 2006-12-25  Bruno Haible  <bruno@clisp.org>
71841
71842         * modules/utf8-ucs4-safe: New file.
71843         * lib/utf8-ucs4-safe.h: New file.
71844         * lib/unistr/utf8-ucs4-safe.c: New file.
71845
71846         * modules/utf16-ucs4-safe: New file.
71847         * lib/utf16-ucs4-safe.h: New file.
71848         * lib/unistr/utf16-ucs4-safe.c: New file.
71849
71850         * MODULES.html.sh (Unicode string functions): Add the new modules.
71851
71852 2007-01-08  Bruno Haible  <bruno@clisp.org>
71853
71854         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
71855         (Depends-on): Add unitypes.
71856         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71857         (u8_mbtouc_aux): Move out to separate file.
71858         (u8_mbtouc): Use ucs4_t, uint8_t types.
71859         * lib/unistr/utf8-ucs4.c: New file.
71860
71861         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
71862         (Depends-on): Add unitypes.
71863         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
71864         (u16_mbtouc_aux): Move out to separate file.
71865         (u16_mbtouc): Use ucs4_t, uint16_t types.
71866         * lib/unistr/utf16-ucs4.c: New file.
71867
71868         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
71869         (Depends-on): Add unitypes.
71870         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
71871         (u8_uctomb_aux): Move out to separate file.
71872         (u8_uctomb): Use ucs4_t, uint8_t types.
71873         * lib/unistr/ucs4-utf8.c: New file.
71874
71875         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
71876         (Depends-on): Add unitypes.
71877         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
71878         (u16_uctomb_aux): Move out to separate file.
71879         (u16_uctomb): Use ucs4_t, uint16_t types.
71880         * lib/unistr/ucs4-utf16.c: New file.
71881
71882 2006-12-25  Bruno Haible  <bruno@clisp.org>
71883
71884         * modules/unitypes: New file.
71885         * lib/unitypes.h: New file.
71886         * MODULES.html.sh (func_all_modules): New section "Unicode string
71887         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
71888         this section. Add unitypes.
71889
71890 2007-01-08  Bruno Haible  <bruno@clisp.org>
71891
71892         Avoid variable names that conflict with those from libtool.
71893         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
71894         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
71895         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
71896         library_names_spec to acl_library_names_spec, hardcode_* to
71897         acl_hardcode_*.
71898         Reported by Ralf Wildenhues.
71899
71900 2007-01-08  Bruno Haible  <bruno@clisp.org>
71901
71902         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
71903         definition.
71904         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
71905         definition.
71906         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
71907         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
71908         definition.
71909         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
71910         definition.
71911         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
71912         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
71913         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
71914         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
71915         definition.
71916         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
71917         definition.
71918         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
71919         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
71920         GC_USE_<algorithm>.
71921         * lib/gc-libgcrypt.c: Likewise.
71922         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
71923         * modules/gc-arctwo (configure.ac): Likewise.
71924         * modules/gc-des (configure.ac): Likewise.
71925         * modules/gc-hmac-md5 (configure.ac): Likewise.
71926         * modules/gc-hmac-sha1 (configure.ac): Likewise.
71927         * modules/gc-md2 (configure.ac): Likewise.
71928         * modules/gc-md4 (configure.ac): Likewise.
71929         * modules/gc-md5 (configure.ac): Likewise.
71930         * modules/gc-random (configure.ac): Likewise.
71931         * modules/gc-rijndael (configure.ac): Likewise.
71932         * modules/gc-sha1 (configure.ac): Likewise.
71933
71934 2007-01-08  Bruno Haible  <bruno@clisp.org>
71935
71936         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
71937         macro definition.
71938         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
71939         definition.
71940         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
71941         definition.
71942         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
71943         * modules/fcntl-safer (configure.ac): Likewise.
71944         * modules/fopen-safer (configure.ac): Likewise.
71945         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
71946         GNULIB_FWRITEERROR macro definition.
71947
71948 2007-01-08  Bruno Haible  <bruno@clisp.org>
71949
71950         * m4/gnulib-common.m4: New file.
71951         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
71952         (func_get_filelist): Add m4/gnulib-common.m4.
71953
71954 2007-01-08  Bruno Haible  <bruno@clisp.org>
71955
71956         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
71957         command.
71958
71959 2007-01-08  Jim Meyering  <jim@meyering.net>
71960
71961         Use a more robust test for a "can't happen" condition.
71962         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
71963         narrowed the st_size value.  Presuming the "can't happen" condition
71964         is true, that narrowing could conceivably convert an invalid st_size
71965         value into a valid one.  Instead, use a change based on Matthew
71966         Woehlke's original patch.
71967
71968         Slight readability improvement: use an assert-like macro
71969         in place of literal "abort ()" uses.
71970         * lib/fts.c (fts_assert): Define.
71971         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
71972         Use this macro instead of a bare 'abort'.
71973
71974 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
71975
71976         Don't worry about using IRIX 5.3's wctype.h broken definitions;
71977         simply work around them.
71978         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
71979         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
71980         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
71981         declaring.
71982         Don't bother to define as macros, since the standard doesn't require it.
71983         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
71984         longer worry about IRIX 5.3.
71985         (HAVE_WCTYPE_CTMP_BUG): Remove.
71986
71987 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
71988
71989         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
71990         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
71991         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
71992         Problems reported by Georg Schwarz for IRIX 5.3.
71993
71994         * gnulib-tool (autoconf_minversion): Take the maximum version number
71995         found, not the minimum.  Problem reported by James Youngman.
71996
71997 2007-01-03  Karl Berry  <karl@gnu.org>
71998
71999         * doc/error.texi: new file, explaining interaction with progname.
72000         * doc/gnulib.texi: include it.  Update copyright.
72001
72002 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72003
72004         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72005         AC_CANONICAL_HOST, to improve autobuild outputs.
72006
72007 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72008             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72009
72010         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72011         sockets, server sockets, and other file descriptors.  Count errors
72012         to compute the return value.  Reorder the code a bit to be easier
72013         to follow.  Don't set event bits that were not requested (except
72014         POLLERR and POLLHUP).
72015
72016 2007-01-01  Bruno Haible  <bruno@clisp.org>
72017
72018         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72019
72020 2007-01-03  Jim Meyering  <jim@meyering.net>
72021
72022         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72023
72024 2007-01-02  Bruno Haible  <bruno@clisp.org>
72025
72026         * modules/settime (Include): Require timespec.h.
72027         * modules/nanosleep (Include): Likewise.
72028
72029 2007-01-01  Bruno Haible  <bruno@clisp.org>
72030
72031         * gnulib-tool (func_emit_copyright_notice): Bump year.
72032         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72033
72034 2007-01-01  Bruno Haible  <bruno@clisp.org>
72035
72036         Improve support for OpenBSD.
72037         * build-aux/config.rpath (libname_spec): Export.
72038         (library_names_spec): New variable. Export.
72039         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72040         library_names_spec from the config.rpath output. Locate shared library
72041         through the name pattern in library_names_spec.
72042
72043 2007-01-01  Eric Blake  <ebb9@byu.net>
72044
72045         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72046
72047 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72048
72049         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72050         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72051         assume the C locale, and avoid an "eval" that could cause trouble.
72052         Problem with SORT reported by Bob Proulx.
72053
72054         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72055         Define.  Trivial patch from Henning Nielsen Lund, originally
72056         sent to bug-grep@gnu.org today.
72057
72058 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72059
72060         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72061         struct stat.  Problem reported by Henning Nielsen Lund.
72062         * lib/acl.c: Include acl.h first, to check interface.  Don't
72063         bother to include sys/types.h and sys/stat.h again.
72064
72065 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72066
72067         Import the following change from libc; problem reported by
72068         Sven Verdoolaege.
72069
72070         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72071
72072         [BZ #1373]
72073         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72074
72075 2006-12-28  Jim Meyering  <jim@meyering.net>
72076
72077         * build-aux/announce-gen: Do not assume that the package
72078         builds any of tar.gz, tar.bz2, and .xdelta files.
72079         Suggestion from Simon Josefsson.
72080
72081 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72082
72083         * modules/announce-gen: New file.
72084
72085 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72086
72087         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72088         handles its gotchas now.
72089         * lib/mbswidth.c: Likewise.
72090         * lib/wcwidth.h: Likewise.
72091         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72092         and iswcntrl; the wctype module does this stuff now.
72093         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72094         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72095         * modules/mbchar (Depends-on): Add wctype.
72096         * modules/mbswidth (Depends-on): Likewise.
72097         * modules/wcwidth (Depends-on): Likewise.
72098
72099 2006-12-27  Eric Blake  <ebb9@byu.net>
72100
72101         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72102         module uses more than what <wctype.h> is required to provide.
72103
72104 2006-12-26  Eric Blake  <ebb9@byu.net>
72105
72106         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72107
72108 2006-12-26  Eric Blake  <ebb9@byu.net>
72109
72110         * modules/absolute-header: New module.
72111         * modules/fcntl (Depends-on): Depend on it.
72112         * modules/inttypes (Depends-on): Likewise.
72113         * modules/stdint (Depends-on): Likewise.
72114         * modules/sys_stat (Depends-on): Likewise.
72115         * modules/wctype (Depends-on): Likewise.
72116         * MODULES.html.sh (Support for building libraries and
72117         executables): Document it.
72118
72119 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72120
72121         * gnulib-tool (SED): Remove, undoing previous change.
72122         The problem was that it broke coreutils on Solaris, because
72123         "sed --posix" leaked into a makefile.
72124         (sed): New alias, if 'alias' and GNU sed.
72125
72126 2006-12-24  Jim Meyering  <jim@meyering.net>
72127
72128         Work around an fchownat bug in glibc-2.4:
72129         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72130         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72131         in spite of the -P option.
72132         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72133         New macros.
72134         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72135         * modules/openat (Files): Add lib/fchownat.c.
72136         * lib/openat.c (fchownat): Don't define here.  Move to...
72137         * lib/fchownat.c: ...this new file.
72138
72139 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72140
72141         Fix bug reported by Bruno Haible in
72142         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72143         where quotearg.c didn't compile on Mac OS X 10.2 because it
72144         lacks <wchar.h> and wint_t.
72145         * lib/wctype_.h (__wctype_wint_t): New type.
72146         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72147         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72148         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72149         Arg is now of type __wctype_wint_t, not wint_t.
72150         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72151         substitute HAVE_WINT_T.
72152         * modules/wctype (Files): Add m4/wint_t.m4.
72153         (wctype.h): Substitute HAVE_WINT_T.
72154
72155 2006-12-23  Bruno Haible  <bruno@clisp.org>
72156
72157         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72158
72159 2006-12-23  Bruno Haible  <bruno@clisp.org>
72160
72161         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72162         S_ISLNK.
72163         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72164         mingw.
72165
72166 2006-12-22  Bruno Haible  <bruno@clisp.org>
72167
72168         * lib/copy-file.c: Include acl.h.
72169         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72170         Close the file descriptors only after being done with copy_acl.
72171         * modules/copy-file (Depends-on): Add acl.
72172
72173 2006-12-22  Bruno Haible  <bruno@clisp.org>
72174
72175         * gnulib-tool (SED): New variable.
72176         Use $SED instead of sed everywhere.
72177
72178 2006-12-22  Bruno Haible  <bruno@clisp.org>
72179
72180         * modules/no-c++: New file.
72181         * m4/no-c++.m4: New file.
72182         * MODULES.html.sh (Support for building libraries and executables):
72183         Add no-c++.
72184
72185 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
72186
72187         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72188         Include <limits.h>, and use its INT_MAX to rewrite the
72189         j loop so that it does not overflow 'int'.  Problem reported by
72190         Ralf Wildenhues in
72191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
72192         Play it safe by shifting left by 1 rather than multiplying by 2,
72193         as GCC is less likely to optimize this away when the value
72194         is signed (when it assumes overflow leads to undefined behavior).
72195         Also, don't assume time_t uses two's complement.
72196
72197 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
72198
72199         * MODULES.html.sh: New module wctype.
72200         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
72201         * lib/fnmatch.c: Don't bother to include <wchar.h> before
72202         <wctype.h>, since the new wctype module should fix this.
72203         * lib/quotearg.c: Include <wctype.h> unconditionally, since
72204         the wctype module should arrange for it.
72205         * lib/regex_internal.h: Likewise.
72206         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
72207         since the wctype module should handle this now.
72208         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
72209         * modules/fnmatch (Depends-on): Add wctype.
72210         * modules/quotearg (Depends-on): Likewise.
72211         * modules/regex (Depends-on): Likewise.
72212
72213 2006-12-19  Bruno Haible  <bruno@clisp.org>
72214
72215         * lib/strdup.h [C++]: Wrap definitions in extern "C".
72216         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
72217
72218 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72219
72220         * modules/savewd (Depends-on): Fix dependency on fcntl.
72221
72222 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72223
72224         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
72225         conforms to C99, rather than relying on the user's environment
72226         setting of STDINT_H.
72227
72228 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
72229         and Eric Blake  <ebb9@byu.net>
72230
72231         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
72232         This is more consistent with the other defines here.
72233         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
72234         Port to z/OS.  Problem reported by Paul Gilmartin.
72235         Change local vars to use gl_ prefix rather than ac_.
72236         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
72237         with other defines.
72238         * modules/double-slash-root: New module.
72239         * modules/dirname (Files): Remove m4/double-slash-root.m4.
72240         (Depends-on): Add double-slash-root.
72241         * MODULES.html.sh (File system functions): Mention new module.
72242
72243 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
72244
72245         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
72246         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
72247         This is for the benefit of gzip, which doesn't do i18n.
72248
72249 2006-12-12  Jim Meyering  <jim@meyering.net>
72250
72251         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
72252         Reported by Andreas Schwab <schwab@suse.de>.
72253
72254 2006-12-12  Bruno Haible  <bruno@clisp.org>
72255
72256         Merge these changes.
72257         2006-09-05  Bruno Haible  <bruno@clisp.org>
72258         * lib/iconvme.c (iconv_string): No need to save and restore errno when
72259         iconv_alloc succeeded.
72260         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
72261         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
72262         test for " && dest " at the end - dest is always != NULL there. Call
72263         iconv with 4xNULL arguments initially, to reset the state. Call iconv
72264         with 2xNULL arguments, also to flush the state storage. Handle the
72265         IRIX iconv behaviour. Realloc the final result, to throw away unused
72266         memory.
72267
72268 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
72269
72270         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
72271         and fchmodat unconditionally, since glibc 2.4 has them.
72272         Problem reported by Arkadiusz Miskiewicz.
72273
72274 2006-12-10  Bruno Haible  <bruno@clisp.org>
72275
72276         * gnulib-tool (func_import): Show the include files only for those
72277         modules that are copied and specified.
72278         Reported by Karl Berry.
72279
72280 2006-12-08  Jim Meyering  <jim@meyering.net>
72281
72282         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
72283         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
72284
72285         * build-aux/announce-gen: Add two new options, both optional:
72286         --bootstrap-tools=TOOL_LIST
72287               a comma-separated list of tools, e.g.,
72288               autoconf,automake,bison,gnulib
72289         --gnulib-snapshot-date=DATE
72290               if gnulib is in the bootstrap tool list,
72291               then report this as the snapshot date.
72292               If not specified, use the current date/time.
72293               If you specify a date here, be sure it's UTC.
72294
72295 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72296
72297         * tests/test-argp-2.sh: Fix test to match actual output.
72298         (func_compare): Fix sed script to be portable.
72299
72300 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
72301
72302         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
72303         workaround for this case.  It is not autoconfigured now; offhand
72304         it's hard to see how to autoconfigure it.
72305
72306 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
72307
72308         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
72309         a directory that is about to be chowned.  Such a directory's
72310         initial file permissions should permit the owner only and this
72311         should not be changed until after the chown, since the group and
72312         other bits would be incorrect if they granted permission before
72313         the chown.
72314
72315         Fix porting problem for iswctype reported by Georg Schwarz in:
72316         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
72317         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
72318         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
72319         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
72320         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
72321
72322 2006-12-03  Jim Meyering  <jim@meyering.net>
72323
72324         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
72325         p->fts_statp may not yet be defined.
72326         (fts_read): Instead, set it in the caller, once p->fts_statp is
72327         sure to be defined, and corresponds to a top-level directory.
72328         This bug made du -x fail.  Here's the coreutils test case:
72329         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
72330         Reported by Mike Frysinger.
72331
72332 2006-12-01  Jim Meyering  <jim@meyering.net>
72333
72334         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
72335         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
72336         Reported by Simon Josefsson.
72337
72338 2006-11-30  Jim Meyering  <jim@meyering.net>
72339
72340         * m4/warning.m4: Use the all-permissive copyright notice
72341         recommended by RMS (rather than LGPL).
72342         * m4/vararrays.m4: Likewise.
72343         * m4/flexmember.m4: Likewise.
72344
72345 2006-11-29  Bruno Haible  <bruno@clisp.org>
72346
72347         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72348         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
72349         using +=.
72350         Reported by Simon Josefsson <simon@josefsson.org>.
72351
72352 2006-11-28  James Youngman <jay@gnu.org>
72353
72354         * README: Advise users that they might find the bug-gnulib@gnu.org
72355         and autotools-announce@gnu.org mailing lists useful.
72356
72357 2006-11-28  Bruno Haible  <bruno@clisp.org>
72358
72359         * m4/ptrdiff_max.m4: Remove file.
72360
72361 2006-11-21  Bruno Haible  <bruno@clisp.org>
72362
72363         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
72364         _AC_COMPUTE_INT.
72365         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72366         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
72367         _AC_COMPUTE_INT.
72368         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72369         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
72370         _AC_COMPUTE_INT.
72371         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72372
72373 2006-11-28  Jim Meyering  <jim@meyering.net>
72374
72375         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
72376         warning from "gcc -Wshadow" about shadowing the builtin.
72377
72378 2006-11-27  Bruno Haible  <bruno@clisp.org>
72379
72380         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
72381         _AC_COMPUTE_INT.
72382         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
72383
72384 2006-11-27  Bruno Haible  <bruno@clisp.org>
72385             Paul Eggert  <eggert@cs.ucla.edu>
72386
72387         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
72388
72389 2006-11-26  Bruno Haible  <bruno@clisp.org>
72390
72391         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72392         noinst_LTLIBRARIES.
72393
72394 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72395             Bruno Haible  <bruno@clisp.org>
72396
72397         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
72398         if compiling with "gcc -ansi".
72399
72400 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72401
72402         Fix some incompatibilities with gcc -ansi -pedantic.
72403         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
72404         if compiling pedantically with GCC, unless it's C99 or later.
72405         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
72406         it mishandles gcc -ansi -pedantic as well.
72407         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
72408         if gcc -pedantic.
72409         * lib/regexec.c (check_node_accept_bytes): Don't use auto
72410         initializers for struct if -pedantic, unless it's C99 or later.
72411
72412 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
72413
72414         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
72415         Don't close an fd more than once. Identical atimes indicate
72416         success, not failure.
72417
72418 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
72419
72420         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
72421
72422 2006-11-23  Jim Meyering  <jim@meyering.net>
72423
72424         * build-aux/announce-gen: New file.  From coreutils.
72425
72426 2006-11-22  Jim Meyering  <jim@meyering.net>
72427
72428         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
72429         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
72430         (fts_read): Use a temporary to narrow the overused st_size member
72431         before using it in a switch statement.  Reported by Matthew Woehlke.
72432
72433         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
72434         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
72435
72436 2006-11-20  Bruno Haible  <bruno@clisp.org>
72437
72438         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
72439         changequote instead of pairs of brackets.
72440         Reported by Andreas Schwab <schwab@suse.de>.
72441
72442 2006-11-21  Jim Meyering  <jim@meyering.net>
72443
72444         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
72445         so as to remain compatible with older compilers.
72446         Patch from Michael Deutschmann.
72447
72448 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72449
72450         * MODULES.html.sh (File system functions): Add openat.
72451
72452         * lib/openat.h (rpl_fstatat): New macro, if
72453         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
72454         (fstatat): Define to rpl_fstatat under the same conditions,
72455         unless COMPILING_FSTATAT.
72456         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
72457         seems to have the bug.
72458         * lib/fstatat.c: New file.
72459         * modules/openat (Files): Add it.
72460
72461 2006-11-20  Bruno Haible  <bruno@clisp.org>
72462
72463         * Makefile: New file.
72464
72465 2006-11-20  Jim Meyering  <jim@meyering.net>
72466
72467         The beginnings of syntax-related checks for gnulib.
72468         * lib/Makefile: New file.
72469         * lib/t-idcache: New script.  Ensure that the two halves of
72470         idcache.c stay in sync.
72471
72472         * lib/idcache.c: Adjust comments in user- and group- portions to
72473         be more accurate, and to be consistent with one another.
72474
72475 2006-11-20  Jim Meyering  <jim@meyering.net>
72476
72477         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
72478         continue using the flexible array member (thus, this module performs
72479         half as many malloc calls), with the addition that...
72480         (getgroup, getuser): Consistently record a non-match via an empty
72481         "name" string, and map an empty string match to a NULL return value.
72482         * modules/idcache (Depends-on): Re-add flexmember.
72483
72484         * lib/idcache.c (getuser): Remove all uses of the register keyword.
72485         (getuidbyname, getgroup, getgidbyname): Likewise.
72486
72487         Use cleaner syntax: NULL rather than 0.
72488         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
72489
72490 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72491
72492         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
72493         It mishandled the case where the group was missing.
72494         Problem reported by Greg Schafer.
72495         * modules/idcache: Likewise.
72496
72497 2006-11-18  Jim Meyering  <jim@meyering.net>
72498
72499         * check-module (%exempt_header): Add exception for some
72500         conditionally-included headers.
72501
72502         * modules/i-ring (Depends-on): Add verify.
72503         (License): Change to LGPL.
72504
72505 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72506
72507         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
72508         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
72509         and inttostr.h.  Use snprintf rather than uinttostr, so that
72510         LGPLed code doesn't depend on GPLed.
72511
72512 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72513
72514         * modules/inline (License): Change from GPL to LGPL.
72515
72516 2006-11-17  Jim Meyering  <jim@meyering.net>
72517
72518         * modules/d-type (License): Switch to LGPL.
72519
72520 2006-11-15  Bruno Haible  <bruno@clisp.org>
72521
72522         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
72523
72524 2006-11-15  Eric Blake  <ebb9@byu.net>
72525
72526         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
72527         the module dependency.
72528
72529 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72530             Bruno Haible  <bruno@clisp.org>
72531
72532         * gnulib-tool (func_create_testdir): Add license consistency check.
72533
72534 2006-11-15  Eric Blake  <ebb9@byu.net>
72535
72536         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
72537         random "(cached)" in configure output.
72538
72539 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72540
72541         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
72542         test for conforming inttypes.h is both announced and cached.
72543
72544         * MODULES.html.sh (seen_modules, seen_files): New variables.
72545         (func_module): Rewrite to use a few less gnulib-tool and sed
72546         invocations.  Avoid a couple of quadratic algorithms for ...
72547         (missed_modules, missed_files): ... these, with ...
72548         (func_append, func_tmpdir): ... these new functions, from
72549         gnulib-tool.  Analogously, install traps for cleanup.
72550
72551         * tests/test-gc.c (main): Remove unused variables.
72552         * tests/test-read-file.c: Include stdlib.h, for 'free'.
72553
72554 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
72555
72556         * modules/inttostr (License): Change to LGPL.
72557
72558 2006-11-14  Eric Blake  <ebb9@byu.net>
72559
72560         * modules/tempname (License): Change to LGPL.
72561
72562 2006-11-14  Eric Blake  <ebb9@byu.net>
72563
72564         * doc/functions.texi (Function Portability): *printf functions on
72565         Cygwin now understand all POSIX size specifiers.
72566
72567 2006-11-14  Bruno Haible  <bruno@clisp.org>
72568
72569         * modules/c-ctype (License): Change to LGPL.
72570
72571 2006-11-12  Bruno Haible  <bruno@clisp.org>
72572
72573         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
72574         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
72575         for GNOME libraries, for which the include files are installed in
72576         subdirectories of $prefix/include.
72577
72578 2006-11-12  Bruno Haible  <bruno@clisp.org>
72579
72580         * m4/lib-link.m4: Require at least autoconf-2.54.
72581         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
72582         name to underscores for the --with option.
72583
72584 2006-11-13  Bruno Haible  <bruno@clisp.org>
72585
72586         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
72587         the tests directory.
72588         Reported by Ralf Wildenhues.
72589
72590 2006-11-13  Bruno Haible  <bruno@clisp.org>
72591
72592         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
72593         (func_emit_initmacro_end): Undo the override here.
72594         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
72595         Works around the famous automake error in coreutils.
72596
72597 2006-11-13  Eric Blake  <ebb9@byu.net>
72598
72599         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
72600         element, not its node.
72601
72602 2006-11-12  Bruno Haible  <bruno@clisp.org>
72603
72604         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
72605         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
72606
72607 2006-11-12  Bruno Haible  <bruno@clisp.org>
72608
72609         * gnulib-tool: New option --local-symlink.
72610         (func_usage): Document it.
72611         (lsymbolic): New variable.
72612         (func_import, func_create_testdir): If --symlink was not specified,
72613         test whether --local-symlink was specified and the file comes from
72614         the local_gnulib_dir.
72615
72616 2006-11-12  Bruno Haible  <bruno@clisp.org>
72617
72618         * gnulib-tool (func_ln): New function.
72619         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
72620
72621 2006-11-12  Bruno Haible  <bruno@clisp.org>
72622
72623         Finish support for source files in subdirectories.
72624         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
72625         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
72626         AUTOMAKE_OPTIONS.
72627         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
72628
72629 2006-11-12  Bruno Haible  <bruno@clisp.org>
72630
72631         * gnulib-tool (func_get_automake_snippet): Synthesize also an
72632         EXTRA_lib_SOURCES augmentation.
72633         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
72634
72635 2006-11-12  Jim Meyering  <jim@meyering.net>
72636
72637         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
72638         file descriptors.  This also averts a failure on systems with
72639         native openat support when a traversed directory lacks "x" access.
72640         * lib/fts_.h: Include "i-ring.h"
72641         (struct FTS) [fts_fd_ring]: New member.
72642         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
72643         (FCHDIR): Add parentheses.
72644         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
72645         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
72646         When descending, rather than simply closing the previous
72647         fts_cwd_fd value, push that file descriptor onto the ring.
72648         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
72649         (fts_open): Initialize the new fd_ring member.
72650         (fts_close): Clear the ring.
72651         (fts_safe_changedir): When possible, use our new fd_ring to skip
72652         the diropen and fstat and dev/ino comparison that would normally
72653         accompany a virtual `chdir ("..")'.
72654
72655         * modules/fts (Depends-on): Add i-ring.
72656         * modules/i-ring: New module.
72657         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
72658         * m4/i-ring.m4: New file.
72659
72660 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72661
72662         * gnulib-tool (func_create_testdir): Fix replacement of
72663         `build-aux' in configure.ac.  Run autotools in gltests
72664         subdirectory.
72665         (func_create_testdir, func_create_megatestdir, test): There is
72666         no need for '--force' in most autotool invocations in a new
72667         tree.  Actually fail the whole test if any of the tools, or the
72668         configure or make stages fail.
72669
72670         Sync from Automake.
72671         * build-aux/gnupload: Revert last change.  Add pointer to upload
72672         instructions of the GNU Maintenance Instructions.
72673         Suggestion by Karl Berry.
72674
72675 2006-11-10  Jim Meyering  <jim@meyering.net>
72676
72677         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
72678
72679 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72680
72681         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
72682         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
72683         (bind_textdomain_codeset) [! ENABLE_NLS]:
72684         Evaluate all the arguments.  That way, callers get compatible behavior
72685         if the arguments have side effects.  Also, it avoids some GCC
72686         diagnostics in some cases; Joel E. Denny reported problems when Bison
72687         was configured with --enable-gcc-warnigs.
72688
72689 2006-11-10  Jim Meyering  <jim@meyering.net>
72690
72691         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
72692         relevant options in CFLAGS (like -O, -fno-inline) are taken into
72693         account.
72694
72695 2006-11-10  Jim Meyering  <jim@meyering.net>
72696
72697         * modules/inline: New file/module.
72698         * modules/xalloc (Files): Remove m4/inline.m4.
72699         (Depends-on): Add inline, instead.
72700         * modules/oset: Likewise.
72701         * modules/list: Likewise.
72702
72703 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72704
72705         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
72706         Problem reported by Matthew Woehlke.
72707
72708 2006-11-09  Bruno Haible  <bruno@clisp.org>
72709
72710         * lib/tempname.c (gen_tempname): Remove variant that invokes
72711         __gen_tempname.
72712         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
72713         __gen_tempname.
72714
72715 2006-11-08  Bruno Haible  <bruno@clisp.org>
72716
72717         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
72718         to 'yes' instead of 'cross-compiling'.
72719
72720 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
72721
72722         * lib/quotearg.h (quotearg_free): New decl.
72723         * lib/quotearg.c (quotearg_free): New function.
72724         (slot0, nslots, slotvec0, slotvec):
72725         Now file-scope so that quotearg_free can get at them.
72726
72727 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72728
72729         Sync from Automake.
72730         * build-aux/gnupload: Add missing 'gnu' to example URL.
72731         Report by Karl Berry.
72732
72733 2006-11-08  Bruno Haible  <bruno@clisp.org>
72734
72735         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
72736         Suggested by Paul Eggert.
72737
72738 2006-11-08  Jim Meyering  <jim@meyering.net>
72739
72740         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
72741         It's already included if !_LIBC.
72742         (fts_safe_changedir): Add a comment.
72743
72744 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72745
72746         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
72747         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
72748         Matthew Woehlke.
72749
72750         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
72751         definitions up, to avoid colliding with change below.
72752         (static_inline) [HAVE_INLINE]: New macro.
72753         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
72754         Provide extern decls when !HAVE_INLINE.  Do not define unless
72755         static_inline is defined, either by us or by xmalloc.c.  Use
72756         static_inline rather than static inline.
72757         (XCALLOC): Optimize sizeof(T) = 1 case.
72758         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
72759
72760 2006-11-07  Bruno Haible  <bruno@clisp.org>
72761
72762         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
72763         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
72764         AC_C_INLINE.
72765         * modules/xalloc (Files): Add m4/inline.m4.
72766
72767 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72768
72769         * README: Fix typo.
72770         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
72771         (Miscellanous Notes): ...from this.
72772
72773 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
72774
72775         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
72776         Mention that offsetof should be used instead of sizeof.
72777         From Bruno Haible.
72778
72779 2006-11-07  Bruno Haible  <bruno@clisp.org>
72780
72781         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
72782
72783 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72784
72785         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72786         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
72787         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72788         (gl_tree_add_before, gl_tree_add_after):
72789         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
72790         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
72791         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
72792         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
72793         (gl_linked_add_after, gl_linked_add_at): Likewise.
72794         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
72795         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
72796         (gl_tree_add_before, gl_tree_add_after): Likewise.
72797         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
72798         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
72799         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
72800
72801 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72802
72803         * lib/gl_oset.h: Use C comment style, not C++ comment style.
72804
72805 2006-11-06  Bruno Haible  <bruno@clisp.org>
72806
72807         * m4/inline.m4: New file.
72808         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
72809         * modules/list (Files): Add m4/inline.m4.
72810         * modules/oset (Files): Likewise.
72811
72812 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
72813
72814         * lib/idcache.c: Include <stddef.h>, for offsetof.
72815         (struct userid.name): Change from char * to a flexible array member.
72816         All uses changed.
72817         * modules/idcache (Depends-on): Add flexmember.
72818
72819         * MODULES.html.sh (Core language properties): New module flexmember.
72820         * modules/flexmember, m4/flexmember.m4: New files.
72821
72822         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
72823         inline functions that are identical with the old xnmalloc_inline,
72824         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
72825         that we can avoid some unnecessary integer multiplications and
72826         divisions in the common case where the element size is known at
72827         compile time.
72828         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
72829         needed.
72830         (xnboundedmalloc): Remove.
72831         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
72832         arguments, for consistency with rest of this header.
72833         (xcharalloc): Rewrite using XNMALLOC.
72834         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
72835         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
72836         versions have been moved to lib/xalloc.h and renamed to be the
72837         non-*_inline versions.
72838         (xmalloc, xrealloc): Implement without reference to the xnmalloc
72839         and xnrealloc functions, since those functions are now inline and
72840         now call us.
72841         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
72842         renaming described above.
72843         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
72844         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
72845         captures the dependency in AC_C_INLINE.
72846
72847         New module canonicalize-lgpl, proposed by Charles Wilson in
72848         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
72849         with a few small changes afterwards.
72850         * MODULES.html.sh (File system functions): New module
72851         canonicalize-lgpl.
72852         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
72853         and canonicalize_file_name.
72854         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
72855         * modules/canonicalize-lgpl: New files.
72856
72857 2006-11-05  Bruno Haible  <bruno@clisp.org>
72858
72859         * gnulib-tool (func_import, func_create_testdir): Create directories
72860         also for files in subdirectories of lib/.
72861
72862 2006-11-05  Bruno Haible  <bruno@clisp.org>
72863
72864         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
72865         ANSI C compliant.
72866
72867 2006-11-03  Bruno Haible  <bruno@clisp.org>
72868
72869         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
72870         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
72871         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
72872         (xnboundedmalloc): New inline function.
72873         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
72874         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
72875         xmalloc.
72876         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
72877         xmalloc.
72878         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
72879         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
72880         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
72881         xmalloc.
72882         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72883         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
72884         xmalloc.
72885         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
72886         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72887         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
72888         xmalloc.
72889         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
72890         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
72891         gl_tree_add_after): Use XMALLOC instead of xmalloc.
72892         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
72893         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
72894         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
72895         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
72896
72897 2006-11-03  Bruno Haible  <bruno@clisp.org>
72898
72899         * lib/c-ctype.h [C++]: Define functions without name mangling.
72900         * lib/fwriteerror.h [C++]: Likewise.
72901         * lib/gcd.h [C++]: Likewise.
72902         * lib/linebreak.h [C++]: Likewise.
72903
72904 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72905
72906         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
72907         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
72908         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
72909         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
72910         Check for functions and headers just once.
72911         Check for declaration of canonicalize_file_name.
72912         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
72913
72914 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
72915
72916         * gnulib-tool (func_import): Fix typo in actioncmd.
72917
72918 2006-11-02  Bruno Haible  <bruno@clisp.org>
72919
72920         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
72921         newline sequence in the Makefile.am snippet as a space, like "make"
72922         does.
72923         Reported by Roger Persson <perrog@gmail.com>.
72924
72925 2006-11-01  Bruno Haible  <bruno@clisp.org>
72926
72927         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
72928         already declared in <string.h>.
72929         * lib/strcase.h (strncasecmp): Don't declare it if yes.
72930
72931 2006-11-01  Bruno Haible  <bruno@clisp.org>
72932
72933         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
72934         * lib/strcase.h: Include <string.h>.
72935         (strcasecmp): Define to rpl_strcasecmp here.
72936
72937 2006-11-01  Bruno Haible  <bruno@clisp.org>
72938
72939         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
72940
72941 2006-11-01  Eric Blake  <ebb9@byu.net>
72942
72943         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
72944
72945         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
72946
72947 2006-10-29  Bruno Haible  <bruno@clisp.org>
72948
72949         Make it compile in C++ mode.
72950         * lib/full-write.c (full_rw): Add a cast.
72951
72952 2006-11-01  Bruno Haible  <bruno@clisp.org>
72953
72954         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
72955         be POSIX compliant.
72956         Reported by Roger Persson <perrog@gmail.com>.
72957
72958 2006-11-01  Eric Blake  <ebb9@byu.net>
72959
72960         * lib/getopt_.h: Fix comments.
72961
72962 2006-10-31  Eric Blake  <ebb9@byu.net>
72963
72964         * modules/tmpdir (Depends-on): Add sys_stat.
72965         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
72966         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
72967         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
72968         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
72969         tempname.
72970
72971 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
72972
72973         Avoid some C++ diagnostics reported by Bruno Haible.
72974         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
72975         xmalloc.
72976         (quotearg_alloc): Use xcharalloc rather than xmalloc.
72977         (struct slotvec): Move to top level.
72978         (quotearg_n_options): Rewrite to avoid xmalloc.
72979         * lib/xalloc.h (xcharalloc): New function.
72980         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
72981         [defined __cplusplus]: Add function template that provides result
72982         type propagation.  This part of the change is from Bruno Haible.
72983
72984 2006-10-29  Bruno Haible  <bruno@clisp.org>
72985
72986         Make it compile in C++ mode.
72987         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
72988         * lib/strnlen1.c (strnlen1): Cast memchr result.
72989         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
72990         * lib/clean-temp.c (string_equals, string_hash): Add casts.
72991         (create_temp_dir): Rename local variable 'template'.
72992         (compile_csharp_using_sscli): Add cast.
72993         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
72994         * lib/findprog.c (find_in_path): Likewise.
72995         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
72996         * lib/wait-process.c (register_slave_subprocess): Likewise.
72997
72998 2006-10-22  Bruno Haible  <bruno@clisp.org>
72999
73000         * modules/tsearch: New file.
73001         * lib/tsearch.h: New file.
73002         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73003         * m4/tsearch.m4: New file.
73004         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73005
73006 2006-10-29  Eric Blake  <ebb9@byu.net>
73007
73008         * lib/arcfour.c: Assume config.h.
73009         * lib/arctwo.c: Likewise.
73010         * lib/base64.c: Likewise.
73011         * lib/check-version.c: Likewise.
73012         * lib/crc.c: Likewise.
73013         * lib/des.c: Likewise.
73014         * lib/gc-gnulib.c: Likewise.
73015         * lib/gc-libgcrypt.c: Likewise.
73016         * lib/gc-pbkdf2-sha1.c: Likewise.
73017         * lib/getaddrinfo.c: Likewise.
73018         * lib/getdelim.c: Likewise.
73019         * lib/getline.c: Likewise.
73020         * lib/hmac-md5.c: Likewise.
73021         * lib/hmac-sha1.c: Likewise.
73022         * lib/iconvme.c: Likewise.
73023         * lib/md2.c: Likewise.
73024         * lib/md4.c: Likewise.
73025         * lib/memxor.c: Likewise.
73026         * lib/read-file.c: Likewise.
73027         * lib/readline.c: Likewise.
73028         * lib/rijndael-alg-fst.c: Likewise.
73029         * lib/rijndael-api-fst.c: Likewise.
73030         * lib/xgetdomainname.c: Likewise.
73031
73032 2006-10-28  Eric Blake  <ebb9@byu.net>
73033
73034         * lib/xstrndup.c: Assume config.h.
73035
73036 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73037
73038         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73039         stat-macros.h is now for our own macros, whereas stat_h is for
73040         macros in the <sys/stat.h> name space.
73041         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73042         (STAT_MACROS_H): Remove.
73043         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73044         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73045         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73046         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73047         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73048         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73049         Move these macros to ...
73050         * lib/stat_.h: here.  Don't include stat-macros.h.
73051         * lib/canonicalize.c: Don't include stat-macros.h.
73052         * lib/chown.c: Likewise.
73053         * lib/euidaccess.c: Likewise.
73054         * lib/file-type.c: Likewise.
73055         * lib/filemode.c: Likewise.
73056         * lib/glob.c: Likewise.
73057         * lib/isapipe.c: Likewise.
73058         * lib/lchown.c: Likewise.
73059         * lib/lstat.c: Likewise.
73060         * lib/mkdir-p.c: Likewise.
73061         * lib/rmdir.c: Likewise.
73062         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73063         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73064         unless mkdir isn't declared, to speed up 'configure'.
73065         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73066         would define all the S_* symbols.
73067         * modules/canonicalize (Depends-on):
73068         Depend on sys_stat, not stat-macros.
73069         * modules/chown: Likewise.
73070         * modules/euidaccess: Likewise.
73071         * modules/filemode: Likewise.
73072         * modules/file-type: Likewise.
73073         * modules/glob: Likewise.
73074         * modules/isapipe: Likewise.
73075         * modules/lchown: Likewise.
73076         * modules/lstat: Likewise.
73077         * modules/mkancesdirs: Likewise.
73078         * modules/rmdir: Likewise.
73079         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73080         * modules/modechange: Likewise.
73081         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73082         (configure.ac): Remove gl_STAT_MACROS.
73083         * modules/sys_stat (Depends-on): Remove stat-macros.
73084
73085 2006-10-27  Bruno Haible  <bruno@clisp.org>
73086
73087         * m4/signed.m4: Remove file.
73088         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73089         invocation.
73090         * modules/vasnprintf (Files): Remove m4/signed.m4.
73091
73092 2006-10-27  Bruno Haible  <bruno@clisp.org>
73093
73094         Update to GNU gettext 0.16.
73095         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73096         m4/inttypes-h.m4, m4/signed.m4.
73097         * m4/gettext.m4: Update to GNU gettext 0.16.
73098         * m4/intl.m4: New file, from GNU gettext.
73099         * m4/intldir.m4: New file, from GNU gettext.
73100         * config/srclist.txt: Update
73101
73102 2006-10-27  Eric Blake  <ebb9@byu.net>
73103
73104         * MODULES.html.sh: Document tempname.
73105         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73106         dependencies.
73107         (Files): Move lib/tempname.c...
73108         * modules/tempname: ...to this new module.
73109         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73110         (gl_PREREQ_TEMPNAME): Move...
73111         * m4/tempname.m4: ...to this new file.
73112         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73113         * modules/sys_stat (Depends-on): Add stat-macros.
73114         * lib/stat_.h (includes): Pick up stat macros.
73115         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73116         if stat macros are broken.
73117         * lib/tempname.c (includes): No need to include "stat-macros.h".
73118         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73119         (direxists, __path_search) [!_LIBC]: Don't compile these in
73120         gnulib; the tmpdir module covers that.
73121         * lib/tempname.h: New file.
73122
73123 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73124
73125         * COPYING: Explain how gnulib-tool converts licence headers.
73126         Almost all wording by Eric Blake.
73127
73128 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73129
73130         * lib/mbchar.h (is_basic_table): Make read-only.
73131         * lib/mbchar.c (is_basic_table): Likewise.
73132         Reported by John Darrington.
73133
73134 2006-10-25  Bruno Haible  <bruno@clisp.org>
73135
73136         * lib/progname.h (set_program_name): Undefine before defining.
73137
73138 2006-10-25  Bruno Haible  <bruno@clisp.org>
73139
73140         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73141         false for non-gcc C++ compilers.
73142         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73143
73144 2006-10-24  Bruno Haible  <bruno@clisp.org>
73145
73146         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73147         iconv implementations like Irix iconv.
73148
73149 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73150
73151         * modules/vararrays: New file.
73152         * m4/vararrays.m4: New file, taken from diffutils.
73153         * MODULES.html.sh: New module vararrays.
73154
73155 2006-10-24  Karl Berry  <karl@gnu.org>
73156
73157         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73158         Don't call GNU Unix.
73159
73160 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73161
73162         * users.txt: Add Libtool.
73163
73164         Sync from Libtool:
73165
73166         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73167
73168         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73169         to gnulib's policy of including config.h unconditionally.
73170
73171 2006-10-24  Bruno Haible  <bruno@clisp.org>
73172
73173         * modules/wcwidth (Files): Add m4/wint_t.m4.
73174         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
73175         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
73176
73177 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73178
73179         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
73180         to pacify GCC with some -W flags enabled.  Problem reported by
73181         Bruno Haible.
73182
73183 2006-10-24  Jim Meyering  <jim@meyering.net>
73184
73185         * MODULES.html.sh: Remove uinttostr.  It's not a module.
73186         Reported by Karl Berry.
73187
73188 2006-10-23  Bruno Haible  <bruno@clisp.org>
73189
73190         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
73191
73192 2006-10-24  Bruno Haible  <bruno@clisp.org>
73193
73194         * lib/gl_list.h: Use C comment style, not C++ comment style.
73195
73196 2006-10-23  Eric Blake  <ebb9@byu.net>
73197
73198         * lib/getaddrinfo.c (includes): Add missing include.
73199
73200 2006-10-23  Bruno Haible  <bruno@clisp.org>
73201             Paul Eggert  <eggert@cs.ucla.edu>
73202
73203         Ability to rename obstack_free.
73204         * lib/obstack.h (__obstack_free): New macro. Declare instead of
73205         obstack_free.
73206         (obstack_free): Invoke the __obstack_free macro.
73207         * lib/obstack.c (obstack_free): Use __obstack_free macro.
73208
73209 2006-10-23  Bruno Haible  <bruno@clisp.org>
73210             Paul Eggert  <eggert@cs.ucla.edu>
73211
73212         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
73213         __argc, __argv from the declaration. (They are defined as macros on
73214         mingw.)
73215
73216 2006-10-22  Bruno Haible  <bruno@clisp.org>
73217
73218         * doc/gnulib-intro.texi: New file.
73219         * doc/gnulib.texi: Include it.
73220
73221 2006-10-21  Bruno Haible  <bruno@clisp.org>
73222
73223         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
73224         "Introduction", "Miscellanous Notes", "Particular Modules".
73225
73226 2006-10-21  Bruno Haible  <bruno@clisp.org>
73227
73228         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73229         Change mostlyclean-local rule to avoid sh syntax error from bash
73230         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
73231
73232 2006-10-23  Jim Meyering  <jim@meyering.net>
73233
73234         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
73235         in place of snprintf.
73236
73237         * modules/inttostr (Files): Add lib/uinttostr.c.
73238         * lib/uinttostr.c (inttostr): New file/function.
73239         * lib/inttostr.h (uinttostr): Declare.
73240         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
73241         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73242         Add uinttostr.
73243         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
73244
73245 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73246
73247         * lib/canonicalize.c (ELOOP): Define if not already defined.
73248         Problem reported by Bruno Haible in
73249         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
73250
73251 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
73252
73253         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
73254         Problem reported by Perry Smith and Ville Laurikari.
73255
73256         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
73257         uses.
73258
73259 2006-10-19  Bruno Haible  <bruno@clisp.org>
73260
73261         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
73262         for mingw.
73263
73264 2006-10-19  Bruno Haible  <bruno@clisp.org>
73265
73266         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
73267         Needed for mingw.
73268
73269 2006-10-19  Bruno Haible  <bruno@clisp.org>
73270
73271         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
73272
73273 2006-10-19  Bruno Haible  <bruno@clisp.org>
73274
73275         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
73276         it.
73277
73278 2006-10-19  Bruno Haible  <bruno@clisp.org>
73279
73280         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
73281         invocation.
73282
73283 2006-10-19  Bruno Haible  <bruno@clisp.org>
73284
73285         * gnulib-tool (func_create_testdir): Don't include ftruncate and
73286         mountlist by default.
73287
73288 2006-10-16  Bruno Haible  <bruno@clisp.org>
73289
73290         * lib/c-strstr.c: Include c-strstr.h.
73291
73292 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73293
73294         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
73295         in a slash.
73296
73297 2006-10-18  Bruno Haible  <bruno@clisp.org>
73298
73299         * lib/lock.h [C++]: Wrap definitions in extern "C".
73300
73301 2006-10-18  Bruno Haible  <bruno@clisp.org>
73302
73303         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
73304         gl_LIBOBJS list.
73305
73306 2006-10-18  Bruno Haible  <bruno@clisp.org>
73307
73308         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
73309
73310 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
73311
73312         * lib/xstrtol.h: Include gettext.h.
73313         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
73314         Problem reported by Eric Blake.
73315         * modules/xstrtol (Depends-on): Add gettext-h.
73316
73317 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
73318
73319         * lib/strftime.c (advance): New macro.
73320         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
73321         incomplete type, so you can't add 0 to it.  Problem and patch
73322         reported by Eelco Dolstra for dietlibc.
73323
73324 2006-10-18  Jim Meyering  <jim@meyering.net>
73325
73326         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
73327         type for a local, and rename it: s/up/user_proc/.
73328
73329 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
73330
73331         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
73332         READ_UTMP_USER_PROCESS.
73333         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
73334
73335 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73336
73337         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
73338         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
73339
73340 2006-10-17  Eric Blake  <ebb9@byu.net>
73341
73342         * lib/sigprocmask.c (sigprocmask): Fix typo.
73343
73344         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
73345
73346         * modules/clean-temp (Makefile.am): Don't add to make output...
73347         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
73348         config.h.
73349
73350 2006-10-17  Bruno Haible  <bruno@clisp.org>
73351
73352         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
73353         differently if DEFAULT_TEXT_DOMAIN is set.
73354
73355 2006-10-16  Bruno Haible  <bruno@clisp.org>
73356
73357         * lib/clean-temp.c: Include fwriteerror.h.
73358
73359 2006-10-16  Bruno Haible  <bruno@clisp.org>
73360
73361         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
73362
73363 2006-10-16  Bruno Haible  <bruno@clisp.org>
73364
73365         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
73366         * lib/sigprocmask.h: Include <sys/types.h>.
73367         (sigset_t): Use the system's definition if present.
73368
73369 2006-10-17  Eric Blake  <ebb9@byu.net>
73370
73371         * lib/xvasprintf.c (includes): Assume config.h.
73372         * lib/xasprintf.c (includes): Likewise.
73373
73374 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73375
73376         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
73377         at least as wide as intmax_t.
73378
73379 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
73380
73381         (Imported from Automake.)
73382         * build-aux/gnupload: Update to version 1.1 of directive file.
73383
73384 2006-10-16  Eric Blake  <ebb9@byu.net>
73385
73386         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
73387         match Automake 1.10a.
73388
73389 2006-10-14  Bruno Haible  <bruno@clisp.org>
73390
73391         * modules/sigprocmask: New file.
73392         * lib/sigprocmask.h: New file.
73393         * lib/sigprocmask.c: New file.
73394         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
73395         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
73396         request sigprocmask.o.
73397         (gl_PREREQ_SIGPROCMASK): New macro.
73398         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
73399         (Depends-on): Add sigprocmask.
73400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
73401         gt_SIGNALBLOCKING. Test for 'raise' only once.
73402         * lib/fatal-signal.c: Include sigprocmask.h.
73403         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
73404         unblock_fatal_signals): Define always.
73405         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73406         sigprocmask.
73407
73408 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
73409
73410         Sync from Automake.
73411         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
73412         which incorrectly sets the mode of an existing destination
73413         directory.  In some cases the unpatched install-sh could do the
73414         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
73415         system.  We hope this is rare in practice, but it's clearly worth
73416         fixing.  Problem reported by Alex Unleashed in
73417         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
73418         Also, don't bother to check for -m bugs unless we're using -m;
73419         suggested by Stepan Kasal.
73420
73421 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73422
73423         Sync from Automake.
73424         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
73425         `-c' flag, so they appear at the same position as in %FASTDEP%
73426         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
73427         which ignores unknown options only after the first non-option.
73428         Bug report against M4 by Nelson H. F. Beebe.
73429
73430 2006-10-13  Jim Meyering  <jim@meyering.net>
73431
73432         Fix a bug in yesterday's change.
73433         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
73434         p->fts_statp->st_dev would be used uninitialized.
73435         Ensures that we always call fts_stat on the very first entry.
73436         Miklos Szeredi reported that find -xdev stopped working.
73437
73438 2006-10-12  Bruno Haible  <bruno@clisp.org>
73439
73440         * gnulib-tool (func_get_automake_snippet): Append an automatically
73441         computed EXTRA_DIST augmentation.
73442         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
73443         * modules/alloca-opt (Makefile.am): Likewise.
73444         * modules/allocsa (Makefile.am): Likewise.
73445         * modules/arcfour (Makefile.am): Likewise.
73446         * modules/arctwo (Makefile.am): Likewise.
73447         * modules/argmatch (Makefile.am): Likewise.
73448         * modules/argz (Makefile.am): Likewise.
73449         * modules/atexit (Makefile.am): Likewise.
73450         * modules/backupfile (Makefile.am): Likewise.
73451         * modules/byteswap (Makefile.am): Likewise.
73452         * modules/c-strtod (Makefile.am): Likewise.
73453         * modules/c-strtold (Makefile.am): Likewise.
73454         * modules/calloc (Makefile.am): Likewise.
73455         * modules/canon-host (Makefile.am): Likewise.
73456         * modules/canonicalize (Makefile.am): Likewise.
73457         * modules/chdir-long (Makefile.am): Likewise.
73458         * modules/chdir-safer (Makefile.am): Likewise.
73459         * modules/check-version (Makefile.am): Likewise.
73460         * modules/chown (Makefile.am): Likewise.
73461         * modules/cloexec (Makefile.am): Likewise.
73462         * modules/close-stream (Makefile.am): Likewise.
73463         * modules/closeout (Makefile.am): Likewise.
73464         * modules/crc (Makefile.am): Likewise.
73465         * modules/csharpexec (Makefile.am): Likewise.
73466         * modules/cycle-check (Makefile.am): Likewise.
73467         * modules/des (Makefile.am): Likewise.
73468         * modules/dev-ino (Makefile.am): Likewise.
73469         * modules/dirfd (Makefile.am): Likewise.
73470         * modules/dirname (Makefile.am): Likewise.
73471         * modules/dup2 (Makefile.am): Likewise.
73472         * modules/eealloc (Makefile.am): Likewise.
73473         * modules/error (Makefile.am): Likewise.
73474         * modules/euidaccess (Makefile.am): Likewise.
73475         * modules/exclude (Makefile.am): Likewise.
73476         * modules/exitfail (Makefile.am): Likewise.
73477         * modules/fcntl-safer (Makefile.am): Likewise.
73478         * modules/fcntl (Makefile.am): Likewise.
73479         * modules/file-type (Makefile.am): Likewise.
73480         * modules/fileblocks (Makefile.am): Likewise.
73481         * modules/filemode (Makefile.am): Likewise.
73482         * modules/filenamecat (Makefile.am): Likewise.
73483         * modules/fnmatch (Makefile.am): Likewise.
73484         * modules/fopen-safer (Makefile.am): Likewise.
73485         * modules/fpending (Makefile.am): Likewise.
73486         * modules/fprintftime (Makefile.am): Likewise.
73487         * modules/free (Makefile.am): Likewise.
73488         * modules/fsusage (Makefile.am): Likewise.
73489         * modules/ftruncate (Makefile.am): Likewise.
73490         * modules/fts (Makefile.am): Likewise.
73491         * modules/gc-arcfour (Makefile.am): Likewise.
73492         * modules/gc-des (Makefile.am): Likewise.
73493         * modules/gc-hmac-md5 (Makefile.am): Likewise.
73494         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
73495         * modules/gc-md4 (Makefile.am): Likewise.
73496         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73497         * modules/gc-sha1 (Makefile.am): Likewise.
73498         * modules/gc (Makefile.am): Likewise.
73499         * modules/getaddrinfo (Makefile.am): Likewise.
73500         * modules/getcwd (Makefile.am): Likewise.
73501         * modules/getdelim (Makefile.am): Likewise.
73502         * modules/getdomainname (Makefile.am): Likewise.
73503         * modules/getgroups (Makefile.am): Likewise.
73504         * modules/gethostname (Makefile.am): Likewise.
73505         * modules/gethrxtime (Makefile.am): Likewise.
73506         * modules/getline (Makefile.am): Likewise.
73507         * modules/getloadavg (Makefile.am): Likewise.
73508         * modules/getlogin_r (Makefile.am): Likewise.
73509         * modules/getndelim2 (Makefile.am): Likewise.
73510         * modules/getopt (Makefile.am): Likewise.
73511         * modules/getpagesize (Makefile.am): Likewise.
73512         * modules/getpass-gnu (Makefile.am): Likewise.
73513         * modules/getpass (Makefile.am): Likewise.
73514         * modules/getsubopt (Makefile.am): Likewise.
73515         * modules/gettime (Makefile.am): Likewise.
73516         * modules/gettimeofday (Makefile.am): Likewise.
73517         * modules/getugroups (Makefile.am): Likewise.
73518         * modules/getusershell (Makefile.am): Likewise.
73519         * modules/glob (Makefile.am): Likewise.
73520         * modules/group-member (Makefile.am): Likewise.
73521         * modules/hard-locale (Makefile.am): Likewise.
73522         * modules/hash (Makefile.am): Likewise.
73523         * modules/hmac-md5 (Makefile.am): Likewise.
73524         * modules/hmac-sha1 (Makefile.am): Likewise.
73525         * modules/human (Makefile.am): Likewise.
73526         * modules/idcache (Makefile.am): Likewise.
73527         * modules/imaxabs (Makefile.am): Likewise.
73528         * modules/imaxdiv (Makefile.am): Likewise.
73529         * modules/inet_ntop (Makefile.am): Likewise.
73530         * modules/inet_pton (Makefile.am): Likewise.
73531         * modules/intprops (Makefile.am): Likewise.
73532         * modules/inttostr (Makefile.am): Likewise.
73533         * modules/inttypes (Makefile.am): Likewise.
73534         * modules/isapipe (Makefile.am): Likewise.
73535         * modules/javaversion (Makefile.am): Likewise.
73536         * modules/lchmod (Makefile.am): Likewise.
73537         * modules/lchown (Makefile.am): Likewise.
73538         * modules/localcharset (Makefile.am): Likewise.
73539         * modules/long-options (Makefile.am): Likewise.
73540         * modules/lstat (Makefile.am): Likewise.
73541         * modules/malloc (Makefile.am): Likewise.
73542         * modules/mathl (Makefile.am): Likewise.
73543         * modules/mbchar (Makefile.am): Likewise.
73544         * modules/md2 (Makefile.am): Likewise.
73545         * modules/md4 (Makefile.am): Likewise.
73546         * modules/md5 (Makefile.am): Likewise.
73547         * modules/memcasecmp (Makefile.am): Likewise.
73548         * modules/memchr (Makefile.am): Likewise.
73549         * modules/memcmp (Makefile.am): Likewise.
73550         * modules/memcoll (Makefile.am): Likewise.
73551         * modules/memcpy (Makefile.am): Likewise.
73552         * modules/memmem (Makefile.am): Likewise.
73553         * modules/memmove (Makefile.am): Likewise.
73554         * modules/mempcpy (Makefile.am): Likewise.
73555         * modules/memrchr (Makefile.am): Likewise.
73556         * modules/memset (Makefile.am): Likewise.
73557         * modules/memxor (Makefile.am): Likewise.
73558         * modules/mkancesdirs (Makefile.am): Likewise.
73559         * modules/mkdir-p (Makefile.am): Likewise.
73560         * modules/mkdir (Makefile.am): Likewise.
73561         * modules/mkdtemp (Makefile.am): Likewise.
73562         * modules/mkstemp (Makefile.am): Likewise.
73563         * modules/mktime (Makefile.am): Likewise.
73564         * modules/modechange (Makefile.am): Likewise.
73565         * modules/mountlist (Makefile.am): Likewise.
73566         * modules/nanosleep (Makefile.am): Likewise.
73567         * modules/obstack (Makefile.am): Likewise.
73568         * modules/openat (Makefile.am): Likewise.
73569         * modules/pagealign_alloc (Makefile.am): Likewise.
73570         * modules/pathmax (Makefile.am): Likewise.
73571         * modules/physmem (Makefile.am): Likewise.
73572         * modules/poll (Makefile.am): Likewise.
73573         * modules/posixtm (Makefile.am): Likewise.
73574         * modules/posixver (Makefile.am): Likewise.
73575         * modules/putenv (Makefile.am): Likewise.
73576         * modules/quote (Makefile.am): Likewise.
73577         * modules/quotearg (Makefile.am): Likewise.
73578         * modules/raise (Makefile.am): Likewise.
73579         * modules/read-file (Makefile.am): Likewise.
73580         * modules/readline (Makefile.am): Likewise.
73581         * modules/readlink (Makefile.am): Likewise.
73582         * modules/readtokens (Makefile.am): Likewise.
73583         * modules/readutmp (Makefile.am): Likewise.
73584         * modules/realloc (Makefile.am): Likewise.
73585         * modules/regex (Makefile.am): Likewise.
73586         * modules/rename-dest-slash (Makefile.am): Likewise.
73587         * modules/rename (Makefile.am): Likewise.
73588         * modules/rijndael (Makefile.am): Likewise.
73589         * modules/rmdir (Makefile.am): Likewise.
73590         * modules/rpmatch (Makefile.am): Likewise.
73591         * modules/safe-read (Makefile.am): Likewise.
73592         * modules/safe-write (Makefile.am): Likewise.
73593         * modules/same-inode (Makefile.am): Likewise.
73594         * modules/same (Makefile.am): Likewise.
73595         * modules/save-cwd (Makefile.am): Likewise.
73596         * modules/savedir (Makefile.am): Likewise.
73597         * modules/setenv (Makefile.am): Likewise.
73598         * modules/settime (Makefile.am): Likewise.
73599         * modules/sha1 (Makefile.am): Likewise.
73600         * modules/sig2str (Makefile.am): Likewise.
73601         * modules/snprintf (Makefile.am): Likewise.
73602         * modules/stat-macros (Makefile.am): Likewise.
73603         * modules/stat-time (Makefile.am): Likewise.
73604         * modules/stdbool (Makefile.am): Likewise.
73605         * modules/stdint (Makefile.am): Likewise.
73606         * modules/stdlib-safer (Makefile.am): Likewise.
73607         * modules/stpcpy (Makefile.am): Likewise.
73608         * modules/stpncpy (Makefile.am): Likewise.
73609         * modules/strcase (Makefile.am): Likewise.
73610         * modules/strcasestr (Makefile.am): Likewise.
73611         * modules/strchrnul (Makefile.am): Likewise.
73612         * modules/strcspn (Makefile.am): Likewise.
73613         * modules/strdup (Makefile.am): Likewise.
73614         * modules/strerror (Makefile.am): Likewise.
73615         * modules/strftime (Makefile.am): Likewise.
73616         * modules/strndup (Makefile.am): Likewise.
73617         * modules/strnlen (Makefile.am): Likewise.
73618         * modules/strpbrk (Makefile.am): Likewise.
73619         * modules/strsep (Makefile.am): Likewise.
73620         * modules/strstr (Makefile.am): Likewise.
73621         * modules/strtod (Makefile.am): Likewise.
73622         * modules/strtoimax (Makefile.am): Likewise.
73623         * modules/strtok_r (Makefile.am): Likewise.
73624         * modules/strtol (Makefile.am): Likewise.
73625         * modules/strtoll (Makefile.am): Likewise.
73626         * modules/strtoul (Makefile.am): Likewise.
73627         * modules/strtoull (Makefile.am): Likewise.
73628         * modules/strtoumax (Makefile.am): Likewise.
73629         * modules/strverscmp (Makefile.am): Likewise.
73630         * modules/sys_socket (Makefile.am): Likewise.
73631         * modules/sys_stat (Makefile.am): Likewise.
73632         * modules/sysexits (Makefile.am): Likewise.
73633         * modules/time_r (Makefile.am): Likewise.
73634         * modules/timegm (Makefile.am): Likewise.
73635         * modules/timespec (Makefile.am): Likewise.
73636         * modules/tmpfile-safer (Makefile.am): Likewise.
73637         * modules/trim (Makefile.am): Likewise.
73638         * modules/unistd-safer (Makefile.am): Likewise.
73639         * modules/unlinkdir (Makefile.am): Likewise.
73640         * modules/unlocked-io (Makefile.am): Likewise.
73641         * modules/userspec (Makefile.am): Likewise.
73642         * modules/utime (Makefile.am): Likewise.
73643         * modules/utimecmp (Makefile.am): Likewise.
73644         * modules/utimens (Makefile.am): Likewise.
73645         * modules/vasnprintf (Makefile.am): Likewise.
73646         * modules/vasprintf (Makefile.am): Likewise.
73647         * modules/vsnprintf (Makefile.am): Likewise.
73648         * modules/xalloc (Makefile.am): Likewise.
73649         * modules/xgetcwd (Makefile.am): Likewise.
73650         * modules/xnanosleep (Makefile.am): Likewise.
73651         * modules/xreadlink (Makefile.am): Likewise.
73652         * modules/xstrtod (Makefile.am): Likewise.
73653         * modules/xstrtol (Makefile.am): Likewise.
73654         * modules/xstrtold (Makefile.am): Likewise.
73655         * modules/yesno (Makefile.am): Likewise.
73656         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
73657
73658 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73659
73660         * modules/error (Makefile.am): Distribute files through
73661         EXTRA_DIST, not lib_SOURCES.
73662
73663 2006-10-12  Eric Blake  <ebb9@byu.net>
73664
73665         * modules/error (Makefile.am): Distribute files in /lib.
73666         * modules/obstack (Makefile.am): Likewise.
73667
73668 2006-10-12  Bruno Haible  <bruno@clisp.org>
73669
73670         * modules/acl (Makefile.am): Distribute all files in lib/ through
73671         EXTRA_DIST.
73672         * modules/arcfour (Makefile.am): Likewise.
73673         * modules/arctwo (Makefile.am): Likewise.
73674         * modules/argmatch (Makefile.am): Likewise.
73675         * modules/argz (Makefile.am): Likewise.
73676         * modules/atexit (Makefile.am): Likewise.
73677         * modules/backupfile (Makefile.am): Likewise.
73678         * modules/c-strtod (Makefile.am): Likewise.
73679         * modules/c-strtold (Makefile.am): Likewise.
73680         * modules/calloc (Makefile.am): Likewise.
73681         * modules/canon-host (Makefile.am): Likewise.
73682         * modules/canonicalize (Makefile.am): Likewise.
73683         * modules/chdir-long (Makefile.am): Likewise.
73684         * modules/chdir-safer (Makefile.am): Likewise.
73685         * modules/check-version (Makefile.am): Likewise.
73686         * modules/chown (Makefile.am): Likewise.
73687         * modules/cloexec (Makefile.am): Likewise.
73688         * modules/close-stream (Makefile.am): Likewise.
73689         * modules/closeout (Makefile.am): Likewise.
73690         * modules/crc (Makefile.am): Likewise.
73691         * modules/cycle-check (Makefile.am): Likewise.
73692         * modules/des (Makefile.am): Likewise.
73693         * modules/dirfd (Makefile.am): Likewise.
73694         * modules/dirname (Makefile.am): Likewise.
73695         * modules/dup2 (Makefile.am): Likewise.
73696         * modules/euidaccess (Makefile.am): Likewise.
73697         * modules/exclude (Makefile.am): Likewise.
73698         * modules/exitfail (Makefile.am): Likewise.
73699         * modules/fcntl-safer (Makefile.am): Likewise.
73700         * modules/file-type (Makefile.am): Likewise.
73701         * modules/fileblocks (Makefile.am): Likewise.
73702         * modules/filemode (Makefile.am): Likewise.
73703         * modules/filenamecat (Makefile.am): Likewise.
73704         * modules/fnmatch (Makefile.am): Likewise.
73705         * modules/fopen-safer (Makefile.am): Likewise.
73706         * modules/fpending (Makefile.am): Likewise.
73707         * modules/fprintftime (Makefile.am): Likewise.
73708         * modules/free (Makefile.am): Likewise.
73709         * modules/fsusage (Makefile.am): Likewise.
73710         * modules/ftruncate (Makefile.am): Likewise.
73711         * modules/fts (Makefile.am): Likewise.
73712         * modules/gc (Makefile.am): Likewise.
73713         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
73714         * modules/getaddrinfo (Makefile.am): Likewise.
73715         * modules/getcwd (Makefile.am): Likewise.
73716         * modules/getdelim (Makefile.am): Likewise.
73717         * modules/getdomainname (Makefile.am): Likewise.
73718         * modules/getgroups (Makefile.am): Likewise.
73719         * modules/gethostname (Makefile.am): Likewise.
73720         * modules/gethrxtime (Makefile.am): Likewise.
73721         * modules/getline (Makefile.am): Likewise.
73722         * modules/getloadavg (Makefile.am): Likewise.
73723         * modules/getlogin_r (Makefile.am): Likewise.
73724         * modules/getopt (Makefile.am): Likewise.
73725         * modules/getpass (Makefile.am): Likewise.
73726         * modules/getpass-gnu (Makefile.am): Likewise.
73727         * modules/getsubopt (Makefile.am): Likewise.
73728         * modules/gettime (Makefile.am): Likewise.
73729         * modules/gettimeofday (Makefile.am): Likewise.
73730         * modules/getugroups (Makefile.am): Likewise.
73731         * modules/getusershell (Makefile.am): Likewise.
73732         * modules/glob (Makefile.am): Likewise.
73733         * modules/group-member (Makefile.am): Likewise.
73734         * modules/hard-locale (Makefile.am): Likewise.
73735         * modules/hash (Makefile.am): Likewise.
73736         * modules/hmac-md5 (Makefile.am): Likewise.
73737         * modules/hmac-sha1 (Makefile.am): Likewise.
73738         * modules/human (Makefile.am): Likewise.
73739         * modules/idcache (Makefile.am): Likewise.
73740         * modules/imaxabs (Makefile.am): Likewise.
73741         * modules/imaxdiv (Makefile.am): Likewise.
73742         * modules/inet_ntop (Makefile.am): Likewise.
73743         * modules/inet_pton (Makefile.am): Likewise.
73744         * modules/inttostr (Makefile.am): Likewise.
73745         * modules/isapipe (Makefile.am): Likewise.
73746         * modules/lchown (Makefile.am): Likewise.
73747         * modules/long-options (Makefile.am): Likewise.
73748         * modules/lstat (Makefile.am): Likewise.
73749         * modules/malloc (Makefile.am): Likewise.
73750         * modules/mathl (Makefile.am): Likewise.
73751         * modules/mbchar (Makefile.am): Likewise.
73752         * modules/md2 (Makefile.am): Likewise.
73753         * modules/md4 (Makefile.am): Likewise.
73754         * modules/md5 (Makefile.am): Likewise.
73755         * modules/memcasecmp (Makefile.am): Likewise.
73756         * modules/memchr (Makefile.am): Likewise.
73757         * modules/memcmp (Makefile.am): Likewise.
73758         * modules/memcoll (Makefile.am): Likewise.
73759         * modules/memcpy (Makefile.am): Likewise.
73760         * modules/memmem (Makefile.am): Likewise.
73761         * modules/memmove (Makefile.am): Likewise.
73762         * modules/mempcpy (Makefile.am): Likewise.
73763         * modules/memrchr (Makefile.am): Likewise.
73764         * modules/memset (Makefile.am): Likewise.
73765         * modules/memxor (Makefile.am): Likewise.
73766         * modules/mkancesdirs (Makefile.am): Likewise.
73767         * modules/mkdir (Makefile.am): Likewise.
73768         * modules/mkdir-p (Makefile.am): Likewise.
73769         * modules/mkdtemp (Makefile.am): Likewise.
73770         * modules/mkstemp (Makefile.am): Likewise.
73771         * modules/mktime (Makefile.am): Likewise.
73772         * modules/modechange (Makefile.am): Likewise.
73773         * modules/mountlist (Makefile.am): Likewise.
73774         * modules/nanosleep (Makefile.am): Likewise.
73775         * modules/openat (Makefile.am): Likewise.
73776         * modules/pagealign_alloc (Makefile.am): Likewise.
73777         * modules/physmem (Makefile.am): Likewise.
73778         * modules/poll (Makefile.am): Likewise.
73779         * modules/posixtm (Makefile.am): Likewise.
73780         * modules/posixver (Makefile.am): Likewise.
73781         * modules/putenv (Makefile.am): Likewise.
73782         * modules/quote (Makefile.am): Likewise.
73783         * modules/quotearg (Makefile.am): Likewise.
73784         * modules/raise (Makefile.am): Likewise.
73785         * modules/read-file (Makefile.am): Likewise.
73786         * modules/readline (Makefile.am): Likewise.
73787         * modules/readlink (Makefile.am): Likewise.
73788         * modules/readtokens (Makefile.am): Likewise.
73789         * modules/readutmp (Makefile.am): Likewise.
73790         * modules/realloc (Makefile.am): Likewise.
73791         * modules/regex (Makefile.am): Likewise.
73792         * modules/rename (Makefile.am): Likewise.
73793         * modules/rename-dest-slash (Makefile.am): Likewise.
73794         * modules/rijndael (Makefile.am): Likewise.
73795         * modules/rmdir (Makefile.am): Likewise.
73796         * modules/rpmatch (Makefile.am): Likewise.
73797         * modules/safe-read (Makefile.am): Likewise.
73798         * modules/safe-write (Makefile.am): Likewise.
73799         * modules/same (Makefile.am): Likewise.
73800         * modules/save-cwd (Makefile.am): Likewise.
73801         * modules/savedir (Makefile.am): Likewise.
73802         * modules/setenv (Makefile.am): Likewise.
73803         * modules/settime (Makefile.am): Likewise.
73804         * modules/sha1 (Makefile.am): Likewise.
73805         * modules/sig2str (Makefile.am): Likewise.
73806         * modules/snprintf (Makefile.am): Likewise.
73807         * modules/stdlib-safer (Makefile.am): Likewise.
73808         * modules/stpcpy (Makefile.am): Likewise.
73809         * modules/stpncpy (Makefile.am): Likewise.
73810         * modules/strcase (Makefile.am): Likewise.
73811         * modules/strcasestr (Makefile.am): Likewise.
73812         * modules/strchrnul (Makefile.am): Likewise.
73813         * modules/strcspn (Makefile.am): Likewise.
73814         * modules/strdup (Makefile.am): Likewise.
73815         * modules/strerror (Makefile.am): Likewise.
73816         * modules/strftime (Makefile.am): Likewise.
73817         * modules/strndup (Makefile.am): Likewise.
73818         * modules/strnlen (Makefile.am): Likewise.
73819         * modules/strpbrk (Makefile.am): Likewise.
73820         * modules/strsep (Makefile.am): Likewise.
73821         * modules/strstr (Makefile.am): Likewise.
73822         * modules/strtod (Makefile.am): Likewise.
73823         * modules/strtoimax (Makefile.am): Likewise.
73824         * modules/strtok_r (Makefile.am): Likewise.
73825         * modules/strtol (Makefile.am): Likewise.
73826         * modules/strtoll (Makefile.am): Likewise.
73827         * modules/strtoul (Makefile.am): Likewise.
73828         * modules/strtoull (Makefile.am): Likewise.
73829         * modules/strtoumax (Makefile.am): Likewise.
73830         * modules/strverscmp (Makefile.am): Likewise.
73831         * modules/time_r (Makefile.am): Likewise.
73832         * modules/timegm (Makefile.am): Likewise.
73833         * modules/tmpfile-safer (Makefile.am): Likewise.
73834         * modules/unistd-safer (Makefile.am): Likewise.
73835         * modules/unlinkdir (Makefile.am): Likewise.
73836         * modules/userspec (Makefile.am): Likewise.
73837         * modules/utime (Makefile.am): Likewise.
73838         * modules/utimecmp (Makefile.am): Likewise.
73839         * modules/utimens (Makefile.am): Likewise.
73840         * modules/vasnprintf (Makefile.am): Likewise.
73841         * modules/vasprintf (Makefile.am): Likewise.
73842         * modules/vsnprintf (Makefile.am): Likewise.
73843         * modules/xalloc (Makefile.am): Likewise.
73844         * modules/xgetcwd (Makefile.am): Likewise.
73845         * modules/xnanosleep (Makefile.am): Likewise.
73846         * modules/xreadlink (Makefile.am): Likewise.
73847         * modules/xstrtod (Makefile.am): Likewise.
73848         * modules/xstrtol (Makefile.am): Likewise.
73849         * modules/xstrtold (Makefile.am): Likewise.
73850         * modules/yesno (Makefile.am): Likewise.
73851
73852 2006-10-12  Jim Meyering  <jim@meyering.net>
73853
73854         * m4/getloadavg.m4: Revert the change below.
73855
73856         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
73857         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
73858         fail with a symlink, which is what coreutils' ./bootstrap now
73859         creates by default.
73860
73861 2006-10-12  Bruno Haible  <bruno@clisp.org>
73862
73863         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
73864         mingw.
73865         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
73866         MSVC and mingw explicitly.
73867
73868 2006-10-11  Simon Josefsson  <jas@extundo.com>
73869             Bruno Haible  <bruno@clisp.org>
73870
73871         Add support for multiple gnulib-tool invocations in the scope of a
73872         single configure.ac file.
73873         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
73874         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
73875         with the same contents as the _LIBADD variable.
73876         (func_emit_initmacro_start, func_emit_initmacro_end,
73877         func_emit_initmacro_done): New functions.
73878         (func_import, func_create_testdir): Invoke them. Allow the identifiers
73879         gl_LIBOBJS and gl_LTLIBOBJS.
73880
73881 2006-10-11  Bruno Haible  <bruno@clisp.org>
73882
73883         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
73884         (func_create_testdir): Don't create po/Makefile.am, don't invoke
73885         autoreconf. Instead, invoke autopoint explicitly but move back the
73886         *.m4 files from gnulib.
73887
73888 2006-10-11  Bruno Haible  <bruno@clisp.org>
73889
73890         * gnulib-tool (func_usage): Make module names after --create-testdir
73891         optional.
73892         (func_create_testdir): If no module was specified, use nearly all
73893         modules.
73894
73895 2006-10-12  Jim Meyering  <jim@meyering.net>
73896
73897         Big performance improvement for fts-based tools that use FTS_NOSTAT.
73898         Avoid spurious inode-mismatch problems on non-POSIX file systems.
73899         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
73900         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
73901         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
73902         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
73903         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
73904         (fts_set_stat_required): New function.
73905         (fts_open): Defer the calls to fts_stat, if possible or requested.
73906         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
73907         into fts_stat itself.
73908         (fts_read): Perform any required (deferred) fts_stat call.
73909         (fts_build): Likewise, for the directory we're about to open and read.
73910         In the readdir loop, carefully decide whether each entry will require
73911         an eventual call to fts_stat, using dirent.d_type info if available.
73912         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
73913         a command line argument into this function.  Update all callers.
73914         Map a return value of FTS_DOT to FTS_D for a command line argument.
73915         * modules/fts (Depends-on): Add d-type.  Alphabetize.
73916         Thanks to Miklos Szeredi for his tenacity and for the initial
73917         bug report about "find" failing on a FUSE-based file system.
73918
73919         * lib/fts.c (fts_open): Use consistent indentation.
73920
73921 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
73922
73923         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
73924         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
73925         reported by Jim Meyering.  All uses of cache variables renamed
73926         to match Autoconf's.
73927         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
73928         the other one.
73929
73930         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
73931         Fix misspelling in diagnostic.
73932
73933 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73934
73935         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
73936         defined.  Problem reported by Matthew Woehlke.
73937
73938         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
73939         Add support for Tandem NonStop R series.
73940         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
73941         Use new macro.
73942
73943         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
73944         (has_trailing_slash): Omit size arg; all callers changed.
73945         Omit 'inline', since it doesn't help performance and we'd
73946         need to configure it.
73947         Don't count //, ///, etc. as having a trailing slash.
73948         As a side effect, this removes a C99ism reported by Matthew Woehlke.
73949         (rpl_rename_dest_slash): On failure, use rename's errno rather
73950         than (in some cases) an incorrect or junk errno.
73951         Simplify code by removing need to compute length; this does
73952         cause it to make two passes instead of one over the file name,
73953         but it's worth it.
73954
73955         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
73956         change, since Autoconf's version may no longer be appropriate now
73957         that we are using CVS Autoconf's version.  Add support for Tandem.
73958
73959 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
73960             Bruno Haible  <bruno@clisp.org>
73961
73962         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
73963         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
73964         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
73965         gl_AC_TYPE_LONG_LONG.
73966
73967         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
73968         instead of HAVE_LONG_LONG.
73969         * lib/printf-args.c (printf_fetchargs): Likewise.
73970         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
73971         * lib/vasnprintf.c (VASNPRINTF): Likewise.
73972         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
73973         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
73974         gl_AC_TYPE_LONG_LONG.
73975
73976 2006-10-11  Bruno Haible  <bruno@clisp.org>
73977
73978         * m4/longlong.m4: Add comments.
73979         * m4/ulonglong.m4: Likewise.
73980
73981 2006-10-10  Bruno Haible  <bruno@clisp.org>
73982
73983         Make it possible to #define stpcpy, strdup to aliases.
73984         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
73985         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
73986
73987 2006-10-10  Bruno Haible  <bruno@clisp.org>
73988
73989         Make it possible to #define gcd to an alias.
73990         * lib/gcd.c: Include config.h.
73991
73992 2006-10-10  Bruno Haible  <bruno@clisp.org>
73993
73994         Make it possible to #define c_isascii to an alias.
73995         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
73996         defined. Undefine the macros before defining them, to avoid gcc
73997         warnings.
73998         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
73999         define NO_C_CTYPE_MACROS early.
74000
74001 2006-10-10  Bruno Haible  <bruno@clisp.org>
74002
74003         Make it possible to #define set_program_name to an alias.
74004         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74005         ENABLE_RELOCATABLE early.
74006
74007 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74008
74009         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74010         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74011         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74012         More generally, don't assume that 64-bit signed int is available
74013         if unsigned int is, and vice versa.
74014         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74015         unsigned symbols, not on their signed counterparts.
74016         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74017         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74018         (UINT64_C, UINTMAX_C):
74019         Likewise.
74020         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74021         unsigned counterparts.
74022         (Have_long_long, Unsigned): New macros.
74023         (Int): Renamed from INT.
74024         (strtoimax): Use the new macros.
74025         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74026         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74027         * modules/inttypes (inttypes.h): Substitute
74028         HAVE_UNSIGNED_LONG_LONG_INT.
74029         * modules/stdint (stdint.h): Likewise.
74030         (Files): Add m4/ulonglong.m4.
74031
74032 2006-10-10  Bruno Haible  <bruno@clisp.org>
74033
74034         Fix a gcc -Wshadow warning.
74035         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74036         to 'bucket'.
74037         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74038         gl_linked_indexof_from_to): Likewise.
74039         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74040         Likewise.
74041         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74042         Likewise.
74043         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74044         Reported by Eric Blake.
74045
74046 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74047
74048         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74049         for NetBSD.  Problem reported by Bruno Haible.
74050
74051 2006-10-09  Jim Meyering  <jim@meyering.net>
74052
74053         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74054         Patch from Bruno Haible.
74055
74056 2006-10-09  Jim Meyering  <jim@meyering.net>
74057
74058         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74059         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74060         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74061
74062 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74063
74064         Don't include <config.h> twice; this doesn't work in some cases,
74065         e.g., when config.h has "#define intmax_t long long int" and
74066         we include <config.h>, <inttypes.h>, <config.h> in that order.
74067         Problem reported by Matthew Woehlke in:
74068         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74069         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74070         * lib/fts-cycle.c: Don't include config.h.
74071         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74072         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74073         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74074         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74075         inttypes.h.
74076         * lib/xstrtoumax.c: Likewise.
74077         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74078         __strtol and the like, so that this module is more like its siblings.
74079         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74080         Remove; no longer needed now that we assume gnulib inttypes.h.
74081
74082 2006-10-08  Bruno Haible  <bruno@clisp.org>
74083
74084         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74085         option.
74086
74087 2006-10-07  Jim Meyering  <jim@meyering.net>
74088
74089         * modules/inttypes (inttypes.h): Revert what seems to have been
74090         an inadvertent part of today's change: use "|", not "/" in the
74091         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74092
74093 2006-10-07  Bruno Haible  <bruno@clisp.org>
74094
74095         * modules/sublist: New file.
74096
74097 2006-10-07  Bruno Haible  <bruno@clisp.org>
74098
74099         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74100         * modules/argz (argz.h): Likewise.
74101         * modules/arpa_inet (arpa/inet.h): Likewise.
74102         * modules/byteswap (byteswap.h): Likewise.
74103         * modules/configmake (configmake.h): Likewise.
74104         * modules/fcntl (fcntl.h): Likewise.
74105         * modules/fnmatch (fnmatch.h): Likewise.
74106         * modules/getopt (getopt.h): Likewise.
74107         * modules/glob (glob.h): Likewise.
74108         * modules/inttypes (inttypes.h): Likewise.
74109         * modules/netinet_in (netinet/in.h): Likewise.
74110         * modules/poll (poll.h): Likewise.
74111         * modules/stdbool (stdbool.h): Likewise.
74112         * modules/stdint (stdint.h): Likewise.
74113         * modules/sys_select (sys/select.h): Likewise.
74114         * modules/sys_socket (sys/socket.h): Likewise.
74115         * modules/sys_stat (sys/stat.h): Likewise.
74116         * modules/sysexits (sysexits.h): Likewise.
74117         * modules/unistd (unistd.h): Likewise.
74118         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74119         Add a "DO NOT EDIT" comment to the generated file.
74120         (func_import): Likewise for gnulib-comp.m4.
74121
74122 2006-10-07  Bruno Haible  <bruno@clisp.org>
74123
74124         * lib/gl_sublist.h: New file.
74125         * lib/gl_sublist.c: New file.
74126
74127 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74128
74129         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74130         name (relative to the original working directory) and the file
74131         name component (relative to the temporary working directory).  All
74132         callers changed.
74133         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74134         * lib/mkdir-p.c (make_dir_parents): Likewise.
74135         * lib/mkdir-p.h (make_dir_parents): Likewise.
74136
74137 2006-10-06  Eric Blake  <ebb9@byu.net>
74138
74139         Define several macros for use by the clean-temp module.
74140         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74141         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74142         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74143
74144         * lib/clean-temp.h (close_stream_temp): New declaration.
74145         * lib/clean-temp.c (includes): Pull in headers according to what
74146         other modules are in use.
74147         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74148
74149 2006-10-06  Bruno Haible  <bruno@clisp.org>
74150
74151         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74152         instead of fopen, fwriteerror.
74153
74154 2006-10-06  Bruno Haible  <bruno@clisp.org>
74155
74156         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74157         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74158         int.
74159         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74160         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74161         Return an error indicator.
74162         Suggested by Eric Blake.
74163
74164 2006-10-06  Bruno Haible  <bruno@clisp.org>
74165
74166         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74167         Reported by Eric Blake.
74168
74169 2006-10-06  Bruno Haible  <bruno@clisp.org>
74170
74171         * modules/closeout (Description): Mention stderr too.
74172
74173 2006-10-06  Bruno Haible  <bruno@clisp.org>
74174         and Paul Eggert  <eggert@cs.ucla.edu>
74175
74176         * lib/closeout.c (close_stdout): Also close stderr.
74177         * lib/closeout.h: Update comment.
74178
74179 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
74180
74181         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
74182         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
74183         * lib/dirchownmod.c: Include lchown.h.
74184         * lib/lchown.c: Don't include files that lchown.h now includes.
74185         Don't declare chown, since lchown.h now does that.
74186         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
74187         (lchown): Define to rpl_chown if lchown is declared but
74188         does not exist.  Declare using a prototype if lchown is not
74189         declared.  Add a copyright notice.
74190         * lib/mkstemp.h: Include <unistd.h>.
74191         * lib/openat.c: Include lchown.h.
74192
74193         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
74194         we now test for that separately.
74195         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
74196         rather than O_NOFOLLOW, when testing whether it's possible to
74197         avoid a race condition reliably.
74198         * lib/savewd.c (savewd_chdir): Likewise.
74199
74200         Remove macros that are no longer needed now that stdint.h is
74201         reliable.
74202         * lib/fsusage.c (UINTMAX_MAX): Remove.
74203         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
74204         * lib/utimecmp.c (SIZE_MAX): Remove.
74205
74206         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
74207
74208         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
74209         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
74210         O_NOATIME works.
74211
74212 2006-10-05  Bruno Haible  <bruno@clisp.org>
74213
74214         * lib/gl_list.h (gl_sortedlist_search_from_to,
74215         gl_sortedlist_indexof_from_to): New declarations.
74216         (gl_list_implementation): New fields sortedlist_search_from_to,
74217         sortedlist_indexof_from_to.
74218         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
74219         inline functions.
74220         * lib/gl_list.c (gl_sortedlist_search_from_to,
74221         gl_sortedlist_indexof_from_to): New functions.
74222         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
74223         function.
74224         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
74225         (gl_array_sortedlist_search_from_to): New function.
74226         (gl_array_list_implementation): Update.
74227         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
74228         function.
74229         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
74230         (gl_carray_sortedlist_search_from_to): New function.
74231         (gl_carray_list_implementation): Update.
74232         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
74233         gl_linked_sortedlist_indexof_from_to): New functions.
74234         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74235         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74236         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
74237         gl_tree_sortedlist_indexof_from_to): New functions.
74238         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74239         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74240         Update.
74241         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74242         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
74243         Update.
74244
74245 2006-10-05  Bruno Haible  <bruno@clisp.org>
74246
74247         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
74248         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
74249         (struct gl_list_implementation): Add fields search_from_to,
74250         indexof_from_to. Remove fields search, indexof.
74251         (gl_list_search): Use the search_from_to method.
74252         (gl_list_search_from, gl_list_search_from_to): New functions.
74253         (gl_list_indexof): Use the indexof_from_to method.
74254         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74255         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
74256         (gl_list_search_from, gl_list_search_from_to): New functions.
74257         (gl_list_indexof): Use the indexof_from_to method.
74258         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
74259         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
74260         gl_array_indexof. Add start_index, end_index arguments.
74261         (gl_array_search_from_to): Renamed from gl_array_search. Add
74262         start_index, end_index arguments.
74263         (gl_array_remove, gl_array_list_implementation): Update.
74264         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
74265         gl_carray_indexof. Add start_index, end_index arguments.
74266         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
74267         start_index, end_index arguments.
74268         (gl_carray_remove, gl_carray_list_implementation): Update.
74269         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
74270         gl_linked_search. Add start_index, end_index arguments.
74271         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
74272         start_index, end_index arguments.
74273         (gl_linked_remove): Update.
74274         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
74275         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
74276         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
74277         field to 'size_t'.
74278         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
74279         gl_tree_search. Add start_index, end_index arguments.
74280         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74281         start_index, end_index arguments.
74282         (gl_tree_remove): Update.
74283         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
74284         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
74285         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
74286         function.
74287         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
74288         gl_tree_search. Add start_index, end_index arguments.
74289         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
74290         start_index, end_index arguments.
74291         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
74292         Update.
74293         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
74294
74295 2006-10-05  Bruno Haible  <bruno@clisp.org>
74296
74297         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
74298
74299         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
74300         fwriteerror_temp): New declarations.
74301         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
74302         (descriptors): New variable.
74303         (cleanup): First, close the descriptors.
74304         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
74305         fclose_temp, fwriteerror_temp): New functions.
74306
74307 2006-10-04  Jim Meyering  <jim@meyering.net>
74308
74309         * lib/fts.c (fts_open): Tiny comment change.
74310
74311 2006-10-04  Bruno Haible  <bruno@clisp.org>
74312
74313         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
74314         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
74315         gl_LOCK_BODY.
74316         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
74317         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
74318         gl_LOCK_EARLY_BODY.
74319         (gl_LOCK): Require gl_LOCK_BODY.
74320
74321 2006-10-04  Bruno Haible  <bruno@clisp.org>
74322
74323         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
74324         (gl_oset_search_atleast): New declaration.
74325         (struct gl_oset_implementation): Add field 'search_atleast'.
74326         (gl_oset_search_atleast): New inline function.
74327         * lib/gl_oset.c (gl_oset_search_atleast): New function.
74328         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
74329         (gl_array_oset_implementation): Update.
74330         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
74331         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
74332         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
74333
74334 2006-10-04  Bruno Haible  <bruno@clisp.org>
74335
74336         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
74337
74338 2006-10-03  Bruno Haible  <bruno@clisp.org>
74339
74340         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
74341         from gl_avltreehash_list_implementation.
74342
74343 2006-10-03  Bruno Haible  <bruno@clisp.org>
74344
74345         * lib/gl_oset.c (gl_oset_add): Fix return type.
74346
74347 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
74348
74349         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
74350
74351 2006-10-02  Eric Blake  <ebb9@byu.net>
74352
74353         * modules/strnlen (Depends-on): Add extensions.
74354
74355 2006-10-02  Eric Blake  <ebb9@byu.net>
74356
74357         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
74358         definition in 2.60+.
74359
74360 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
74361
74362         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
74363         checks.
74364
74365 2006-10-02  Bruno Haible  <bruno@clisp.org>
74366
74367         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
74368         to the AUTOMAKE_OPTIONS.
74369         Reported by Jim Meyering.
74370
74371 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
74372
74373         Work around bug in Solaris 10 /proc file system:
74374         /proc/self/fd/NNN/.. isn't the parent directory of
74375         the directory whose file descriptor is NNN.  This needs to
74376         be worked around at run time, not compile time, since a
74377         program might be built on Solaris 8, where things work, and
74378         run on Solaris 10.
74379         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
74380         to use the following interface instead:
74381         (OPENAT_BUFFER_SIZE): New macro.
74382         (openat_proc_name): New function.
74383         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
74384         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
74385         Likewise.
74386         * lib/openat-proc.c: New file.
74387         * modules/openat (Files): Add lib/openat-proc.c.
74388         (Depends-on): Add same-inode, stdbool.
74389         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
74390
74391 2006-09-29  Bruno Haible  <bruno@clisp.org>
74392
74393         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
74394         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
74395         argument. Set stdout_closed before testing for ferror, not after.
74396         (fwriteerror, fwriteerror_no_ebadf): New functions.
74397
74398 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74399
74400         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
74401
74402 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
74403
74404         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
74405         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
74406
74407 2006-09-28  Jim Meyering  <jim@meyering.net>
74408
74409         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
74410         Include <unistd.h>.
74411
74412 2006-09-28  Bruno Haible  <bruno@clisp.org>
74413
74414         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
74415         * modules/linkedhash-list (Depends-on): Likewise.
74416         * modules/rbtreehash-list (Depends-on): Likewise.
74417
74418 2006-09-28  Bruno Haible  <bruno@clisp.org>
74419
74420         * lib/strndup.h: Simplify the redefinition of strndup.
74421         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
74422         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
74423
74424 2006-09-28  Bruno Haible  <bruno@clisp.org>
74425
74426         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
74427         * lib/gl_linkedhash_list.c: Likewise.
74428         * lib/gl_rbtreehash_list.c: Likewise.
74429
74430 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
74431
74432         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
74433         getaddrinfo.
74434
74435         * lib/__fpending.h: Don't include <stdio_ext.h> unless
74436         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
74437         it causes <stdio_ext.h> to cause a compile-time error.
74438         Problem reported by Nelson H. F. Beebe.
74439         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
74440         of HAVE_DECL___PENDING.
74441
74442         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
74443         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
74444         declaration.
74445
74446 2006-09-27  Jim Meyering  <jim@meyering.net>
74447
74448         This file could end up with a definition for a function
74449         named __strndup, rather than rpl_strndup on a system with
74450         incomplete weak_alias support.
74451         * lib/strndup.c (strndup): Rename from __strndup.
74452         Remove #defines that used to map __strndup to strndup.
74453         Don't use K&R prototypes.
74454         Remove LIBC-related code, since this file is not sync'd with glibc.
74455         * lib/strndup.h: Revamp, accordingly.
74456         * m4/strndup.m4: Modernize.
74457
74458 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
74459
74460         * modules/savewd (Depends-on): Add 'raise'.
74461         * lib/savewd.c: Include <signal.h>, for 'raise'.
74462
74463 2006-09-26  Jim Meyering  <jim@meyering.net>
74464
74465         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
74466         when we detect Darwin 8.7.0's acl_get_file bug.
74467         Rearrange to perform the new (below) run-test while $LIBS
74468         contains any acl-related library.  Set USE_ACL at the end.
74469         (gl_ACL_GET_FILE): New function.
74470
74471 2006-09-26  Eric Blake  <ebb9@byu.net>
74472
74473         * lib/verror.c: Include <config.h> unconditionally.
74474
74475 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
74476
74477         * modules/clock-time (Maintainer): Add self.
74478         * modules/getlogin_r (Depends-on): Add extensions.
74479
74480 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74481
74482         * modules/clock-time: New module.
74483         * modules/nanosleep (Depends-on): Add clock-time.
74484         * modules/gethrxtime (Depends-on): Likewise.
74485         * modules/gettime (Depends-on): Likewise.
74486         * modules/settime (Depends-on): Likewise.
74487
74488         * modules/fts-lgpl: Depend on openat.
74489         * modules/mkancesdirs: Depend on savewd.
74490         * modules/mkdir-p: Likewise.
74491
74492 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74493
74494         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
74495
74496         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
74497         `gl_have_arbitrary_file_name_length_limit' to
74498         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
74499         actually works between configure runs.
74500
74501 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74502             Bruno Haible  <bruno@clisp.org>
74503
74504         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
74505
74506 2006-09-25  Jim Meyering  <jim@meyering.net>
74507
74508         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
74509         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
74510
74511 2006-09-25  Eric Blake  <ebb9@byu.net>
74512
74513         * gnulib-tool (func_import, func_create_testdir): Fix typos in
74514         exec's in 2006-09-18 patch when shuffling fds.
74515
74516 2006-09-25  Bruno Haible  <bruno@clisp.org>
74517
74518         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
74519         Reported by Jim Meyering.
74520
74521 2006-09-24  Jim Meyering  <jim@meyering.net>
74522
74523         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
74524         compare a pointer against a literal "0".  That caused failures with
74525         at least HP-UX's hpcc.
74526
74527 2006-09-22  Simon Josefsson  <jas@extundo.com>
74528
74529         * modules/gc-sha1:
74530         * modules/gc-md4:
74531         * modules/gc-hmac-sha1:
74532         * modules/gc-hmac-md5:
74533         * modules/gc-des:
74534         * modules/gc-arcfour: Distribute more files.
74535
74536 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74537
74538         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
74539         (gl_linked_iterator_from_to): Initialize struct completely.
74540         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
74541         (gl_tree_iterator_from_to): Likewise
74542         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
74543         * lib/gl_array_list.c [lint] (gl_array_iterator)
74544         (gl_array_iterator_from_to): Likewise.
74545         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
74546         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
74547         (gl_carray_iterator_from_to): Likewise.
74548
74549         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
74550         * lib/md4.c (md4_process_block): Remove unused variable.
74551         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
74552         parentheses for clarity.
74553
74554 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74555
74556         * modules/bison-i18n (Depends-on): Add gettext.
74557
74558 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74559
74560         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
74561         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
74562         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
74563         also add missing comma that caused broken test.
74564         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
74565         stdlib.h, for `abort'.
74566         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
74567         variables.
74568         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
74569         include unistd.h if present, for `rmdir'.
74570         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
74571         variables.
74572         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
74573         in the process include standard headers for prototypes.
74574         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
74575         gets declared on GNU/Linux.
74576         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
74577         unistd.h, for `rmdir'.
74578         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
74579
74580         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
74581         always true.
74582         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
74583
74584         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
74585
74586 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74587
74588         * gnulib-tool (func_version): Create output all at once.  This
74589         may help avoid triggering unnecessary SIGPIPEs, and at any
74590         rate it doesn't hurt.
74591
74592 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74593             Bruno Haible  <bruno@clisp.org>
74594
74595         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
74596         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74597         * m4/signed.m4 (bh_C_SIGNED): Likewise.
74598
74599         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
74600         (gl_FUNC_VASPRINTF): Invoke it.
74601
74602 2006-09-22  Bruno Haible  <bruno@clisp.org>
74603
74604         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
74605         getloadavg.c as first argument.
74606
74607 2006-09-22  Bruno Haible  <bruno@clisp.org>
74608
74609         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
74610         at the beginning of the gl_INIT macro.
74611         * modules/getloadavg (configure.ac): Pass $gl_source_base to
74612         gl_GETLOADAVG.
74613
74614 2006-09-22  Bruno Haible  <bruno@clisp.org>
74615
74616         * gnulib-tool (func_create_megatestdir): Don't include the config-h
74617         module.
74618         Suggested by Ralf Wildenhues.
74619
74620 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
74621
74622         Import this patch from libc:
74623
74624         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
74625
74626         * lib/regex_internal.c (re_string_reconstruct): Handle
74627         offset < pstr->valid_raw_len && pstr->offsets_needed case.
74628         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
74629         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
74630         re_string_context_at.
74631
74632         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
74633         now requires it.
74634         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
74635         gl_REGEX now does it for us.
74636         (gl_REGEX): Add test taken from
74637         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
74638
74639         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
74640         Check that large offsets work.  Modernize Autoconf usages.
74641         Prefer "yes" to mean a good thing rather than a bad.
74642         Don't put "#define mkstemp" in config.h, as this might interfere
74643         with standard system headers that "#define mkstemp mkstemp64".
74644
74645         * modules/mkstemp (Depends-on): Add extensions, so that
74646         mkstemp is visible on some platforms.
74647         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
74648         (Include): Change to "mkstemp.h" from <stdlib.h>.
74649         (Files): Add mkstemp.h.
74650
74651         * lib/mkstemp.h: New file, since some standard headers
74652         #define mkstemp.
74653         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
74654         Include "mkstemp.h".
74655         Make the _LIBC code resemble glibc original more,
74656         e.g., use K&R style.
74657         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
74658         (mkstemp): Remove, since mkstemp.h does this for us.
74659         * lib/stdlib--.h: Include mkstemp.h.
74660
74661         Import this patch from libc:
74662
74663         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74664
74665         * lib/tempname.c (__gen_tempname): Change attempts_min
74666         into a macro.  Use preprocessor to decide how to initialize
74667         attempts [Coverity CID 67].
74668
74669 2006-09-20  Bruno Haible  <bruno@clisp.org>
74670
74671         * lib/mkdtemp.c: Import from libc.
74672         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
74673                 * sysdeps/posix/tempname.c (__gen_tempname): Change
74674                 attempts_min into a macro.  Use preprocessor to decide how to
74675                 initialize attempts [Coverity CID 67].
74676         2001-11-27  Paul Eggert  <eggert@twinsun.com>
74677                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
74678                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
74679
74680 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74681
74682         * gnulib-tool (func_exit): New function, to allow to pass the
74683         exit status portably through the trap.  Use everywhere.
74684         (--help, --version): Signal a write error.
74685         (trap): catch SIGPIPE, for write errors.
74686         Exit at the end of the trap, with the correct exit status.
74687
74688 2006-09-19  Karl Berry  <karl@gnu.org>
74689
74690         * doc/gnulib.texi: note about the license texinfo files.
74691
74692 2006-09-19  Eric Blake  <ebb9@byu.net>
74693
74694         * gnulib-tool: Avoid space-tab.
74695
74696 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74697
74698         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
74699         that prevented coreutils 6.1 from building.  Problem reported
74700         by Petter Reinholdtsen.
74701
74702 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
74703
74704         * gnulib-tool (avoidlist): Fix typo that broke options like
74705         --avoid=lock that are used by coreutils bootstrap.
74706
74707 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
74708
74709         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
74710         more systematically.
74711
74712 2006-09-18  Jim Meyering  <jim@meyering.net>
74713
74714         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
74715
74716 2006-09-18  Bruno Haible  <bruno@clisp.org>
74717
74718         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
74719
74720 2006-09-18  Bruno Haible  <bruno@clisp.org>
74721
74722         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
74723         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
74724         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
74725         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
74726         * m4/gettext.m4: Require autoconf >= 2.52.
74727         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
74728         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
74729         of gl_cv_header_inttypes_h.
74730
74731 2006-09-18  Bruno Haible  <bruno@clisp.org>
74732
74733         * lib/javaversion.c: Include configmake.h.
74734
74735 2006-09-18  Bruno Haible  <bruno@clisp.org>
74736
74737         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
74738         avoid that the while loops be executed in a subshell.
74739
74740 2006-09-18  Bruno Haible  <bruno@clisp.org>
74741
74742         * MODULES.html.sh (func_module): Break long lines.
74743         Suggested by Bruce Korb <bkorb@gnu.org>.
74744
74745 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74746
74747         Speed up by a factor of 1.12.
74748         * gnulib-tool (nl): New variable.
74749         (func_import): Rewrite include directive extraction to only read each
74750         directive once.
74751
74752 2006-09-17  Bruno Haible  <bruno@clisp.org>
74753
74754         * modules/javaversion (Makefile.am): Remove DEFS setting.
74755         (Depends-on): Add configmake, for PKGDATADIR definition.
74756
74757 2006-09-17  Bruno Haible  <bruno@clisp.org>
74758
74759         * gnulib-tool (func_create_testdir): Rewrite all files at once.
74760
74761 2006-09-17  Bruno Haible  <bruno@clisp.org>
74762
74763         * gnulib-tool (func_append): New function, stolen from libtool.m4.
74764         (func_modules_transitive_closure, func_modules_add_dummy,
74765         func_modules_to_filelist, func_import, func_create_testdir,
74766         func_create_megatestdir, ...): Use it wherever possible.
74767         Suggested by Ralf Wildenhues.
74768
74769 2006-09-16  Karl Berry  <karl@gnu.org>
74770
74771         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
74772         to avoid sectioning errors.
74773         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
74774         [ifinfo]: blank line after @center-ed titles.
74775         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
74776         Spell FSF address consistently with others.
74777         (These changes approved by rms.)
74778
74779 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74780
74781         Speed up by a factor of 1.61.
74782         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
74783         already checked module names again.
74784
74785 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74786
74787         Speed up by a factor of 1.13.
74788         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
74789         for new_files, and the input to func_add_or_update.
74790
74791 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74792
74793         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
74794         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
74795
74796 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74797
74798         * modules/mkancesdirs (Depends-on): Add fcntl.
74799         * modules/savewd: New file.
74800         * MODULES.html.sh (File system functions): Add savewd.
74801
74802         * modules/configmake (Makefile.am): Add support for the
74803         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
74804
74805 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74806
74807         * m4/savewd.m4: New file.
74808
74809 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
74810
74811         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
74812         (dirchownmod): New arg FD.  All callers changed.
74813         Use FD rather than opening the directory ourself, as opening is
74814         now the caller's responsibility.
74815         * lib/dirchownmod.h: Likewise.
74816         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
74817         hosts that require <sys/types.h> before <sys/stat.h>.  Include
74818         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
74819         (test_dir): Remove.
74820         (mkancesdirs): Return length of prefix of FILE that has already
74821         been made, or -2 if there is a child doing the work.  Redo
74822         algorithm so that it is O(N) rather than O(N**2).  Optimize away
74823         ".", and treat ".." specially since it might stray back into
74824         already-created areas.  Use a subprocess if necessary.  New arg
74825         WD; all users changed.  MAKE_DIR function should now return 1
74826         if it creates a directory that is not readable.  Return -2 if
74827         a child process is spun off.
74828         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
74829         Adjust signature to match code.
74830         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
74831         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
74832         all users changed.
74833         * lib/savewd.c, lib/savewd.h: New files.
74834
74835 2006-09-15  Jim Meyering  <jim@meyering.net>
74836
74837         * modules/rename-dest-slash: New module.
74838         * MODULES.html.sh (posix_compat): Add it here.
74839
74840         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
74841
74842 2006-09-15  Jim Meyering  <jim@meyering.net>
74843
74844         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
74845         file.
74846
74847         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
74848
74849 2006-09-15  Jim Meyering  <jim@meyering.net>
74850
74851         * lib/rename-dest-slash.c (has_trailing_slash): Use
74852         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
74853         (rpl_rename_dest_slash): Perform the cheaper trailing slash
74854         test before testing whether SRC is a directory.
74855         Suggestions from Bruno Haible.
74856
74857         Avoid a warning about an unused variable.
74858         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
74859         into the #ifdef block where it's used.
74860
74861         * lib/rename-dest-slash.c: New file.
74862
74863 2006-09-14  Bruno Haible  <bruno@clisp.org>
74864
74865         * lib/allocsa.c: Include <config.h> unconditionally.
74866         * lib/asnprintf.c: Likewise.
74867         * lib/asprintf.c: Likewise.
74868         * lib/c-strcasecmp.c: Likewise.
74869         * lib/c-strcasestr.c: Likewise.
74870         * lib/c-strncasecmp.c: Likewise.
74871         * lib/c-strstr.c: Likewise.
74872         * lib/classpath.c: Likewise.
74873         * lib/clean-temp.c: Likewise.
74874         * lib/concatpath.c: Likewise.
74875         * lib/copy-file.c: Likewise.
74876         * lib/csharpcomp.c: Likewise.
74877         * lib/csharpexec.c: Likewise.
74878         * lib/execute.c: Likewise.
74879         * lib/fatal-signal.c: Likewise.
74880         * lib/findprog.c: Likewise.
74881         * lib/fwriteerror.c: Likewise.
74882         * lib/gl_array_list.c: Likewise.
74883         * lib/gl_array_oset.c: Likewise.
74884         * lib/gl_avltree_list.c: Likewise.
74885         * lib/gl_avltree_oset.c: Likewise.
74886         * lib/gl_avltreehash_list.c: Likewise.
74887         * lib/gl_carray_list.c: Likewise.
74888         * lib/gl_linked_list.c: Likewise.
74889         * lib/gl_linkedhash_list.c: Likewise.
74890         * lib/gl_list.c: Likewise.
74891         * lib/gl_oset.c: Likewise.
74892         * lib/gl_rbtree_list.c: Likewise.
74893         * lib/gl_rbtree_oset.c: Likewise.
74894         * lib/gl_rbtreehash_list.c: Likewise.
74895         * lib/imaxabs.c: Likewise.
74896         * lib/imaxdiv.c: Likewise.
74897         * lib/javacomp.c: Likewise.
74898         * lib/javaexec.c: Likewise.
74899         * lib/javaversion.c: Likewise.
74900         * lib/linebreak.c: Likewise.
74901         * lib/localcharset.c: Likewise.
74902         * lib/lock.c: Likewise.
74903         * lib/mbchar.c: Likewise.
74904         * lib/mbswidth.c: Likewise.
74905         * lib/mkdtemp.c: Likewise.
74906         * lib/pipe.c: Likewise.
74907         * lib/printf-args.c: Likewise.
74908         * lib/printf-parse.c: Likewise.
74909         * lib/progname.c: Likewise.
74910         * lib/progreloc.c: Likewise.
74911         * lib/readlink.c: Likewise.
74912         * lib/sh-quote.c: Likewise.
74913         * lib/stpcpy.c: Likewise.
74914         * lib/stpncpy.c: Likewise.
74915         * lib/strcasecmp.c: Likewise.
74916         * lib/strcasestr.c: Likewise.
74917         * lib/strcspn.c: Likewise.
74918         * lib/striconv.c: Likewise.
74919         * lib/strncasecmp.c: Likewise.
74920         * lib/strnlen1.c: Likewise.
74921         * lib/strstr.c: Likewise.
74922         * lib/strtok_r.c: Likewise.
74923         * lib/tls.c: Likewise.
74924         * lib/tmpdir.c: Likewise.
74925         * lib/unicodeio.c: Likewise.
74926         * lib/unsetenv.c: Likewise.
74927         * lib/vasnprintf.c: Likewise.
74928         * lib/vasprintf.c: Likewise.
74929         * lib/wait-process.c: Likewise.
74930         * lib/xallocsa.c: Likewise.
74931         * lib/xsetenv.c: Likewise.
74932         * lib/xstriconv.c: Likewise.
74933
74934 2006-09-13  Simon Josefsson  <jas@extundo.com>
74935
74936         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
74937         that internally, suggested by Ralf Wildenhues
74938         <Ralf.Wildenhues@gmx.de>.
74939
74940 2006-09-13  Simon Josefsson  <jas@extundo.com>
74941
74942         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
74943         @LIBOBJS@.
74944         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74945
74946 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
74947
74948         * lib/_fpending.c: Include <config.h> unconditionally, since we no
74949         longer worry about uses that don't define HAVE_CONFIG_H.
74950         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
74951         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
74952         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
74953         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
74954         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
74955         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
74956         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
74957         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
74958         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
74959         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
74960         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
74961         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
74962         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
74963         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
74964         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
74965         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
74966         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
74967         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
74968         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
74969         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
74970         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
74971         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
74972         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
74973         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
74974         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
74975         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
74976         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
74977         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
74978         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
74979         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
74980         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
74981         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
74982         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
74983         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
74984         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
74985         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
74986         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
74987         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
74988         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
74989         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
74990         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
74991         Likewise.
74992
74993 2006-09-13  Eric Blake  <ebb9@byu.net>
74994
74995         * lib/getopt.c: Fix typo in last commit.
74996
74997 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
74998
74999         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75000         dgettext.
75001
75002 2006-09-12  Jim Meyering  <jim@meyering.net>
75003
75004         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75005         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75006         Reported by Nelson H. F. Beebe.
75007
75008 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75009
75010         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75011         program_invocation_name and program_invocation_short_name are
75012         initialized.
75013         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75014         and program_invocation_short_name to argp.h, so they are visible
75015         to user programs.
75016         * lib/argp.h: Likewise
75017
75018 2006-09-10  Bruno Haible  <bruno@clisp.org>
75019
75020         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75021         m4/inttypes_h.m4, m4/uintmax_t.m4.
75022
75023 2006-09-10  Bruno Haible  <bruno@clisp.org>
75024
75025         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75026         gl_AC_TYPE_UINTMAX_T.
75027
75028 2006-09-10  Bruno Haible  <bruno@clisp.org>
75029
75030         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75031
75032 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75033
75034         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75035         convention.  Text proposed by Bruno Haible.
75036         (struct argp_option): Document the use of N_() wrappers.
75037
75038         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75039         '\v', and translate the two parts separately, instead of feeding
75040         the whole string to gettext.  This allows to exclude
75041         '\v' from the strings visible to the translator by writing doc
75042         strings as N_("..") "\v" N_("..").
75043
75044 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75045
75046         * config/srclist.txt: Undo latest change; the bug was fixed.
75047
75048 2006-09-09  Bruno Haible  <bruno@clisp.org>
75049
75050         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75051         assignments if building a library without libtool.
75052         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75053         in func_emit_lib_Makefile_am.
75054         (func_import): When building a static library libfoo.a, arrange to
75055         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75056         (func_create_testdir): Likewise.
75057         * modules/gc (configure.ac, Makefile.am): If building statically,
75058         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75059         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75060         * modules/striconv (configure.ac, Makefile.am): Likewise.
75061         Based on a suggestion by Ralf Wildenhues.
75062
75063 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75064
75065         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75066         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75067         Also:
75068
75069         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75070         Add year_2050_test to catch glibc bug 2821
75071         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75072
75073         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75074         Prefer #ifdef to #if.
75075
75076         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75077         Return from 'main' instead of calling 'exit'.
75078
75079 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75080
75081         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75082         returned the maximum time_t value rather than (time_t) -1.
75083         Problem originally reported by William Bardwell
75084         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75085
75086         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75087         Moved to here ...
75088         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75089         ... from here.
75090
75091 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75092
75093         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75094         2821 is fixed.
75095
75096 2006-09-08  Jim Meyering  <jim@meyering.net>
75097
75098         Don't make generated files read-only.  That would bother too many
75099         people.  However, do retain the ability to work when targets are
75100         read-only: remove the destination and temporary files before writing
75101         them (when generated via sed or echo), or by using the -f option for
75102         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75103         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75104         * modules/byteswap, modules/configmake, modules/fcntl:
75105         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75106         * modules/localcharset, modules/netinet_in, modules/poll:
75107         * modules/stdbool, modules/stdint, modules/sys_select:
75108         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75109
75110 2006-09-08  Jim Meyering  <jim@meyering.net>
75111
75112         Avoid new build failure on FreeBSD 6.0.
75113         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75114         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75115         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75116
75117 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75118
75119         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75120
75121 2006-09-07  Jim Meyering  <jim@meyering.net>
75122
75123         Fix global typo in last change: use chmod u-w, not chmod u-x.
75124         Spotted by Paul Eggert and Bruce Korb.
75125         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75126         * modules/byteswap, modules/configmake, modules/fcntl:
75127         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75128         * modules/localcharset, modules/netinet_in, modules/poll:
75129         * modules/stdbool, modules/stdint, modules/sys_select:
75130         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75131
75132 2006-09-06  Jim Meyering  <jim@meyering.net>
75133
75134         Make generated files be read-only.
75135         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75136         Ensure that each generated file is now read-only.
75137         * modules/argz: Likewise.
75138         * modules/arpa_inet: Likewise.
75139         * modules/byteswap: Likewise.
75140         * modules/configmake: Likewise.
75141         * modules/fcntl: Likewise.
75142         * modules/fnmatch: Likewise.
75143         * modules/getopt: Likewise.
75144         * modules/glob: Likewise.
75145         * modules/inttypes: Likewise.
75146         * modules/netinet_in: Likewise.
75147         * modules/poll: Likewise.
75148         * modules/stdbool: Likewise.
75149         * modules/stdint: Likewise.
75150         * modules/sys_select: Likewise.
75151         * modules/sys_socket: Likewise.
75152         * modules/sys_stat: Likewise.
75153         * modules/sysexits: Likewise.
75154         * modules/localcharset: Same as above, but continue using temporary
75155         file named "t-$@" (why different?) rather than the "$@-t" used
75156         everywhere else.
75157
75158         * modules/sysexits (Makefile.am): Replace literal occurrences
75159         of "sysexit.h" more readable, and more consistent, "$@".
75160
75161 2006-09-06  Bruno Haible  <bruno@clisp.org>
75162
75163         * modules/striconv: New file.
75164         * modules/xstriconv: New file.
75165         * MODULES.html.sh (Internationalization functions): Add striconv,
75166         xstriconv.
75167
75168 2006-09-06  Bruno Haible  <bruno@clisp.org>
75169
75170         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
75171         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
75172         not using libtool correctly.
75173
75174 2006-09-06  Bruno Haible  <bruno@clisp.org>
75175
75176         * lib/striconv.h: New file.
75177         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
75178         iconvstring.c.
75179         * lib/xstriconv.h: New file.
75180         * lib/xstriconv.c: New file.
75181
75182 2006-09-06  Bruno Haible  <bruno@clisp.org>
75183
75184         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75185         lib_..._LDFLAGS.
75186
75187 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75188
75189         * lib/argz_.h: Sync from Libtool.
75190
75191         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
75192                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
75193
75194         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
75195
75196 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75197
75198         * modules/trim: New file.
75199
75200 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
75201
75202         * lib/trim.h: New file.
75203         * lib/trim.c: New file.
75204
75205 2006-09-05  Bruno Haible  <bruno@clisp.org>
75206
75207         * MODULES.html.sh (String handling): Add trim.
75208
75209 2006-09-04  Karl Berry  <karl@gnu.org>
75210
75211         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
75212         until next release.
75213
75214 2006-09-03  Bruno Haible  <bruno@clisp.org>
75215
75216         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
75217         correctly.
75218
75219 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75220
75221         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
75222         not gl_GETLOADAVG.  Omit unneeded semicolons.
75223         Problems reported by Ralf Wildenhues in
75224         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75225         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
75226         at the end, which is the usual gnulib style.
75227
75228         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
75229         of doing all the work ourselves.
75230         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
75231         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
75232
75233 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75234
75235         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
75236         Problem reported by Ralf Wildenhues in
75237         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
75238
75239         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
75240         HAVE_STRUCT_STATFS_F_FSTYPENAME.
75241
75242 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
75243
75244         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
75245         yesterday's patch by changing test -n to test -z.
75246
75247 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75248
75249         * modules/getloadavg (Files): Add m4/getloadavg.m4.
75250         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
75251         the former is now obsolescent.
75252
75253         * modules/chdir-long (Depends-on): Add fcntl.
75254
75255 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75256
75257         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
75258         obsolescent, and programs should use gnulib instead.
75259         * m4/getloadavg.m4: New file, with contents taken from Autoconf
75260         but with prefixes changed.
75261
75262 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
75263
75264         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
75265         or stdbool.h, because they might not exist while configuring.
75266
75267         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
75268         Don't include unistd.h or limits.h; not needed, since chdir-long.h
75269         does that for us.
75270         (O_DIRECTORY): Remove.
75271
75272 2006-08-31  Eric Blake  <ebb9@byu.net>
75273
75274         * gnulib-tool: Don't let emacs change spaces to TAB.
75275
75276 2006-08-31  Bruno Haible  <bruno@clisp.org>
75277
75278         * gnulib-tool: When calling func_import more than once, do it in a
75279         subshell.
75280         Reported by Eric Blake <ebb9@byu.net>.
75281
75282 2006-08-31  Bruno Haible  <bruno@clisp.org>
75283
75284         * gnulib-tool (nl): Remove variable.
75285         (sed_transform_lib_file): Use more robust test for config-h module.
75286         (func_import): Fix typo in 2006-08-25 patch.
75287
75288 2006-08-31  Bruno Haible  <bruno@clisp.org>
75289
75290         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
75291         specified, augment Makefile.am variables instead of assigning them.
75292
75293 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75294
75295         Work around a bug in both the Linux and SunOS 64-bit kernels:
75296         nanosleep mishandles sleeps for longer than 2**31 seconds.
75297         Problem reported by Frank v Waveren in
75298         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75299         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
75300         Check for nanosleep bug.
75301         (LIB_NANOSLEEP): Append clock_gettime library if needed.
75302
75303 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75304
75305         Work around a bug in both the Linux and SunOS 64-bit kernels:
75306         nanosleep mishandles sleeps for longer than 2**31 seconds.
75307         Problem reported by Frank v Waveren in
75308         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
75309         * lib/nanosleep.c (BILLION): New constant.
75310         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
75311         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
75312         implementation.
75313
75314 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75315
75316         * modules/nanosleep (Depends-on): Add gettime.
75317
75318 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
75319         and Simon Josefsson  <jas@extundo.com>
75320         and Oskar Liljeblad  <oskar@osk.mine.nu>
75321
75322         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
75323         * gnulib-tool (func_import): New license type 'unmodifiable license
75324         text'.
75325         * modules/fdl: Use it.  Longer description.
75326         * module/gpl, module/lgpl: New files.
75327
75328 2006-08-30  Jim Meyering  <jim@meyering.net>
75329
75330         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
75331         shadowing the parameter.
75332
75333 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75334
75335         Sync from Libtool:
75336
75337         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75338
75339         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
75340         sharing with gnulib.  Report by Eric Blake.
75341
75342 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75343
75344         * modules/isapipe: New file.
75345         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
75346
75347 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         * modules/configmake (Makefile.am): Add a comment, and omit
75350         the CONFIGMAKE_ prefix from generated macro names.  Suggested
75351         by Bruno Haible.
75352
75353 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75354
75355         * m4/isapipe.m4: New file.
75356
75357 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
75358
75359         * lib/isapipe.c, lib/isapipe.h: New files.
75360
75361 2006-08-29  Jim Meyering  <jim@meyering.net>
75362
75363         * modules/configmake (Makefile.am): Make configmake.h depend on
75364         Makefile.  Otherwise, a stale configmake.h could hang around.
75365
75366 2006-08-29  Eric Blake  <ebb9@byu.net>
75367
75368         * lib/error.c (error_at_line, print_errno_message): Match libc, after
75369         resolution of upstream bug 3044.
75370
75371 2006-08-29  Bruno Haible  <bruno@clisp.org>
75372
75373         * modules/localcharset (Depends-on): Add configmake.
75374         (Makefile.am): Remove setting of LIBDIR through DEFS.
75375
75376 2006-08-29  Bruno Haible  <bruno@clisp.org>
75377
75378         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
75379         defined.
75380
75381 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75382
75383         * modules/fcntl: New file.
75384         * modules/chdir-safer (Depends-on): Add fcntl.
75385         * modules/fts: Likewise.
75386         * modules/mkdir-p: Likewise.
75387
75388         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
75389         This undoes the most recent change, since we're now addressing the
75390         problem in a different way.
75391
75392         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
75393         into output, since the output might be called Makefile.am even
75394         if $makefile_name is something different.
75395         (func_import): Use $makefile_am rather than
75396         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
75397         empty.
75398
75399         * modules/inttypes (Files): Add m4/inttypes-h.m4.
75400
75401 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75402
75403         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
75404         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
75405         recent change to stdint.m4, since we're now addressing the problem in a
75406         different way.
75407
75408 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75409
75410         * m4/fcntl_h.m4: New file.
75411
75412 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
75413
75414         * lib/fcntl_.h: New file.
75415         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
75416         the fcntl module.
75417         * lib/dirchownmod.c: Likewise.
75418         * lib/fts.c: Likewise.
75419
75420         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
75421         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
75422         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
75423         just before including <inttypes.h>, to avoid circular inclusion.
75424
75425 2006-08-28  Jim Meyering  <jim@meyering.net>
75426
75427         * doc/visibility.texi: Actually read and correct the grammar of the
75428         sentence affected by yesterday's change.
75429
75430 2006-08-28  Eric Blake  <ebb9@byu.net>
75431
75432         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
75433         needs wrapper.
75434
75435 2006-08-28  Eric Blake  <ebb9@byu.net>
75436
75437         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
75438
75439 2006-08-28  Eric Blake  <ebb9@byu.net>
75440
75441         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
75442
75443 2006-08-28  Bruno Haible  <bruno@clisp.org>
75444
75445         * modules/c-strstr: New file, from GNU gettext.
75446         * MODULES.html.sh (String handling): Add c-strstr.
75447
75448 2006-08-28  Bruno Haible  <bruno@clisp.org>
75449
75450         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
75451         macros.
75452         Reported by Eric Blake.
75453
75454 2006-08-28  Bruno Haible  <bruno@clisp.org>
75455
75456         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
75457         (VASNPRINTF): Return a string of length > INT_MAX without failing.
75458         * lib/vasprintf.c: Include errno.h, limits.h.
75459         (EOVERFLOW): New fallback definition.
75460         (vasprintf): Test here whether the string length is > INT_MAX.
75461         * lib/vsnprintf.c: Include errno.h, limits.h.
75462         (EOVERFLOW): New fallback definition.
75463         (vsnprintf): Fix bug when generated string was too long for the buffer.
75464         Test here whether the string length is > INT_MAX.
75465
75466 2006-08-28  Bruno Haible  <bruno@clisp.org>
75467
75468         * lib/inttypes_.h (SCNX*): Remove definitions.
75469         Reported by Eric Blake.
75470
75471 2006-08-28  Bruno Haible  <bruno@clisp.org>
75472
75473         * lib/c-strstr.h: New file, from GNU gettext.
75474         * lib/c-strstr.c: New file, from GNU gettext.
75475
75476 2006-08-28  Bruno Haible  <bruno@clisp.org>
75477
75478         * gnulib-tool: Reorder some statements.
75479
75480 2006-08-28  Bruno Haible  <bruno@clisp.org>
75481
75482         * gnulib-tool: New option --makefile-name.
75483         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
75484         $makefile_name.
75485         (func_import): Write $makefile_name to the cache file, and read it from
75486         there unless explicitly specified. Use $makefile_name as file name
75487         instead of Makefile.am. Adjust the recommendations accordingly.
75488
75489 2006-08-28  Bruno Haible  <bruno@clisp.org>
75490
75491         * gnulib-tool (func_verify_module): Check against misapplying patch.
75492
75493 2006-08-28  Bruno Haible  <bruno@clisp.org>
75494
75495         * gnulib-tool (func_relativize, func_relconcat): New functions.
75496         Give an error if --local-dir is given with --update.
75497         Remove trailing slashes from $local_gnulib_dir.
75498         (func_import): Store the relativized $local_gnulib_dir in
75499         gnulib-cache.m4, and read it from there if not specified explicitly.
75500
75501 2006-08-28  Bruno Haible  <bruno@clisp.org>
75502
75503         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
75504         is the current directory. Respect also $local_gnulib_dir.
75505
75506 2006-08-28  Bruno Haible  <bruno@clisp.org>
75507             Simon Josefsson  <jas@extundo.com>
75508
75509         BeOS portability.
75510         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
75511
75512 2006-08-27  Jim Meyering  <jim@meyering.net>
75513
75514         * doc/visibility.texi: Remove duplicate word: "pointer".
75515
75516 2006-08-26  Bruno Haible  <bruno@clisp.org>
75517
75518         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
75519         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
75520         (Makefile.am): Create inttypes.h from inttypes_.h.
75521         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
75522
75523         * modules/imaxabs: New file.
75524
75525         * modules/imaxdiv: New file.
75526
75527 2006-08-26  Bruno Haible  <bruno@clisp.org>
75528
75529         * m4/inttypes.m4: New file.
75530         * m4/_inttypes_h.m4: Remove file.
75531         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
75532         PRI_MACROS_BROKEN.
75533         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
75534
75535         * m4/imaxabs.m4: New file.
75536
75537         * m4/imaxdiv.m4: New file.
75538
75539 2006-08-26  Bruno Haible  <bruno@clisp.org>
75540
75541         * lib/inttypes_.h: New file.
75542         * lib/inttypes.h: Remove file.
75543         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
75544
75545         * lib/imaxabs.c: New file.
75546
75547         * lib/imaxdiv.c: New file.
75548
75549 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75550
75551         New config-h module, so that "make" output needn't be cluttered
75552         by -DHAVE_CONFIG_H.
75553         * MODULES.html.sh (Support for building libraries and executables):
75554         Add config-h.
75555         * modules/config-h: New file.
75556         * gnulib-tool (nl, sed_transform_lib_file): New vars.
75557         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
75558         the config-h module is used.
75559
75560         New configmake module, so that "make" output needn't be cluttered
75561         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
75562         * MODULES.html.sh (Support for building libraries and executables):
75563         Add configmake.
75564         * modules/configmake: New file.
75565
75566 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
75567
75568         * m4/config-h.m4: New file.
75569
75570 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75571
75572         * config/srclist.txt: Add elisp-comp.
75573
75574 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
75575
75576         * MODULES.html.sh (Support for building libraries and executables):
75577         Add elisp-comp.
75578         * build-aux/elisp-comp: New file.
75579         * modules/elisp-comp: New file.
75580
75581 2006-08-24  Bruno Haible  <bruno@clisp.org>
75582
75583         * gnulib-tool (func_create_testdir): Use non-default values of
75584         sourcebase and m4base.
75585
75586 2006-08-24  Bruno Haible  <bruno@clisp.org>
75587
75588         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
75589         HTML structure.
75590
75591 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
75592
75593         * modules/openat (Depends-on): Add lchown.
75594
75595 2006-08-23  Bruno Haible  <bruno@clisp.org>
75596
75597         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
75598         of gl_LOCK_EARLY instead of gl_LOCK.
75599
75600 2006-08-23  Bruno Haible  <bruno@clisp.org>
75601
75602         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
75603         on OSF/1 to no.
75604         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
75605
75606 2006-08-23  Bruno Haible  <bruno@clisp.org>
75607
75608         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
75609         as unusable.
75610
75611         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
75612         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
75613         (gl_LOCK): New macro.
75614
75615 2006-08-22  Simon Josefsson  <jas@extundo.com>
75616
75617         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
75618         to md5 module.
75619
75620 2006-08-22  Simon Josefsson  <jas@extundo.com>
75621
75622         * MODULES.html.sh: Add "Support for maintaining and release
75623         projects".
75624
75625         * build-aux/gnupload: New file, from coreutils.
75626
75627 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75628
75629         Avoid the need for AC_LIBSOURCES in m4 macros.
75630         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
75631         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
75632         * modules/check-version (EXTRA_DIST): Add check-version.h.
75633         * modules/crc (EXTRA_DIST): Add crc.h.
75634         * modules/des (EXTRA_DIST): Add des.h.
75635         * modules/gc (EXTRA_DIST): Add gc.h.
75636         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
75637         * modules/getline (EXTRA_DIST): Add getline.h.
75638         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
75639         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
75640         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
75641         * modules/md2 (EXTRA_DIST): Add md2.h.
75642         * modules/md4 (EXTRA_DIST): Add md4.h.
75643         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
75644         * modules/read-file (EXTRA_DIST): Add read-file.h.
75645         * modules/readline (EXTRA_DIST): Add readline.h.
75646         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
75647         rijndael-api-fst.h.
75648
75649 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         * m4/rijndael.m4 (gl_ARCFOUR):
75652         * m4/arctwo.m4 (gl_ARCTWO):
75653         * m4/check-version.m4 (gl_CHECK_VERSION):
75654         * m4/crc.m4 (gl_CRC):
75655         * m4/des.m4 (gl_DES):
75656         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
75657         * m4/gc.m4 (gl_GC):
75658         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
75659         * m4/getline.m4 (gl_FUNC_GETLINE):
75660         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
75661         * m4/hmac-md5.m4 (gl_HMAC_MD5):
75662         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
75663         * m4/md2.m4 (gl_MD2):
75664         * m4/md4.m4 (gl_MD4):
75665         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
75666         * m4/read-file.m4 (gl_FUNC_READ_FILE):
75667         * m4/readline.m4 (gl_FUNC_READLINE):
75668         * m4/rijndael.m4 (gl_RIJNDAEL):
75669         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75670         to get the necessary .h files and whatnot.
75671
75672 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
75673
75674         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
75675         gnulib rather than the other way around.
75676         * config/srclistvars.sh (COREUTILS): Remove.
75677
75678 2006-08-22  Jim Meyering  <jim@meyering.net>
75679
75680         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
75681
75682         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
75683
75684 2006-08-22  Eric Blake  <ebb9@byu.net>
75685
75686         * modules/regexprops-generic: New file.
75687         * MODULES.html.sh (Support for building documentation): List it.
75688
75689 2006-08-22  Eric Blake  <ebb9@byu.net>
75690
75691         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
75692         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
75693         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
75694         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
75695
75696 2006-08-22  Bruno Haible  <bruno@clisp.org>
75697
75698         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
75699         and lib_LTLIBRARIES like the other lib_* variables.
75700
75701 2006-08-22  Bruno Haible  <bruno@clisp.org>
75702
75703         * build-aux/x-to-1.in: New file, from GNU gettext.
75704
75705 2006-08-22  Bruno Haible  <bruno@clisp.org>
75706
75707         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
75708         <utmpx.h> exists.
75709
75710 2006-08-22  Bruno Haible  <bruno@clisp.org>
75711
75712         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
75713         <utmpx.h> exists.
75714
75715 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75716
75717         BeOS portability.
75718         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
75719         exist.
75720         Problem reported by Bruno Haible.
75721
75722 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75723
75724         Avoid the need for AC_LIBSOURCES in m4 macros.
75725         * modules/acl (EXTRA_DIST): Add acl.h.
75726         * modules/argmatch (Files): Add m4/argmatch.m4.
75727         (configure.ac): Add gl_ARGMATCH.
75728         (EXTRA_DIST): Renamed from lib_SOURCES, for
75729         consistency with the other modules.  Remove argmatch.c.
75730         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
75731         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
75732         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
75733         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
75734         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
75735         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
75736         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
75737         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
75738         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
75739         * modules/closeout (EXTRA_DIST): Add closeout.h.
75740         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
75741         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
75742         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
75743         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
75744         dirname.h; remove basename.c and stripslash.c.
75745         * modules/exclude (EXTRA_DIST): Add exclude.h.
75746         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
75747         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
75748         * modules/file-type (EXTRA_DIST): Add file-type.h.
75749         * modules/filemode (EXTRA_DIST): Add filemode.h.
75750         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
75751         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75752         * modules/fpending (EXTRA_DIST): Add __fpending.h.
75753         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
75754         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
75755         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
75756         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
75757         * modules/getdate (EXTRA_DIST): Add getdate.c.
75758         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
75759         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
75760         * modules/getpass (EXTRA_DIST): Add getpass.h.
75761         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
75762         * modules/group-member (EXTRA_DIST): Add group-member.h.
75763         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
75764         * modules/hash (EXTRA_DIST): Add hash.h.
75765         * modules/human (EXTRA_DIST): Add human.h.
75766         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
75767         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
75768         * modules/lchown (EXTRA_DIST): Add lchown.h.
75769         * modules/long-options (EXTRA_DIST): Add long-options.h.
75770         * modules/lstat (EXTRA_DIST): Add lstat.h.
75771         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
75772         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
75773         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
75774         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
75775         * modules/memxor (EXTRA_DIST): Add memxor.h.
75776         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
75777         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
75778         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
75779         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
75780         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
75781         * modules/physmem (EXTRA_DIST): Add physmem.h.
75782         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
75783         * modules/posixver (EXTRA_DIST): Add posixver.h.
75784         * modules/quote (EXTRA_DIST): Add quote.h.
75785         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
75786         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
75787         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
75788         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
75789         regex_internal.h regexec.c.
75790         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
75791         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
75792         * modules/same (EXTRA_DIST): Add same.h.
75793         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
75794         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
75795         * modules/savedir (EXTRA_DIST): Add savedir.h.
75796         * modules/sha1 (EXTRA_DIST): Add sha1.h.
75797         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
75798         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
75799         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
75800         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
75801         * modules/strdup (EXTRA_DIST): Add strdup.h.
75802         * modules/strftime (EXTRA_DIST): Add strftime.h.
75803         * modules/strndup (EXTRA_DIST): Add strndup.h.
75804         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
75805         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
75806         * modules/time_r (EXTRA_DIST): Add time_r.h.
75807         * modules/timespec (EXTRA_DIST): Add timespec.h.
75808         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
75809         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
75810         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
75811         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
75812         * modules/userspec (EXTRA_DIST): Add userspec.h.
75813         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
75814         * modules/utimens (EXTRA_DIST): Add utimens.h.
75815         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
75816         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
75817         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
75818         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
75819         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
75820         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
75821         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
75822         * modules/yesno (EXTRA_DIST): Add yesno.h.
75823
75824 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
75825
75826         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
75827
75828         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
75829         * m4/dev-ino.m4, same-inode.m4: Remove.
75830
75831         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
75832         * m4/acl.m4 (AC_FUNC_ACL):
75833         * m4/backupfile.m4 (gl_BACKUPFILE):
75834         * m4/c-strtod.m4 (gl_C99_STRTOLD):
75835         * m4/canon-host.m4 (gl_CANON_HOST):
75836         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75837         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
75838         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
75839         * m4/cloexec.m4 (gl_CLOEXEC):
75840         * m4/close-stream.m4 (gl_CLOSE_STREAM):
75841         * m4/closeout.m4 (gl_CLOSEOUT):
75842         * m4/dirfd.m4 (gl_FUNC_DIRFD):
75843         * m4/dirname.m4 (gl_DIRNAME):
75844         * m4/exclude.m4 (gl_EXCLUDE):
75845         * m4/exitfail.m4 (gl_EXITFAIL):
75846         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
75847         * m4/file-type.m4 (gl_FILE_TYPE):
75848         * m4/filemode.m4 (gl_FILEMODE):
75849         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
75850         * m4/fpending.m4 (gl_FUNC_FPENDING):
75851         * m4/fprintftime.m4 (gl_FPRINTFTIME):
75852         * m4/fts.m4 (gl_FUNC_FTS):
75853         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
75854         * m4/getdate.m4 (gl_GETDATE):
75855         * m4/gethrxtime.m4 (gl_GETHRXTIME):
75856         * m4/getpagesize.m4 (gl_GETPAGESIZE):
75857         * m4/getpass.m4 (gl_FUNC_GETPASS):
75858         * m4/gettime.m4 (gl_GETTIME):
75859         * m4/getugroups.m4 (gl_GETUGROUPS):
75860         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
75861         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
75862         * m4/hard-locale.m4 (gl_HARD_LOCALE):
75863         * m4/hash.m4 (gl_HASH):
75864         * m4/idcache.m4 (gl_IDCACHE):
75865         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
75866         * m4/lchown.m4 (gl_FUNC_LCHOWN):
75867         * m4/long-options.m4 (gl_LONG_OPTIONS):
75868         * m4/lstat.m4 (gl_FUNC_LSTAT):
75869         * m4/md5.m4 (gl_MD5):
75870         * m4/memcasecmp.m4 (gl_MEMCASECMP):
75871         * m4/memcoll.m4 (gl_MEMCOLL):
75872         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
75873         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
75874         * m4/memxor.m4 (gl_MEMXOR):
75875         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
75876         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
75877         * m4/modechange.m4 (gl_MODECHANGE):
75878         * m4/mountlist.m4 (gl_MOUNTLIST):
75879         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
75880         * m4/openat.m4 (gl_FUNC_OPENAT):
75881         * m4/pathmax.m4 (gl_PATHMAX):
75882         * m4/physmem.m4 (gl_PHYSMEM):
75883         * m4/posixtm.m4 (gl_POSIXTM):
75884         * m4/posixver.m4 (gl_POSIXVER):
75885         * m4/quote.m4 (gl_QUOTE):
75886         * m4/quotearg.m4 (gl_QUOTEARG):
75887         * m4/readtokens.m4 (gl_READTOKENS):
75888         * m4/readutmp.m4 (gl_READUTMP):
75889         * m4/regex.m4 (gl_REGEX):
75890         * m4/safe-read.m4 (gl_SAFE_READ):
75891         * m4/safe-write.m4 (gl_SAFE_WRITE):
75892         * m4/same.m4 (gl_SAME):
75893         * m4/save-cwd.m4 (gl_SAVE_CWD):
75894         * m4/savedir.m4 (gl_SAVEDIR):
75895         * m4/settime.m4 (gl_SETTIME):
75896         * m4/sha1.m4 (gl_SHA1):
75897         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
75898         * m4/stat-macros.m4 (gl_STAT_MACROS):
75899         * m4/stat-time.m4 (gl_STAT_TIME):
75900         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
75901         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
75902         * m4/strdup.m4 (gl_FUNC_STRDUP):
75903         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
75904         * m4/strndup.m4 (gl_FUNC_STRNDUP):
75905         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
75906         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
75907         * m4/time_r.m4 (gl_TIME_R):
75908         * m4/timespec.m4 (gl_TIMESPEC):
75909         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
75910         * m4/unlinkdir.m4 (gl_UNLINKDIR):
75911         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
75912         * m4/userspec.m4 (gl_USERSPEC):
75913         * m4/utimecmp.m4 (gl_UTIMECMP):
75914         * m4/utimens.m4 (gl_UTIMENS):
75915         * m4/xalloc.m4 (gl_XALLOC):
75916         * m4/xgetcwd.m4 (gl_XGETCWD):
75917         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
75918         * m4/xreadlink.m4 (gl_XREADLINK):
75919         * m4/xstrtod.m4 (gl_XSTRTOD):
75920         * m4/yesno.m4 (gl_YESNO):
75921         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
75922         to get the necessary .h files and whatnot.
75923
75924 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
75925             Bruno Haible  <bruno@clisp.org>
75926
75927         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
75928         /bin/sh understanding of '!' conditional negation.
75929
75930 2006-08-21  Jim Meyering  <jim@meyering.net>
75931
75932         * modules/openat (Depends-on): Really alphabetize.
75933
75934         * modules/acl (Depends-on): Add error and quote.
75935
75936         * check-module (find_included_lib_files): Add at-func.c to the
75937         ok-to-include-more-than-once white list.
75938
75939         * modules/openat (Depends-on): Add lstat.  Alphabetize.
75940
75941 2006-08-21  Bruno Haible  <bruno@clisp.org>
75942
75943         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75944         Emit a pkgdata_DATA variable only if some snippets add contents to it.
75945         Reported by Martin Lambers <marlam@marlam.de>.
75946
75947 2006-08-21  Bruno Haible  <bruno@clisp.org>
75948
75949         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
75950         specify an installation location, don't emit a noinst_LIBRARIES or
75951         noinst_LTLIBRARIES assignment.
75952
75953 2006-08-21  Bruno Haible  <bruno@clisp.org>
75954
75955         BeOS portability.
75956         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
75957         BeOS has mbrtowc() but no <wctype.h>.
75958
75959 2006-08-21  Bruno Haible  <bruno@clisp.org>
75960
75961         BeOS portability.
75962         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
75963         exist.
75964
75965 2006-08-21  Bruno Haible  <bruno@clisp.org>
75966
75967         BeOS portability.
75968         * lib/mbchar.h: Include <wctype.h> only if it exists.
75969
75970 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
75971
75972         Remove files that are no longer needed by their respective modules.
75973         * m4/obstack.m4: Remove.
75974         * m4/strerror_r.m4: Remove.
75975         * m4/uint32_t.m4: Remove.
75976         * m4/uintptr_t.m4: Remove.
75977         * m4/ullong_max.m4: Remove.
75978         * m4/xstrtoimax.m4: Remove.
75979         * m4/xstrtoumax.m4: Remove.
75980
75981         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
75982         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
75983         dependencies now capture this.
75984
75985         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
75986         Do not use AC_LIBSOURCES, since gnulib modules now do this.
75987         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
75988         * m4/human.m4 (gl_HUMAN): Likewise.
75989         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
75990         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
75991
75992         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
75993
75994         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
75995         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
75996         stdint.
75997         * m4/human.m4 (gl_HUMAN): Likewise.
75998         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
75999         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76000         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76001         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76002         * m4/xstrtol (gl_XSTRTOL): Likewise.
76003
76004         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76005         AC_TYPE_LONG_LONG_INT.
76006         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76007         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76008         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76009         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76010
76011         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76012         on stdbool.
76013
76014         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76015         (gl_PREREQ_XSTRTOUL): Remove.
76016
76017         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76018
76019         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76020         mode.
76021
76022 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76023
76024         Add and change modules to make it easier for coreutils to use
76025         gnulib-tool.
76026         * modules/backupfile (Files): Remove m4/d-ino.m4.
76027         (Depends-on): Add d-ino.
76028         * modules/cycle-check (Depends-on): Add stdint.
76029         (lib_SOURCES): Add cycle-check.h.
76030         * modules/d-ino: New module.
76031         * modules/d-type: New module.
76032         * modules/error (Files): Remove m4/strerror_r.m4.
76033         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76034         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76035         m4/inttypes_h.m4, m4/uintmax_t.m4.
76036         (Depends-on): Add stdint.
76037         (lib_SOURCES): Add fsusage.h.
76038         * modules/getcwd (Files): Remove d-ino.m4.
76039         (Depends-on): Add d-ino.
76040         * modules/getndelim2 (Depends-on): Add stdint.
76041         * modules/glob (Files): Remove m4/d-type.m4.
76042         (Depends-on): Add d-type.
76043         * modules/host-os: New module.
76044         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76045         m4/inttypes_h.m4, m4/uintmax_t.m4.
76046         * Depends-on: Add stdint.
76047         (lib_SOURCES): Add human.h.
76048         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76049         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76050         m4/uintmax_t.m4, m4/ulonglong.m4.
76051         (Depends-on): Add stdint.
76052         (EXTRA_DIST): Add inttostr.h.
76053         * modules/lchmod: New module.
76054         * modules/link-follow: New module.
76055         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76056         (Depends-on): Add lchmod.
76057         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76058         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76059         (Depends-on): Add stdint.
76060         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76061         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76062         (Depends-on): Add stdint.
76063         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76064         * modules/perl: New module.
76065         * modules/regex (Depends-on): Add stdint.
76066         * modules/rmdir-errno: New module.
76067         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76068         m4/intmax_t.m4.
76069         (Depends-on): Add stdint.
76070         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76071         m4/uintmax_t.m4.
76072         (Depends-on): Add stdint.
76073         * modules/unlink-busy: New module.
76074         * modules/utimecmp (Depends-on): Add stdint.
76075         * modules/uptime: New module.
76076         * modules/winsz-ioctl: New module.
76077         * modules/winsz-termios: New module.
76078         * modules/xnanosleep (Depends-on): Add nanosleep.
76079         * modules/ullong_max: Remove.
76080         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76081         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76082         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76083         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76084         (Depends-on): Add inttypes.
76085         (lib_SOURCES): Add xstrtol.h.
76086         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76087         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76088         * MODULES.html.sh: Move 'assert' into the assert section.
76089         Move 'dummy' into the linking section.
76090         Remove ullong_max.
76091         Add section for compatibility checks for POSIX:2001 functions,
76092         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76093         winsz-ioctl, and winsz-termios into it.
76094         Add lchmod.
76095         Add top-level Misc section and put host-os, perl, and uptime
76096         into it.
76097
76098 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76099
76100         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76101         now assume the stdint module.  Do not include inttypes.h.
76102         * lib/fsusage.h: Likewise.
76103         * lib/getndelim2.c: Likewise.
76104         * lib/human.h: Likewise.
76105         * lib/inttostr.h: Likewise.
76106         * lib/obstack.c: Likewise.
76107         * lib/regex_internal.h: Likewise.
76108         * lib/tempname.c: Likewise.
76109         * lib/utimecmp.c: Likewise.
76110         * lib/xstrtol.h: Likewise.
76111
76112         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76113
76114         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76115         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76116         * lib/xtime.h: Likewise.
76117
76118 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76119
76120         * modules/openat (Files): Add lib/fchmodat.c.
76121         Fixes problem reported by Jay Youngman.
76122
76123 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76124
76125         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76126         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76127
76128 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76129             Bruno Haible  <bruno@clisp.org>
76130
76131         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76132         and is a script that invokes bison. Tighten the code. Add comments.
76133
76134 2006-08-18  Jim Meyering  <jim@meyering.net>
76135
76136         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76137         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76138         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76139         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76140
76141 2006-08-18  Bruno Haible  <bruno@clisp.org>
76142
76143         * modules/bison-i18n: New file.
76144         * MODULES.html.sh (Internationalization functions): Add it.
76145
76146 2006-08-18  Bruno Haible  <bruno@clisp.org>
76147
76148         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76149         sys/statvfs.h. When getmntinfo was found, check its declaration and
76150         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76151
76152 2006-08-18  Bruno Haible  <bruno@clisp.org>
76153
76154         * m4/bison-i18n.m4: New file, from bison.
76155
76156 2006-08-18  Bruno Haible  <bruno@clisp.org>
76157
76158         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76159         (ME_DUMMY): Treat "kernfs" as a dummy.
76160         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76161
76162 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76163
76164         Update from coreutils.
76165
76166         2006-08-15  Jim Meyering  <jim@meyering.net>
76167
76168         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76169
76170         2006-01-17  Jim Meyering  <jim@meyering.net>
76171
76172         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
76173
76174         2006-01-11  Jim Meyering  <jim@meyering.net>
76175
76176         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
76177         Check for the lchmod function.
76178
76179 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76180
76181         Update from coreutils.
76182
76183         * lib/__fpending.h: Add copyright notice.
76184         * lib/fprintftime.h: Likewise.
76185         * lib/savedir.c: Use (C) in copyright notice.
76186         * lib/savedir.h: Likewise.
76187
76188         2006-08-15  Jim Meyering  <jim@meyering.net>
76189
76190         * lib/at-func.c: New file, with the logic of all emulated at-functions.
76191         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
76192         in support of the EXPECTED_ERRNO macro.
76193         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
76194         definitions.  Instead, define the appropriate symbols and include
76195         "at-func.c".
76196         * lib/mkdirat.c (mkdirat): Likewise.
76197         * lib/fchmodat.c (fchmodat): Likewise.
76198         (ENOSYS): Remove definition.
76199         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
76200         it.  Don't include "unistd--.h" -- it wasn't ever used.
76201
76202         2006-01-17  Jim Meyering  <jim@meyering.net>
76203
76204         Rewrite fts.c not to change the current working directory,
76205         by using openat, fstatat, fdopendir, etc..
76206
76207         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
76208         (HAVE_OPENAT_SUPPORT): Define.
76209         [_LIBC] (fchdir): Don't undef or define; no longer used.
76210         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
76211         Now, this `function' always succeeds, and consumes its file descriptor
76212         parameter -- so callers must not close such FDs.  Update callers.
76213         (diropen_fd, opendirat, cwd_advance_fd): New functions.
76214         (diropen): Add parameter, SP.  Adjust all callers.
76215         Implement using diropen_fd, rather than open.
76216         (fts_open): Initialize new member, fts_cwd_fd.
76217         Remove fts_rft-setting code.
76218         (fts_close): Close fts_cwd_fd, if necessary.
76219         (__opendir2): Define in terms of opendir or opendirat,
76220         depending on whether the FST_NOCHDIR flag is set.
76221         (fts_build): Since fts_safe_changedir consumes its FD, and since
76222         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
76223         and close the dup'd file descriptor upon failure.
76224         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
76225         (fts_safe_changedir): Tweak semantics to reflect that this function
76226         now calls cwd_advance_fd and hence consumes its FD argument.
76227         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
76228         [struct FTS] (fts_rft): Remove now-unused member.
76229         [struct FTS] (fts_cycle.state): Improve comment.
76230
76231         * lib/openat.c (openat_needs_fchdir): New function.
76232         * lib/openat.h (openat_needs_fchdir): Declare it.
76233
76234 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
76235
76236         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
76237         Problem and fix reported by Pádraig Brady in
76238         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
76239
76240 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
76243
76244 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76245
76246         * lib/memcoll.c (memcoll): Optimize for the common case where the
76247         arguments are bytewise equal.
76248
76249 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76250
76251         * doc/regexprops-generic.texi: Add a copyright notice.
76252
76253 2006-08-15  Bruno Haible  <bruno@clisp.org>
76254
76255         * modules/tmpdir (License): Change to LGPL.
76256
76257 2006-08-15  Bruno Haible  <bruno@clisp.org>
76258
76259         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
76260         module.
76261
76262 2006-08-14  Simon Josefsson  <jas@extundo.com>
76263
76264         * config/srclist.txt: Add gnupload.
76265
76266 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76267
76268         Change copyright notice from LGPL 2 to GPL 2, since that's the
76269         standard form used in the gnulib repository.
76270         * tests/test-lock.c: Likewise.
76271         * tests/test-stdint.c: Likewise.
76272         * tests/test-tls.c: Likewise.
76273
76274         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
76275         prelude-manager.  User shorter URLs for GNU projects, without '?'.
76276         Add copyright notice.
76277
76278         * check-module: Add copyright notice.  Output a copyright
76279         notice if "--version" is specified.
76280         * modules/COPYING: New file.
76281         * tests/test-getaddrinfo.c: Add copyright notice.
76282         * tests/test-verify.c: Likewise.
76283
76284 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76285
76286         Change copyright notice from LGPL 2 to GPL 2, since that's the
76287         standard form used in the gnulib repository.
76288         * lib/lock.c: LGPL -> GPL.
76289         * lib/lock.h: Likewise.
76290         * lib/strnlen1.c: Likewise.
76291         * lib/strnlen1.h: Likewise.
76292         * lib/tls.c: Likewise.
76293         * lib/tls.h: Likewise.
76294         * lib/tmpdir.c: Likewise.
76295
76296         * lib/TODO: Remove; this belongs only in coreutils.
76297
76298 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76299
76300         Add copyright notices to long-enough files that lack them, since
76301         otherwise the files aren't clearly free.  Use the same notice that
76302         getdate.texi already uses.
76303         * doc/alloca-opt.texi: Add copyright notice.
76304         * doc/alloca.texi: Likewise.
76305         * doc/ctime.texi: Likewise.
76306         * doc/functions.texi: Likewise.
76307         * doc/gcd.texi: Likewise.
76308         * doc/gnulib-tool.texi: Likewise.
76309         * doc/inet_ntoa.texi: Likewise.
76310         * doc/visibility.texi: Likewise.
76311
76312         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
76313         * doc/quote.texi: Add copyright notice.
76314
76315         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
76316         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
76317         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
76318         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
76319         is now obsolete, and give a pointer to the Sun list.
76320         Add copyright notice.
76321
76322 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
76323
76324         * config/srclistvars.sh: Add copyright notice.
76325
76326 2006-08-14  Eric Blake  <ebb9@byu.net>
76327
76328         Import the following change from libc:
76329
76330         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
76331
76332         Upstream bug 2997.
76333         * lib/misc/error.c: Add space between program name and message if file
76334         name is missing.
76335
76336 2006-08-12  Karl Berry  <karl@gnu.org>
76337
76338         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
76339         remove, these originate in gnulib now.
76340
76341 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76342
76343         * doc/Makefile (standards.info standards.html standards.dvi):
76344         Also depend on make-stds.texi.
76345
76346 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
76347
76348         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
76349         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
76350
76351         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
76352         in wchar_t.  Problem reported by Eric Blake.
76353
76354         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
76355         LEN is smaller than SIZE.  Suggested by Bruno Haible.
76356         Also, help the compiler to keep LEN in a register.
76357
76358 2006-08-11  Eric Blake  <ebb9@byu.net>
76359
76360         * users.txt: Sort.  Add tar.
76361
76362 2006-08-11  Bruno Haible  <bruno@clisp.org>
76363
76364         * users.txt: New file.
76365
76366 2006-08-11  Bruno Haible  <bruno@clisp.org>
76367
76368         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
76369         before <wchar.h>. Needed for OSF/1 and BSD/OS.
76370
76371 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76372
76373         * modules/snprintf (Depends-on): Remove minmax.
76374         (Maintainer): Add self and Bruno.
76375
76376 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
76377
76378         * lib/.cppi-disable: Add snprintf.h, socket_.h.
76379         * lib/snprintf.c: Include <errno.h> and <limits.h>.
76380         (EOVERFLOW): Define if the system does not.
76381         Do not include "minmax.h"; it wasn't used.
76382         (snprintf): Don't assume size_t promotes to an unsigned type.
76383         Fix bug when generated string was too long for the buffer: the
76384         buffer's contents are supposed to be the initial prefix of the
76385         output.  Don't assume vasnprintf returns EOVERFLOW if the size
76386         exceeds INT_MAX; do the check ourselves.
76387
76388         Import the following changes from libc:
76389
76390         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
76391
76392         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
76393         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
76394         set wc to the byte which couldn't be converted.
76395         (re_string_reconstruct): Don't clear valid_raw_len before calling
76396         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
76397         tip_context using re_string_context_at.
76398
76399         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
76400
76401         * lib/posix/regex.h: g++ still cannot handled [restrict].
76402
76403         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
76404
76405         * lib/posix/regex.h: Remove special handling for VMS.
76406
76407 2006-08-10  Jim Meyering  <jim@meyering.net>
76408
76409         * modules/same-inode: New module.
76410         * modules/dev-ino: New module.
76411         * modules/cycle-check: Depend on these modules, rather than simply
76412         including their .h files.
76413         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
76414         required via m4/cycle-check.m4.
76415         * modules/same: Depend on new same-inode module, rather than
76416         including same-inode.h.
76417         * modules/chdir-safer: New file.
76418
76419         * modules/chown (Depends-on): Add stat-macros.
76420
76421 2006-08-10  Jim Meyering  <jim@meyering.net>
76422
76423         * m4/cycle-check.m4: New file.
76424         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
76425         * m4/dev-ino.m4, m4/same-inode.m4: New files.
76426
76427 2006-08-10  Eric Blake  <ebb9@byu.net>
76428
76429         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
76430         in from original proposal.
76431
76432 2006-08-10  Eric Blake  <ebb9@byu.net>
76433         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76434
76435         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
76436         namespace.
76437
76438 2006-08-10  Bruno Haible  <bruno@clisp.org>
76439
76440         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
76441         as well.
76442
76443 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76444
76445         Sync from coreutils.
76446
76447         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
76448
76449         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
76450         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
76451
76452 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76453
76454         * modules/restrict: Remove; no longer needed now that we assume
76455         Autoconf 2.59 or later.
76456         * MODULES.html.sh: Remove 'restrict'.
76457         * modules/argp (Depends-on): Remove 'restrict'.
76458         * modules/base64 (Depends-on): Likewise.
76459         * modules/gc (Depends-on): Likewise.
76460         * modules/getaddrinfo (Depends-on): Likewise.
76461         * modules/glob (Depends-on): Likewise.
76462         * modules/inet_ntop (Depends-on): Likewise.
76463         * modules/inet_pton (Depends-on): Likewise.
76464         * modules/memxor (Depends-on): Likewise.
76465         * modules/regex (Depends-on): Likewise.
76466         * modules/strtok_r (Depends-on): Likewise.
76467         * modules/time_r (Depends-on): Likewise.
76468
76469 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
76470
76471         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
76472         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
76473         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
76474         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
76475         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
76476         * m4/memxor.m4 (gl_MEMXOR): Likewise.
76477         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
76478         gl_C_RESTRICT replaced by AC_C_RESTRICT.
76479
76480         Merge from coreutils.
76481         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
76482         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
76483         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
76484         * m4/time_r.m4 (gl_TIME_R): Likewise.
76485
76486 2006-08-09  Karl Berry  <karl@gnu.org>
76487
76488         * config/srclist.txt: no more gettext-tools, per Bruno.
76489
76490 2006-08-08  Eric Blake  <ebb9@byu.net>
76491
76492         * modules/verror: New module.
76493         * MODULES.html.sh: Document it.
76494
76495 2006-08-08  Eric Blake  <ebb9@byu.net>
76496
76497         * lib/verror.h, lib/verror.c: New files.
76498
76499 2006-08-08  Eric Blake  <ebb9@byu.net>
76500
76501         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
76502         verror_at_line output complies with GNU Coding Standards even when
76503         file is NULL.
76504
76505 2006-08-07  Bruno Haible  <bruno@clisp.org>
76506
76507         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
76508         versions of AIX.
76509         Reported by Ralf Wildenhues.
76510
76511 2006-08-07  Bruno Haible  <bruno@clisp.org>
76512
76513         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
76514         in an AC_DEFUN. Needed so that the autoconf snippets can use
76515         AC_REQUIRE.
76516
76517 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76518
76519         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76520         Initialize pkgdata_DATA.
76521         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
76522         overriding it.
76523
76524 2006-08-06  Eric Blake  <ebb9@byu.net>
76525
76526         * lib/error.h: Fold in some upstream changes from glibc.
76527         * lib/error.c: Likewise.
76528
76529 2006-08-04  Bruno Haible  <bruno@clisp.org>
76530
76531         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76532         Make the mostlyclean-local rule depend on mostlyclean-generic.
76533         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
76534
76535 2006-07-31  Bruno Haible  <bruno@clisp.org>
76536
76537         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
76538         <stdlib.h>, <string.h>.
76539
76540 2006-07-30  Bruno Haible  <bruno@clisp.org>
76541
76542         * modules/readlink (License): Change to LGPL.
76543
76544 2006-07-30  Bruno Haible  <bruno@clisp.org>
76545
76546         * modules/javaversion (Makefile.am): Distribute javaversion.java and
76547         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
76548         set PKGDATADIR to point to it.
76549
76550 2006-07-30  Bruno Haible  <bruno@clisp.org>
76551
76552         * modules/csharpexec (configure.ac): Comment out macro invocation.
76553         * modules/javaexec (configure.ac): Likewise.
76554         * modules/javacomp-script (configure.ac): Likewise.
76555
76556         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
76557
76558 2006-07-30  Bruno Haible  <bruno@clisp.org>
76559
76560         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
76561         linked-list.
76562
76563 2006-07-30  Bruno Haible  <bruno@clisp.org>
76564
76565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
76566
76567 2006-07-30  Bruno Haible  <bruno@clisp.org>
76568
76569         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76570         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
76571         get removed.
76572
76573 2006-07-29  Bruno Haible  <bruno@clisp.org>
76574
76575         Make it possible for gnulib-tool to work with locally modified or
76576         augmented gnulib repositories.
76577         * gnulib-tool (func_usage): Document --local-dir option.
76578         (local_gnulib_dir): New variable.
76579         Handle --local-dir option.
76580         (func_lookup_file): New function.
76581         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
76582         (func_get_description, func_get_filelist, func_get_description,
76583         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
76584         func_get_automake_snippet, func_get_include_directive,
76585         func_get_license, func_get_maintainer): Use func_lookup_file.
76586         (func_import, func_create_testdir): Use func_lookup_file.
76587
76588 2006-07-29  Bruno Haible  <bruno@clisp.org>
76589
76590         * modules/setenv (Depends-on): Add unistd.
76591
76592 2006-07-29  Bruno Haible  <bruno@clisp.org>
76593
76594         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
76595
76596 2006-07-29  Bruno Haible  <bruno@clisp.org>
76597
76598         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
76599
76600 2006-07-29  Bruno Haible  <bruno@clisp.org>
76601
76602         * gnulib-tool (import, update): If there is no Makefile.am, look at
76603         aclocal.m4, instead of bailing out.
76604
76605 2006-07-29  Bruno Haible  <bruno@clisp.org>
76606
76607         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
76608         Categorize the options by when they are useful.
76609
76610 2006-07-29  Bruno Haible  <bruno@clisp.org>
76611
76612         * gnulib-tool (func_usage): Document option --no-libtool.
76613         Handle option --no-libtool.
76614         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
76615         for changed semantics of $libtool variable.
76616         (func_import): Likewise. If libtool is not used, show this through
76617         an option --no-libtool.
76618         (func_create_testdir): Update.
76619
76620 2006-07-29  Bruno Haible  <bruno@clisp.org>
76621
76622         * gnulib-tool (func_import): Extend error message about missing
76623         --doc-base.
76624
76625 2006-07-29  Bruno Haible  <bruno@clisp.org>
76626
76627         * gnulib-tool (func_import): Don't create the $docbase directory if
76628         there is no file to store there.
76629
76630 2006-07-29  Bruno Haible  <bruno@clisp.org>
76631
76632         * gnulib-tool (autoconf_minversion): If a --dir option is given and
76633         relevant, look for configure.ac there, not in the current directory.
76634         Also use a simple search for AC_PREREQ, not "autoconf --trace".
76635
76636 2006-07-29  Bruno Haible  <bruno@clisp.org>
76637
76638         * gnulib-tool (SORT): New variable.
76639         (func_usage): Undocument --assume-autoconf option.
76640         Remove --assume-autoconf option handling.
76641         (autoconf_minversion): Determine from the contents of configure.ac.
76642         (func_import): Remove autoconf_minversion handling.
76643         Suggested by Eric Blake.
76644
76645 2006-07-29  Bruno Haible  <bruno@clisp.org>
76646
76647         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
76648
76649 2006-07-29  Bruno Haible  <bruno@clisp.org>
76650
76651         * config/srclist.txt (*setenv.[ch]): Remove rules.
76652
76653 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76654
76655         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
76656
76657 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76658
76659         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
76660         arpa/inet.h.
76661
76662 2006-07-28  Simon Josefsson  <jas@extundo.com>
76663
76664         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
76665         * modules/inet_pton (Depends-on): Likewise.
76666
76667 2006-07-28  Simon Josefsson  <jas@extundo.com>
76668
76669         * m4/netinet_in_h.m4: New file.
76670
76671 2006-07-28  Simon Josefsson  <jas@extundo.com>
76672
76673         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
76674         #include's.
76675
76676 2006-07-28  Simon Josefsson  <jas@extundo.com>
76677
76678         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
76679         #include's.
76680
76681 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
76682
76683         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
76684         setgid on directories only if they set these bits.
76685         * lib/modechange.h: Remove obsolete comment about masks.
76686
76687 2006-07-28  Eric Blake  <ebb9@byu.net>
76688
76689         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
76690         macro expansion.
76691
76692 2006-07-28  Bruno Haible  <bruno@clisp.org>
76693
76694         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
76695
76696 2006-07-28  Bruno Haible  <bruno@clisp.org>
76697
76698         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
76699
76700 2006-07-28  Bruno Haible  <bruno@clisp.org>
76701
76702         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
76703         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
76704         Define fallbacks.
76705         Avoids link error on FreeBSD 4.x.
76706         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76707
76708         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
76709         encoding.
76710         * lib/mbswidth.c (iswcntrl): Likewise.
76711
76712 2006-07-27  Bruno Haible  <bruno@clisp.org>
76713
76714         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
76715         test.
76716
76717 2006-07-27  Bruno Haible  <bruno@clisp.org>
76718
76719         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
76720         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
76721         defined.
76722
76723 2006-07-26  Eric Blake  <ebb9@byu.net>
76724
76725         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
76726
76727 2006-07-26  Eric Blake  <ebb9@byu.net>
76728
76729         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
76730         like mingw that lack mkstemp.
76731         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
76732         avoid compilation warning on mingw.
76733
76734 2006-07-26  Bruno Haible  <bruno@clisp.org>
76735
76736         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
76737         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
76738         INT_FAST*_MIN, INTPTR_MIN.
76739
76740 2006-07-25  Bruno Haible  <bruno@clisp.org>
76741
76742         * modules/version-etc (Depends-on): Add stdarg.
76743
76744 2006-07-25  Bruno Haible  <bruno@clisp.org>
76745
76746         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
76747         complex commands.
76748
76749 2006-07-25  Bruno Haible  <bruno@clisp.org>
76750
76751         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
76752         defined in <stdarg.h> or config.h.
76753
76754 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76755
76756         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
76757         (gl_STDIO_SAFER): Remove.
76758
76759 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
76760
76761         * MODULES.html.sh (File stream based Input/Output):
76762         Add fopen-safer, tmpfile-safer; remove stdio-safer.
76763         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
76764         * modules/fopen-safer, modules/tmpfile-safer: New files.
76765         * modules/stdio-safer: Remove.
76766
76767 2006-07-24  Bruno Haible  <bruno@clisp.org>
76768
76769         * modules/tmpdir: New file.
76770         * MODULES.html.sh (File system functions): Add it.
76771
76772 2006-07-24  Bruno Haible  <bruno@clisp.org>
76773
76774         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
76775         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
76776
76777 2006-07-24  Bruno Haible  <bruno@clisp.org>
76778
76779         * modules/clean-temp: New file.
76780
76781 2006-07-24  Bruno Haible  <bruno@clisp.org>
76782
76783         * m4/tmpdir.m4: New file, from GNU gettext.
76784
76785 2006-07-24  Bruno Haible  <bruno@clisp.org>
76786
76787         * lib/tmpdir.h: New file, from GNU gettext.
76788         * lib/tmpdir.c: New file, from GNU gettext.
76789
76790 2006-07-24  Bruno Haible  <bruno@clisp.org>
76791
76792         * lib/clean-temp.h: New file, from GNU gettext.
76793         * lib/clean-temp.c: New file, from GNU gettext.
76794
76795 2006-07-23  Eric Blake  <ebb9@byu.net>
76796
76797         * modules/stdio-safer (Files): Add tmpfile-safer.c.
76798         (Depends-on): Add binary-io.
76799
76800 2006-07-23  Eric Blake  <ebb9@byu.net>
76801
76802         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
76803
76804 2006-07-23  Eric Blake  <ebb9@byu.net>
76805
76806         * lib/tmpfile-safer.c: New file.
76807         * lib/stdio-safer.h (fopen_safer): Add prototype.
76808         * lib/stdio--.h (tmpfile): Make safer.
76809
76810 2006-07-23  Bruno Haible  <bruno@clisp.org>
76811
76812         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
76813         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
76814         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
76815         gl_linked_remove_at): Use it.
76816
76817 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76818         and Simon Josefsson <jas@extundo.com>
76819
76820         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
76821
76822         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
76823
76824 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76825
76826         * modules/close-stream: New file.
76827         * modules/closeout (Description): Make it clear that it exits
76828         with a diagnostic on error.
76829         (Depends-on): Add close-stream.  Remove fpending, stdbool.
76830         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
76831
76832 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76833
76834         * m4/close-stream.m4: New file.
76835
76836 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
76837
76838         * lib/close-stream.c, lib/close-stream.h: New files.
76839
76840 2006-07-22  Bruno Haible  <bruno@clisp.org>
76841
76842         Merge from GNU gettext 0.15.
76843
76844         2006-05-01  Bruno Haible  <bruno@clisp.org>
76845
76846                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
76847
76848         2006-07-22  Bruno Haible  <bruno@clisp.org>
76849
76850                 * modules/javaversion: New file.
76851                 * MODULES.html.sh (Java): Add javaversion.
76852
76853         2006-03-12  Bruno Haible  <bruno@clisp.org>
76854
76855                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
76856
76857         2005-12-04  Bruno Haible  <bruno@clisp.org>
76858
76859                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
76860                 (untested).
76861
76862         2006-06-21  Bruno Haible  <bruno@clisp.org>
76863
76864                 Avoid warnings from recent versions of mcs.
76865                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
76866                 -o, -L, -r any more. Use options documented since mcs-1.0
76867                 instead. Similarly for -g.
76868
76869         2005-12-04  Bruno Haible  <bruno@clisp.org>
76870
76871                 * build-aux/csharpcomp.sh.in: Suffix for resources is
76872                 .resources, not .resource.
76873
76874         2005-07-09  Bruno Haible  <bruno@clisp.org>
76875
76876                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
76877                 add a .dll suffix.
76878                 Reported by Mark Junker <mjscod@gmx.de>.
76879
76880         2006-07-22  Bruno Haible  <bruno@clisp.org>
76881
76882                 * modules/gettext: Upgrade to gettext-0.15.
76883                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
76884                 m4/visibility.m4.
76885                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
76886
76887 2006-07-22  Bruno Haible  <bruno@clisp.org>
76888
76889         Merge from GNU gettext 0.15.
76890
76891         2006-03-25  Bruno Haible  <bruno@clisp.org>
76892
76893                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
76894
76895         2006-07-21  Bruno Haible  <bruno@clisp.org>
76896
76897                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
76898                 "1.1".
76899
76900         2006-05-09  Bruno Haible  <bruno@clisp.org>
76901
76902                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
76903                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
76904                 for the conftestver execution.
76905
76906         2006-05-01  Bruno Haible  <bruno@clisp.org>
76907
76908                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
76909                 optional target-version argument. Verify that the compiler
76910                 groks source of the specified source-version, or add -source
76911                 option as necessary. Verify that the compiler produces
76912                 bytecode in the specified target-version, or add -target and
76913                 -source options as necessary. Make the result of the test
76914                 available as variable CONF_JAVAC. Also log error output in
76915                 config.log.
76916
76917         2006-03-11  Bruno Haible  <bruno@clisp.org>
76918
76919                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
76920
76921         2006-05-09  Bruno Haible  <bruno@clisp.org>
76922
76923                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
76924                 CLASSPATH_SEPARATOR to a semicolon.
76925
76926         2006-03-12  Bruno Haible  <bruno@clisp.org>
76927
76928                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
76929                 available as variable CONF_JAVA, for subsequent autoconf
76930                 tests. Also log error output in config.log.
76931
76932         2006-07-19  Bruno Haible  <bruno@clisp.org>
76933
76934                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
76935                 that getline works on glibc2 systems. Needed to avoid trouble
76936                 in relocatable.c.
76937                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
76938
76939         2005-12-04  Bruno Haible  <bruno@clisp.org>
76940
76941                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
76942                 launcher (untested).
76943
76944         2005-12-04  Bruno Haible  <bruno@clisp.org>
76945
76946                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
76947
76948         2006-07-22  Bruno Haible  <bruno@clisp.org>
76949
76950                 * gettext.m4: Update from GNU gettext-0.15.
76951                 * nls.m4: Likewise.
76952                 * po.m4: Likewise.
76953                 * inttypes-pri.m4: Likewise.
76954                 * inttypes-h.m4: Renamed from inttypes.m4.
76955                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
76956
76957 2006-07-22  Bruno Haible  <bruno@clisp.org>
76958
76959         Merge from GNU gettext 0.15.
76960
76961         2005-07-05  Bruno Haible  <bruno@clisp.org>
76962
76963                 * printf-args.c (printf_fetchargs): Work around broken
76964                 definition of wint_t on mingw.
76965
76966         2005-02-12  Bruno Haible  <bruno@clisp.org>
76967
76968                 * xallocsa.h: Add extern "C" for C++.
76969
76970         2006-05-17  Bruno Haible  <bruno@clisp.org>
76971
76972                 Cygwin portability.
76973                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
76974
76975         2006-04-30  Bruno Haible  <bruno@clisp.org>
76976
76977                 * progreloc.c: Include <mach-o/dyld.h> if available.
76978                 (find_executable): Use _NSGetExecutablePath when possible.
76979
76980         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76981
76982                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
76983                 function.
76984
76985         2005-12-29  Bruno Haible  <bruno@clisp.org>
76986
76987                 * progreloc.c (set_program_name_and_installdir): Fix
76988                 compilation error.
76989
76990         2005-12-04  Bruno Haible  <bruno@clisp.org>
76991
76992                 Cygwin portability.
76993                 * progreloc.c: Include <windows.h> also on Cygwin.
76994                 (find_executable): Add support for Cygwin.
76995                 (set_program_name_and_installdir): Handle also platforms with
76996                 nonempty EXEEXT.
76997
76998         2006-07-11  Bruno Haible  <bruno@clisp.org>
76999
77000                 * javacomp.c: Fix a comment.
77001                 Reported by Jim Meyering.
77002
77003         2006-04-30  Bruno Haible  <bruno@clisp.org>
77004
77005                 * javacomp.h (compile_java_class): Add source_version,
77006                 target_version arguments.
77007                 * javacomp.c: Rewritten to choose only a compiler that
77008                 respects the specified source_version and target_version.
77009
77010         2006-06-27  Bruno Haible  <bruno@clisp.org>
77011
77012                 Assume correct S_ISDIR macro.
77013                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77014
77015         2006-07-22  Bruno Haible  <bruno@clisp.org>
77016
77017                 * javaversion.h: New file, from GNU gettext.
77018                 * javaversion.c: New file, from GNU gettext.
77019                 * javaversion.java: New file, from GNU gettext.
77020                 * javaversion.class: New file, from GNU gettext.
77021
77022         2006-05-17  Bruno Haible  <bruno@clisp.org>
77023
77024                 Cygwin portability.
77025                 * javaexec.c (execute_java_class): Test for jview program
77026                 also on Cygwin.
77027
77028         2006-04-09  Bruno Haible  <bruno@clisp.org>
77029
77030                 * fatal-signal.c: Don't include string.h.
77031                 (at_fatal_signal): Use a copying loop instead of memcpy.
77032
77033         2005-12-04  Bruno Haible  <bruno@clisp.org>
77034
77035                 * csharpexec.c: Add support for 'clix' launcher (untested).
77036                 (execute_csharp_using_sscli): New function.
77037                 (execute_csharp_program): Call it.
77038
77039         2006-06-21  Bruno Haible  <bruno@clisp.org>
77040
77041                 Avoid warnings from recent versions of mcs.
77042                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77043                 -o, -L, -r any more. Use options documented since mcs-1.0
77044                 instead. Similarly for -g.
77045
77046         2005-07-09  Bruno Haible  <bruno@clisp.org>
77047
77048                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77049                 add a .dll suffix.
77050                 Reported by Mark Junker <mjscod@gmx.de>.
77051
77052         2006-06-17  Bruno Haible  <bruno@clisp.org>
77053
77054                 * config.charset: Update for NetBSD 3.0.
77055
77056         2006-05-17  Bruno Haible  <bruno@clisp.org>
77057
77058                 Cygwin portability.
77059                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77060
77061         2006-05-16  Bruno Haible  <bruno@clisp.org>
77062
77063                 * localcharset.c [CYGWIN]: Include <windows.h>.
77064                 (get_charset_aliases): For Cygwin, return the same CPxxx
77065                 aliases list as under WIN32.
77066                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77067                 the environment variables. Fall back to GetACP().
77068
77069         2006-04-05  Bruno Haible  <bruno@clisp.org>
77070
77071                 * config.charset: Update Juan Manuel Guerrero's address.
77072
77073         2005-02-12  Bruno Haible  <bruno@clisp.org>
77074
77075                 * allocsa.h: Add extern "C" for C++.
77076
77077         2005-02-10  Bruno Haible  <bruno@clisp.org>
77078
77079                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77080                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77081
77082         2006-07-22  Bruno Haible  <bruno@clisp.org>
77083
77084                 * gettext.h: Update to GNU gettext-0.15.
77085
77086 2006-07-22  Bruno Haible  <bruno@clisp.org>
77087
77088         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77089         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77090         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77091
77092 2006-07-21  Eric Blake  <ebb9@byu.net>
77093
77094         * modules/stdlib-safer: New file.
77095         * MODULES.html.sh (File stream based Input/Output): Add
77096         stdlib-safer.
77097
77098 2006-07-21  Eric Blake  <ebb9@byu.net>
77099
77100         * lib/stdlib-safer.h: New file from coreutils, required by
77101         stdlib--.h.
77102
77103 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77104
77105         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77106
77107 2006-07-20  Bruno Haible  <bruno@clisp.org>
77108
77109         * gnulib-tool: Recognize new option --assume-autoconf.
77110         (autoconf_minversion): New variable.
77111         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77112
77113 2006-07-20  Bruno Haible  <bruno@clisp.org>
77114
77115         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77116
77117 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77118
77119         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77120         Reindent and repaginate.
77121
77122 2006-07-19  Derek Price  <derek@ximbiot.com>
77123
77124         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77125         Correct grammar.
77126
77127 2006-07-17  Bruno Haible  <bruno@clisp.org>
77128
77129         * modules/list: New file.
77130         * modules/array-list: New file.
77131         * modules/carray-list, modules/carray-list-tests: New files.
77132         * modules/linked-list, modules/linked-list-tests: New files.
77133         * modules/avltree-list, modules/avltree-list-tests: New files.
77134         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77135         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77136         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77137         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77138         * modules/oset: New file.
77139         * modules/array-oset: New file.
77140         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77141         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77142         * tests/test-carray_list.c: New file.
77143         * tests/test-linked_list.c: New file.
77144         * tests/test-avltree_list.c: New file.
77145         * tests/test-rbtree_list.c: New file.
77146         * tests/test-linkedhash_list.c: New file.
77147         * tests/test-avltreehash_list.c: New file.
77148         * tests/test-rbtreehash_list.c: New file.
77149         * tests/test-avltree_oset.c: New file.
77150         * tests/test-rbtree_oset.c: New file.
77151         * MODULES.html.sh (Container data structures): New section.
77152
77153 2006-07-17  Bruno Haible  <bruno@clisp.org>
77154
77155         * m4/gl_list.m4: New file.
77156
77157 2006-07-17  Bruno Haible  <bruno@clisp.org>
77158
77159         * lib/gl_list.h: New file.
77160         * lib/gl_list.c: New file.
77161         * lib/gl_array_list.h: New file.
77162         * lib/gl_array_list.c: New file.
77163         * lib/gl_carray_list.h: New file.
77164         * lib/gl_carray_list.c: New file.
77165         * lib/gl_linked_list.h: New file.
77166         * lib/gl_linked_list.c: New file.
77167         * lib/gl_anylinked_list1.h: New file.
77168         * lib/gl_anylinked_list2.h: New file.
77169         * lib/gl_avltree_list.h: New file.
77170         * lib/gl_avltree_list.c: New file.
77171         * lib/gl_anyavltree_list1.h: New file.
77172         * lib/gl_anyavltree_list2.h: New file.
77173         * lib/gl_rbtree_list.h: New file.
77174         * lib/gl_rbtree_list.c: New file.
77175         * lib/gl_anyrbtree_list1.h: New file.
77176         * lib/gl_anyrbtree_list2.h: New file.
77177         * lib/gl_anytree_list1.h: New file.
77178         * lib/gl_anytree_list2.h: New file.
77179         * lib/gl_linkedhash_list.h: New file.
77180         * lib/gl_linkedhash_list.c: New file.
77181         * lib/gl_anyhash_list1.h: New file.
77182         * lib/gl_anyhash_list2.h: New file.
77183         * lib/gl_avltreehash_list.h: New file.
77184         * lib/gl_avltreehash_list.c: New file.
77185         * lib/gl_rbtreehash_list.h: New file.
77186         * lib/gl_rbtreehash_list.c: New file.
77187         * lib/gl_anytreehash_list1.h: New file.
77188         * lib/gl_anytreehash_list2.h: New file.
77189
77190         * lib/gl_oset.h: New file.
77191         * lib/gl_oset.c: New file.
77192         * lib/gl_array_oset.h: New file.
77193         * lib/gl_array_oset.c: New file.
77194         * lib/gl_avltree_oset.h: New file.
77195         * lib/gl_avltree_oset.c: New file.
77196         * lib/gl_rbtree_oset.h: New file.
77197         * lib/gl_rbtree_oset.c: New file.
77198         * lib/gl_anytree_oset.h: New file.
77199
77200 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77201
77202         * m4/mkancesdirs.m4: New file.
77203         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
77204         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
77205         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
77206         it.
77207
77208 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77209
77210         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
77211         * lib/mkancesdirs.h: New files.
77212         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
77213         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
77214         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
77215         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
77216         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
77217         callers changed.  Revamp internals significantly, by not
77218         attempting to create directories that are temporarily more
77219         permissive than the final results.  Do not attempt to use
77220         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
77221         This removes some race conditions, fixes some bugs, and simplifies
77222         things.  Use new dirchownmod function to do owner and mode changes.
77223         * lib/mkdir-p.h: Likewise.
77224         * lib/modechange.c (octal_to_mode): New function.
77225         (struct mode_change): New member mentioned.
77226         (make_node_op_equals): New arg mentioned.  All callers changed.
77227         (mode_compile): Keep track of which mode bits the user has explicitly
77228         mentioned.
77229         (mode_adjust): New arg DIR, so that we implement the X op correctly.
77230         New arg PMODE_BITS, to keep track of which mode bits the user
77231         mentioned; it treats S_ISUID and S_ISGID speciall.
77232         All callers changed.
77233         * lib/modechange.h: Likewise.
77234
77235 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
77236
77237         * MODULES.html.sh: Add mkancestors.
77238         * modules/mkancesdirs: New module.
77239         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
77240         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
77241         The chdir-safer and afs files are now orphans; I'll remove them
77242         unless someone speaks up.
77243         Add lib/dirchownmod.c, lib/dirchownmod.h.
77244         (Depends-on): Remove alloca, chown, save-cwd, dirname.
77245         Add lchown, mkancesdirs.
77246         (Maintainer): Add self.
77247
77248 2006-07-15  Karl Berry  <karl@gnu.org>
77249
77250         * gnulib-tool: help message wording/arrangement.
77251
77252 2006-07-14  Simon Josefsson  <jas@extundo.com>
77253
77254         * doc/gnulib.texi (Libtool and Windows): New section.
77255
77256 2006-07-12  Simon Josefsson  <jas@extundo.com>
77257
77258         * modules/gendocs (License): Fix license, approved by Karl.
77259
77260 2006-07-12  Eric Blake  <ebb9@byu.net>
77261
77262         * MODULES.html.sh: Add gendocs.
77263
77264 2006-07-11  Eric Blake  <ebb9@byu.net>
77265
77266         * modules/fdl: New module, to install doc/fdl.texi.
77267         * MODULES.html.sh: Add new section for documentation modules.
77268         * gnulib-tool: Avoid space-tab.
77269         (--doc-base): New option, to manage files from doc.
77270
77271 2006-07-11  Eric Blake  <ebb9@byu.net>
77272
77273         * m4/absolute-header.m4: Fix comments to match recent change.
77274
77275 2006-07-11  Eric Blake  <ebb9@byu.net>
77276
77277         * gnulib-tool: List --doc-base before --tests-base.
77278
77279 2006-07-11  Derek R. Price  <derek@ximbiot.com>
77280
77281         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
77282
77283 2006-07-11  Bruno Haible  <bruno@clisp.org>
77284
77285         * README: Mention where to put documentation.
77286
77287 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77288
77289         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
77290
77291 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77292
77293         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
77294         to stdint.m4.
77295
77296 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
77297
77298         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
77299         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
77300         "no/such/file/stdint.h" when there is no such file, so that
77301         the resulting C code can be parsed by dodgy compilers.
77302         Problems reported by Bob Proulx.
77303
77304 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77305
77306         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
77307         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77308         macros into the GNU _D_EXACT_NAMLEN.
77309         * lib/savedir.c:  Likewise.
77310         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
77311
77312 2006-07-10  Derek R. Price  <derek@ximbiot.com>
77313         and Paul Eggert  <eggert@cs.ucla.edu>
77314
77315         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
77316         * m4/savedir.m4:
77317         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
77318         macros into the GNU _D_EXACT_NAMLEN.
77319
77320 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77321
77322         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
77323         around the absolute name, to work around a problem with the HP-UX
77324         11.23 native C compiler, reported by Bob Proulx.
77325
77326 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77327
77328         * doc/maintain.texi, make-stds.texi: Sync from
77329         <http://savannah.gnu.org/projects/gnustandards>.
77330
77331 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
77332
77333         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
77334
77335 2006-07-09  Jim Meyering  <jim@meyering.net>
77336
77337         * m4/glob.m4: Remove a doubled word in a comment.
77338
77339 2006-07-09  Jim Meyering  <jim@meyering.net>
77340
77341         * lib/argp-pv.c: Remove a doubled word in a comment.
77342         * lib/check-version.c (check_version): Likewise.
77343         * lib/javacomp.c (compile_java_class): Likewise.
77344
77345 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77346
77347         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
77348         for the benefit of people using Autoconf 2.60.  If you want to
77349         support older Autoconf versions you can copy m4/onceonly_2_57.m4
77350         (or m4/onceonly.m4, if pre-2.57) manually.
77351
77352 2006-07-08  Jim Meyering  <jim@meyering.net>
77353
77354         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
77355         comment.
77356         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
77357         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
77358         comment.
77359
77360 2006-07-08  Jim Meyering  <jim@meyering.net>
77361
77362         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
77363
77364 2006-07-07  Simon Josefsson  <jas@extundo.com>
77365
77366         * tests/test-crc.c: Change expected crc value, the test vector
77367         were probably computed using the old broken crc.c?
77368
77369 2006-07-06  Simon Josefsson  <jas@extundo.com>
77370
77371         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
77372         now the canonical place for the M4 file).
77373
77374         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
77375         from the sys_socket dependency now.
77376
77377         * modules/inet_pton (Files): Ditto.
77378
77379         * modules/inet_ntop (Files): Ditto.
77380
77381 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77382
77383         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
77384         not gl_PREREQ_GETUSERSHELL.
77385
77386 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77387
77388         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
77389         with only one argument, for Autoconf 2.60.
77390         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
77391         expand to nothing, so add a shell command to avoid syntax error.
77392         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
77393
77394 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77395
77396         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
77397
77398 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77399
77400         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
77401         no longer needed.  Check for isblank decl.
77402         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
77403         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
77404         of existence.
77405
77406 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77407
77408         * lib/getloadavg.c: Use __VMS, not VMS.
77409         * lib/getopt.c: Likewise.
77410         * lib/getpagesize.h: Likewise.
77411         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
77412         and probably does not work.
77413
77414 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77415
77416         * lib/.cppi-disable: Add wcwidth.
77417         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
77418         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
77419         (ISGRAPH): Remove.  All uses changed to isgraph.
77420         (FOLD) [!defined _LIBC]: Remove special case.
77421         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
77422         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
77423         HAVE_ISBLANK.
77424         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
77425         case.
77426
77427 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77428
77429         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
77430         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
77431         brackets.  Other minor changes to suppress some compiler
77432         warnings.
77433
77434 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77435         and Paul Eggert  <eggert@cs.ucla.edu>
77436
77437         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
77438         of invoking obsolescent AC_HEADER_DIRENT macro.
77439         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
77440         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
77441         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
77442         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
77443         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
77444         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77445         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
77446         * m4/readdir.m4: Remove; no longer needed.
77447
77448 2006-07-06  Derek R. Price  <derek@ximbiot.com>
77449         and Paul Eggert  <eggert@cs.ucla.edu>
77450
77451         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
77452         Don't worry about this obsolete case any more.
77453         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
77454         directories.
77455         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
77456         worry about this obsolete case any more.
77457         * lib/fts.c: Likewise.
77458         * lib/getcwd.c: Likewise.
77459         * lib/glob.h: Likewise.
77460         * lib/savedir.c: Likewise.
77461
77462 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77463
77464         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
77465         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
77466         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
77467         needed.
77468         All uses removed.
77469         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77470         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77471         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
77472         needed.
77473         * m4/getdate.m4 (gl_GETDATE): Likewise.
77474         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77475         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77476         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77477         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77478         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
77479         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77480         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
77481         needed.
77482
77483 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77484
77485         * lib/memcasecmp.c: Include <limits.h>.
77486         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
77487         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
77488         Don't assume isdigit succeeds only on '0' through '9'.
77489
77490 2006-07-05  Eric Blake  <ebb9@byu.net>
77491
77492         * modules/getaddrinfo (Depends-on): Add snprintf.
77493
77494 2006-07-05  Eric Blake  <ebb9@byu.net>
77495
77496         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
77497         to avoid 'header present but could not be compiled' on cygwin.
77498
77499 2006-07-05  Eric Blake  <ebb9@byu.net>
77500
77501         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
77502         missing from netdb.h.
77503         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
77504
77505 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77506
77507         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
77508         no longer needed.
77509         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
77510         * m4/getdate.m4 (gl_GETDATE): Likewise.
77511         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
77512         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
77513         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
77514         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
77515         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77516
77517 2006-07-05  Derek R. Price  <derek@ximbiot.com>
77518
77519         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
77520         All uses of is_space replaced by isspace.
77521         * lib/exit.h: Don't talk about STDC_HEADERS.
77522         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
77523         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
77524         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
77525         replaced by isprint etc.
77526         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
77527         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77528         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
77529         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
77530         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
77531         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
77532
77533 2006-07-05  Bruno Haible  <bruno@clisp.org>
77534
77535         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
77536         the function exists, before testing against AIX.
77537         Reported by Martin Lambers <marlam@marlam.de>.
77538
77539 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77540
77541         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
77542         From Mark D. Baushke.
77543
77544 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
77545
77546         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
77547         to the absolute name, not just one, to bypass Sun C 5.8's
77548         "warning: #include of /usr/include/... may be non-portable".
77549
77550 2006-07-04  Eric Blake  <ebb9@byu.net>
77551
77552         * modules/dirname-tests: New test module.
77553         * tests/test-dirname.c: New file, replacing dirname.c
77554         TEST_DIRNAME section that was recently deleted.
77555
77556 2006-07-04  Bruno Haible  <bruno@clisp.org>
77557
77558         Assume ANSI C header files and <ctype.h> functions.
77559         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
77560         (mbsnwidth): Use isprint, iscntrl instead.
77561
77562 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77563
77564         Merge from coreutils.
77565         * MODULES.html.sh: Add xstrtold.
77566         * modules/xstrtold: New file.
77567         * modules/cycle-check (Files): Add lib/same-inode.h.
77568         * modules/dirname (Files): Add m4/double-slash-root.m4.
77569         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
77570         * modules/mkdir-p (Files): Add lib/same-inode.h.
77571         * modules/same (Files): Add lib/same-inode.h.
77572
77573 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77574
77575         * m4/absolute-header.m4: Renamed from full-header-path.m4.
77576         This is to keep the terminology clean; POSIX talks about
77577         "absolute pathnames", not "full pathnames", but the GNU
77578         Coding Standards say to use "path" for something else;
77579         so use "absolute" to keep both sides happy.
77580         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
77581         Set gl_absolute_header, not gl_full_header_path.
77582         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
77583         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
77584         All uses changed.
77585
77586         Merge from coreutils.
77587
77588         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77589
77590         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
77591         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
77592         want to require the building of c-strtod.o.
77593         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
77594         needs -lm directly.
77595         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
77596
77597         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
77598
77599         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
77600         --as-needed option if available.  Problem reported by Albert Chin in
77601         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
77602         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
77603         cc merely issues a bunch of annoying warnings for --as-needed
77604         (this problem was reported by Bob Proulx).  Also, try linking with
77605         -lm to detect a bug in binutils 2.16 (this problem was reported
77606         by Ralf Wildenhues).
77607
77608         2006-06-18  Jim Meyering  <jim@meyering.net>
77609
77610         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
77611         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
77612         macro.
77613         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
77614         also check for glibc-2.4's abort-inducing bug.
77615
77616         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
77617         Low-probability clean-up should be to use rmdir to get rid of
77618         the just-created directory, not unlink.
77619
77620         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
77621         configure fail, and request a bug report to inform us about it.
77622         Add a comment that, barring reports to the contrary, in 2007 we'll
77623         assume ftruncate is universally available.
77624
77625         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77626
77627         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
77628
77629         2006-03-12  Jim Meyering  <jim@meyering.net>
77630
77631         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
77632         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
77633         * m4/same.m4 (gl_SAME): Likewise.
77634         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
77635
77636         2006-03-11  Eric Blake  <ebb9@byu.net>
77637
77638         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
77639         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
77640         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
77641         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
77642
77643 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77644
77645         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
77646         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
77647         reported by Mark D. Baushke, one in
77648         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
77649
77650         Merge from coreutils.
77651
77652         * lib/.cppi-disable: Add stdint_.h.
77653         * lib/.cvsignore: Add stdint.h.
77654
77655         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
77656
77657         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
77658         both double and long double versions.
77659         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
77660         * lib/xstrtold.c: New file.
77661         * lib/xstrtod.h (xstrtold): New decl.
77662
77663         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
77664
77665         * lib/filemode.c (setst): Remove.
77666         (strmode): Rewrite to avoid setst.  This makes the code shorter,
77667         (arguably) clearer, and the generated code is a bit smaller on my
77668         Debian GNU/Linux stable x86 host.
77669
77670         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
77671
77672         * lib/filemode.c: Include "filemode.h" first, to test the interface.
77673         Assume that filemode.h includes sys/types.h and sys/stat.h.
77674         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
77675         (ftypelet): Reorder to put common cases first, for efficiency.
77676         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
77677         to do 'M'.
77678         (strmode): Renamed from mode_string, and now stores 12 bytes instead
77679         of 10, for compatibility with FreeBSD.  All callers changed.
77680         (filemodestring): Now stores 12 bytes instead of 10, and sets file
77681         types that can't be deduced solely from st_mode.  First arg is now a
77682         const pointer.
77683         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
77684         (strmode): Renamed from mode_string.
77685         (filemodestring): New decl.
77686         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
77687         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
77688         needed.
77689         (S_ISPORT, S_ISWHT): New macros, if not already defined.
77690
77691         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
77692
77693         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
77694         fsusage.h now does that.  Include fsusage.h first, to test interface.
77695         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
77696         at most one method (the old code could have generated decls that
77697         didn't conform to C89, not that this was ever exercised).
77698         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
77699
77700         2006-03-19  Jim Meyering  <jim@meyering.net>
77701
77702         Work even in a chroot where d_ino values for entries in "/"
77703         don't match the stat.st_ino values for the same names.
77704         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
77705         number, iterate through all entries again, using lstat instead.
77706         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
77707         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
77708
77709         * lib/getcwd.c (__getcwd): Clarify a comment.
77710         Use memcpy in place of a call to strcpy.
77711
77712         2006-03-12  Jim Meyering  <jim@meyering.net>
77713
77714         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
77715         matches that of the current directory (which we're about to chdir ".."
77716         out of), then save the dev-ino of the parent, instead.
77717
77718         * lib/same-inode.h (SAME_INODE): New file/macro.
77719         * lib/chdir-safer.c (SAME_INODE): Remove definition.
77720         Include "same-inode.h", instead.
77721         * lib/same.c: Likewise.
77722         * lib/cycle-check.h: Include "same-inode.h".
77723         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
77724         * lib/cycle-check.c (SAME_INODE): Remove definition.
77725         * lib/root-dev-ino.h: Include "same-inode.h".
77726
77727         2006-03-11  Eric Blake  <ebb9@byu.net>
77728
77729         * lib/same.c (same_name): s/base_name/last_component/
77730         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
77731         * lib/filenamecat.c (file_name_concat): Likewise.
77732
77733         2006-03-11  Eric Blake  <ebb9@byu.net>,
77734                     Paul Eggert  <eggert@cs.ucla.edu>
77735
77736         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
77737         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
77738         drive prefix.
77739         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
77740         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
77741         (last_component): New method.
77742         * lib/dirname.c (dir_len): Determine when drive letters need a
77743         subsequent slash.  Preserve // when it is special.
77744         (dir_name): Don't append dot when drive letter is absolute.
77745         [TEST_DIRNAME]: Move into a full-blown gnulib test.
77746         * lib/basename.c (base_name): New semantics - malloc the result.
77747         Preserve // when it is special.  Preserve relative files that look
77748         like drive letters.
77749         (base_len): Preserve // when it is special.
77750         (last_component): New method, similar to old base_name semantics.
77751         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
77752         base_name.  Strip redundant slashes from ///.
77753
77754 2006-07-03  Jim Meyering  <jim@meyering.net>
77755
77756         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
77757         macro is used before the first cycle_check call.
77758
77759 2006-07-03  Eric Blake  <ebb9@byu.net>
77760
77761         * modules/dirname (Depends-on): Add xstrndup.
77762
77763 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77764
77765         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
77766         test cases, so that config.log is a bit easier to follow.
77767
77768 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
77769
77770         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
77771         both are 64 bits, since this seems to be the tradition, and this
77772         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
77773         we ever run into a host that prefers long long to long in this
77774         case, we'll need another configure-time test.  Problem reported by
77775         Jim Meyering.
77776
77777 2006-07-02  Eric Blake  <ebb9@byu.net>
77778
77779         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
77780
77781 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77782
77783         * modules/inttypes (Depends-on): No longer depends on stdint.
77784         * modules/stdint (Description): Say more about assumptions.
77785         Say that the fast types might differ.  Say macros are used.
77786         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
77787         (Makefile.am): Revise list of substituted symbols to match
77788         new stdint.m4.
77789         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
77790         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
77791         * tests/test-stdint.c (verify_same_types)
77792         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
77793         the code conforms to C99/C89.
77794         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
77795         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
77796
77797 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77798
77799         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
77800         but fix a bug, by requiring at least 64 bits.
77801         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
77802         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
77803         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
77804         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77805
77806         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
77807         changes.  Make 2.59 a prerequisite.  Check and substitute for
77808         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
77809         inttypes.h.  Do not use special include files; just use the
77810         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
77811         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
77812         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
77813         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
77814         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
77815         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
77816         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
77817         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
77818         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
77819         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
77820         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
77821         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
77822         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
77823         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
77824         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
77825         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
77826         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
77827         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
77828         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
77829         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
77830         WINT_MAX.  Check for C99 conformance more strictly, by detecting
77831         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
77832         not check for things that C99 does not require, e.g., int8_t.  If
77833         a test isn't needed unless <stdint.h> isn't working, and is
77834         unlikely to be needed for any other reason, then don't do it
77835         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
77836         size_t, since we assume C89 freestanding at least.  Do not check
77837         for sig_atomic_t, wchar_t, or wint_t, since the code now does
77838         the right thing even if the types are not defined.  Instead use:
77839         (gl_STDINT_TYPE_PROPERTIES): New macro.
77840         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
77841         testing whether <sys/types.h> clashes, as Autoconf does this for
77842         us now.  All uses removed.
77843         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
77844         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
77845         (gl_CHECK_TYPE_SAME):
77846         Remove; no longer needed.
77847         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
77848         exists, since we'll return 0 anyway in that case.
77849         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
77850
77851 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77852
77853         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
77854         possible collision with system files.
77855         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
77856         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
77857         WCHAR_MIN and WCHAR_MAX in this case.
77858         (<stddef.h>): Do not include; no longer needed.
77859         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
77860         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
77861         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
77862         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
77863         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
77864         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
77865         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
77866         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
77867         !defined(__c99))]: Include in this case too, since it's harmless
77868         now.
77869         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
77870         dangerous to do so.
77871         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
77872         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
77873         (_STDINT_MIN, _STDINT_MAX): New macros.
77874         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
77875         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
77876         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
77877         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
77878         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
77879         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
77880         macros, not typedefs; this simplifies things quite a bit.
77881         Use long int for all types narrower than int64_t.
77882         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
77883         Define in terms of long long int or int64_t or long int,
77884         not int64_t or int32_t.  This saves some compile-time testing.
77885         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
77886         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
77887         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
77888         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
77889         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
77890         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
77891         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
77892         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
77893         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
77894         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
77895         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77896         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77897         undef any previous version and define our own version, for
77898         simplicity and consistency with the new macros for types.
77899         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
77900         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
77901         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
77902         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
77903         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
77904         @WINT_T_SUFFIX@ to keep things simple here.
77905         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
77906         Simplify by assuming typical 8/16/32/64 host, since we're
77907         already doing that elsewhere anyway.
77908         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
77909         and assume long long int is 64 bits if available.  This
77910         speeds up 'configure'.
77911
77912 2006-07-01  Eric Blake  <ebb9@byu.net>
77913
77914         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
77915         Reported by Andreas Buening.
77916
77917 2006-07-01  Eric Blake  <ebb9@byu.net>
77918
77919         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
77920
77921 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
77922
77923         * lib/getaddrinfo.c: fixed typo
77924
77925 2006-06-29  Jim Meyering  <jim@meyering.net>
77926
77927         * modules/strftime (Maintainer): Add my name, since with the
77928         FPRINTFTIME changes strftime.c has forked from glibc.
77929
77930 2006-06-29  Eric Blake  <ebb9@byu.net>
77931
77932         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
77933
77934 2006-06-29  Eric Blake  <ebb9@byu.net>
77935
77936         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
77937
77938 2006-06-29  Eric Blake  <ebb9@byu.net>
77939
77940         * lib/stat_.h: New file.
77941
77942 2006-06-29  Eric Blake  <ebb9@byu.net>
77943
77944         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
77945         unused static function.
77946
77947 2006-06-29  Eric Blake  <ebb9@byu.net>
77948
77949         * doc/functions.texi (Function Portability): Document missing lstat
77950         on mingw.
77951
77952 2006-06-29  Eric Blake  <ebb9@byu.net>
77953
77954         * MODULES.html.sh: Add sys_stat.
77955         * modules/sys_stat: New module.
77956         * modules/mkstemp (Depends-on): Add sys_stat.
77957
77958 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77959
77960         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
77961
77962 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77963
77964         * m4/c-bs-a.m4: Removed.
77965
77966 2006-06-29  Derek R. Price  <derek@ximbiot.com>
77967
77968         * lib/strftime.c: Assume strftime() exists.
77969
77970 2006-06-29  Derek Price  <derek@ximbiot.com>
77971
77972         * modules/c-bs-a: Removed - \a is C89.
77973         * MODULES.html.sh: Remove c-bs-a.
77974
77975 2006-06-29  Bruno Haible  <bruno@clisp.org>
77976
77977         * modules/wcwidth (License): Change to LGPL.
77978
77979 2006-06-28  Simon Josefsson  <jas@extundo.com>
77980
77981         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
77982         on _WIN32.
77983
77984         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
77985         getnameinfo.
77986
77987 2006-06-28  Simon Josefsson  <jas@extundo.com>
77988
77989         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
77990
77991 2006-06-28  Simon Josefsson  <jas@extundo.com>
77992
77993         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
77994         functions there.  It will succeed on Windows XP, but on Windows
77995         2000 and (presumably) earlier, it will fail, and use the internal
77996         re-implementation.
77997         (use_win32_p): New function.
77998         (getaddrinfo): Use strtoul on servname, to support numeric ports.
77999         Support AI_NUMERICSERV to disable getservbyname.
78000         (getnameinfo): New function, only supports
78001         NI_NUMERICHOST|NI_NUMERICSERV for now.
78002
78003         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78004         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78005         getnameinfo.
78006
78007 2006-06-28  Eric Blake  <ebb9@byu.net>
78008
78009         * modules/wcwidth: New file.
78010         * modules/mbchar (Depends-on): Add wcwidth.
78011         * modules/mbswidth (Depends-on): Add wcwidth.
78012         * MODULES.html.sh: Add wcwidth.
78013
78014 2006-06-28  Eric Blake  <ebb9@byu.net>
78015
78016         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78017         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78018
78019 2006-06-28  Eric Blake  <ebb9@byu.net>
78020
78021         * lib/xvasprintf.h: Fix comments.
78022
78023 2006-06-28  Eric Blake  <ebb9@byu.net>
78024
78025         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78026         * lib/mbswidth.c (wcwidth): Move from here...
78027         * lib/wcwidth.h: ...to this new file.
78028
78029 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78030
78031         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78032
78033         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78034         it's obsolete.
78035         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78036
78037 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78038
78039         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78040         Autoconf 2.60 says this stuff was obsolete.
78041
78042 2006-06-28  Bruno Haible  <bruno@clisp.org>
78043
78044         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78045
78046 2006-06-28  Bruno Haible  <bruno@clisp.org>
78047
78048         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78049         gt_TYPE_WCHAR_T.
78050
78051 2006-06-28  Bruno Haible  <bruno@clisp.org>
78052
78053         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78054         declaration for wcwidth.
78055         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78056
78057 2006-06-28  Bruno Haible  <bruno@clisp.org>
78058
78059         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78060         (mkdir): Define using _mkdir.
78061
78062 2006-06-28  Bruno Haible  <bruno@clisp.org>
78063
78064         * lib/getaddrinfo.h: Fix POSIX URL.
78065         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78066         _WIN32.
78067         (use_win32_p): Make static.
78068         (getaddrinfo): Reject service name if it is empty or does not consist
78069         solely of decimal digits, or if its value is > 65535.
78070         (getnameinfo): Remove useless casts.
78071
78072 2006-06-27  Simon Josefsson  <jas@extundo.com>
78073
78074         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78075         Eggert and Martin Lambers.
78076
78077 2006-06-27  Simon Josefsson  <jas@extundo.com>
78078
78079         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78080         Eggert and Martin Lambers.
78081
78082 2006-06-27  Bruno Haible  <bruno@clisp.org>
78083
78084         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78085         result to 0, not to empty.
78086         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78087
78088 2006-06-27  Bruno Haible  <bruno@clisp.org>
78089
78090         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78091
78092 2006-06-26  Simon Josefsson  <jas@extundo.com>
78093
78094         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78095         present.
78096
78097 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78098
78099         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78100         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78101         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78102
78103 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78104
78105         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78106
78107 2006-06-26  Bruno Haible  <bruno@clisp.org>
78108
78109         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78110
78111 2006-06-26  Bruno Haible  <bruno@clisp.org>
78112
78113         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78114
78115 2006-06-26  Bruno Haible  <bruno@clisp.org>
78116
78117         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78118         SGI C compiler in pre-C99 mode.
78119         Suggested by Mark D. Baushke and Larry Jones.
78120
78121 2006-06-26  Bruno Haible  <bruno@clisp.org>
78122
78123         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78124         WCHAR_MAX.
78125         Reported by Mark D. Baushke and Larry Jones.
78126
78127 2006-06-26  Bruno Haible  <bruno@clisp.org>
78128
78129         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78130         in pre-C99 mode.
78131         Suggested by Mark D. Baushke and Larry Jones.
78132
78133 2006-06-23  Simon Josefsson  <jas@extundo.com>
78134             Bruno Haible  <bruno@clisp.org>
78135
78136         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78137         Emit mostlyclean-local rule.
78138         (func_emit_tests_Makefile_am): Likewise.
78139         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78140
78141 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78142
78143         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78144
78145 2006-06-23  Bruno Haible  <bruno@clisp.org>
78146
78147         * tests/test-stdint.c: Update to match ISO C 99 Technical
78148         Corrigendum 1.
78149
78150 2006-06-23  Bruno Haible  <bruno@clisp.org>
78151
78152         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78153
78154 2006-06-23  Bruno Haible  <bruno@clisp.org>
78155
78156         * lib/stdint_.h: Treat IRIX like OpenBSD.
78157
78158 2006-06-23  Bruno Haible  <bruno@clisp.org>
78159
78160         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78161         ISO C 99 Technical Corrigendum 1.
78162
78163 2006-06-22  Simon Josefsson  <jas@extundo.com>
78164
78165         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78166         MinGW.
78167
78168 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78169
78170         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
78171         needed.  Some compiler complained about some of them.  Problem reported
78172         by Larry Jones in
78173         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
78174
78175 2006-06-21  Simon Josefsson  <jas@extundo.com>
78176
78177         * tests/test-getaddrinfo.c: New file.
78178
78179         * modules/getaddrinfo-tests: New file.
78180
78181         * MODULES.html.sh: Add inet_pton.
78182
78183         * modules/inet_pton: New file.
78184
78185 2006-06-21  Simon Josefsson  <jas@extundo.com>
78186
78187         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
78188         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
78189         of using the (limited) gnulib implementation on Windows XP.
78190
78191         * m4/inet_pton.m4: New file.
78192
78193 2006-06-21  Simon Josefsson  <jas@extundo.com>
78194
78195         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
78196         variable.
78197
78198         * lib/socket_.h: Don't define WINVER.
78199
78200         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
78201         slightly modified to work in gnulib.
78202
78203 2006-06-21  Simon Josefsson  <jas@extundo.com>
78204
78205         * doc/gnulib.texi (Windows sockets): Add.
78206
78207 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
78208
78209         * lib/read-file.c (fread_file): Start with buffer allocation of
78210         0 bytes rather than 1 byte; this simplifies the code.
78211         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
78212         code to free buffer and save/restore errno.
78213         (internal_read_file): Remove unused local.
78214
78215 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
78216
78217         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
78218         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
78219         Problem reported by Denis Excoffier in
78220         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
78221
78222 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78223
78224         * modules/sys_socket, modules/socklen: Include sys/types since
78225         FreeBSD 4.x's sys/socket.h needs it.
78226
78227 2006-06-19  Simon Josefsson  <jas@extundo.com>
78228
78229         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
78230
78231 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78232
78233         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
78234
78235 2006-06-19  Bruno Haible  <bruno@clisp.org>
78236
78237         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
78238         and FULL_PATH_INTTYPES_H in angle brackets.
78239         Reported by Mark D. Baushke <mdb@gnu.org>.
78240
78241 2006-06-17  Eric Blake  <ebb9@byu.net>
78242
78243         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
78244         errno.
78245
78246 2006-06-17  Bruno Haible  <bruno@clisp.org>
78247
78248         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
78249         <sys/inttypes.h>.
78250
78251 2006-06-17  Bruno Haible  <bruno@clisp.org>
78252
78253         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
78254         whether errno is declared. Assume <errno.h> declares errno.
78255
78256 2006-06-17  Bruno Haible  <bruno@clisp.org>
78257
78258         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
78259
78260 2006-06-17  Bruno Haible  <bruno@clisp.org>
78261
78262         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
78263         problem on Solaris 2.5.1.
78264
78265 2006-06-16  Eric Blake  <ebb9@byu.net>
78266
78267         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
78268         * lib/unicodeio.c [!defined errno]: Likewise.
78269         * lib/strtol.c [!defined errno]: Likewise.
78270         * lib/strtod.c [!defined errno]: Likewise.
78271
78272 2006-06-15  Eric Blake  <ebb9@byu.net>
78273
78274         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
78275
78276 2006-06-15  Eric Blake  <ebb9@byu.net>
78277
78278         * config/srclist.txt (ssize_t.m4): Lose sync.
78279
78280 2006-06-15  Bruno Haible  <bruno@clisp.org>
78281
78282         * modules/stdint (Files): Include m4/full-header-path.m4,
78283         m4/size_max.m4, m4/wchar_t.m4.
78284         (Makefile.am): Many more substitutions.
78285         * modules/stdint-tests: New file.
78286         * tests/test-stdint.c: New file.
78287
78288 2006-06-15  Bruno Haible  <bruno@clisp.org>
78289
78290         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
78291         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
78292         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
78293         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
78294         gl_CHECK_TYPE_SAME): New macros.
78295
78296 2006-06-15  Bruno Haible  <bruno@clisp.org>
78297
78298         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
78299
78300 2006-06-15  Bruno Haible  <bruno@clisp.org>
78301
78302         * lib/stdint_.h: Rewritten to be fully auto-configured.
78303         Fixes bug on HP-UX/IA64.
78304
78305 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
78306
78307         * lib/getdate.y (__attribute__): Don't define if already defined.
78308         Problem reported by Larry Jones.
78309         * lib/utimens.c (__attribute__): Likewise.
78310
78311 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
78312
78313         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
78314         reported by Andreas Schwab.
78315
78316 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78317             Bruno Haible  <bruno@clisp.org>
78318
78319         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
78320         check for the declaration of strnlen and a run test that exposes the
78321         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
78322         rpl_strndup.
78323
78324 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78325             Bruno Haible  <bruno@clisp.org>
78326
78327         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
78328
78329 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78330
78331         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
78332         compile test, for Tru64 4.0D.
78333
78334 2006-05-28  Karl Berry  <karl@gnu.org>
78335
78336         * config/srclist.txt (printf-args.c): lose sync.
78337
78338 2006-05-26  Martin Lambers  <marlam@marlam.de>
78339
78340         * lib/getpass.c: Updates the test for the native W32 API, and adds
78341         missing includes, thus fixing compilation warnings.
78342
78343 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
78344
78345         * lib/exclude.c (exclude_fnmatch): New function.
78346         (excluded_file_name): Call exclude_fnmatch.
78347         * lib/exclude.h (excluded_file_name): New prototype
78348
78349 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
78350
78351         * lib/tempname.c (small_open, large_open): New macros.
78352         (__open, __open64) [!_LIBC]: Remove.
78353         (__gen_tempname): Use small_open and large_open instead of __open
78354         and __open64.  This fixes a portability bug on HP-UX 11.11i
78355         reported by Simon Wing-Tang in
78356         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
78357
78358 2006-05-24  Bruno Haible  <bruno@clisp.org>
78359
78360         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
78361         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
78362         Reported by Thorsten Maerz <torte@netztorte.de> via
78363         Aaron Stone <aaron@serendipity.cx>.
78364
78365 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78366
78367         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
78368         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
78369         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
78370         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
78371         not really conditional on the cache.
78372         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
78373
78374 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
78375
78376         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
78377         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
78378         (my_usleep): Don't mishandle maximum value.
78379
78380 2006-05-19  Jim Meyering  <jim@meyering.net>
78381
78382         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
78383
78384 2006-05-17  Bruno Haible  <bruno@clisp.org>
78385
78386         Cygwin portability.
78387         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
78388
78389 2006-05-17  Bruno Haible  <bruno@clisp.org>
78390
78391         * lib/stdint_.h: Fix recognition of Cygwin.
78392
78393 2006-05-15  Bruno Haible  <bruno@clisp.org>
78394
78395         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
78396         on libtool patch by Ralf Wildenhues.
78397
78398 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78399
78400         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
78401         test for C99 conformance; (bool) 0.5 is an integer constant
78402         expression, but (bool) -0.5 is not.  Problem reported by Fedor
78403         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
78404
78405 2006-05-11  Simon Josefsson  <jas@extundo.com>
78406
78407         * m4/xvasprintf.m4: Fix obvious typo.
78408
78409 2006-05-11  Jim Meyering  <jim@meyering.net>
78410
78411         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
78412         James Lemley.
78413
78414 2006-05-10  Simon Josefsson  <jas@extundo.com>
78415
78416         * lib/md4.c: Typo fix, update copyright years.
78417         (K1, K2): Don't use L because it turn computations into 64-bit on
78418         64-bit platforms.
78419
78420 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
78421
78422         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
78423         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
78424         unwanted sign propagation, e.g., on hosts with 64-bit int.
78425         There still are some problems with reeelly weird theoretical hosts
78426         (e.g., 33-bit int) but it's not worth worrying about now.
78427         * lib/sha1.c (rol): Likewise.
78428         (K1, K2, K3, K4): Remove unnecessary L suffix.
78429
78430 2006-05-10  Bruno Haible  <bruno@clisp.org>
78431
78432         * lib/des.c: Cast to avoid warnings.
78433
78434 2006-05-09  Bruno Haible  <bruno@clisp.org>
78435
78436         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
78437         (Depends-on): Depend also on xsize, stdarg.
78438         (configure.ac): Add gl_XVASPRINTF.
78439
78440 2006-05-09  Bruno Haible  <bruno@clisp.org>
78441
78442         * m4/xvasprintf.m4: New file.
78443
78444 2006-05-09  Bruno Haible  <bruno@clisp.org>
78445
78446         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
78447         (EOVERFLOW): Define fallback value.
78448         (xstrcat): New function.
78449         (xvasprintf): Recognize the special case of a string concatenation.
78450
78451 2006-05-08  Eric Blake  <ebb9@byu.net>
78452
78453         * gnulib-tool (func_version): Base copyright year on CVS date.
78454         (func_emit_copyright_notice): New function.
78455         (func_emit_lib_Makefile_am): Use it.
78456         (func_emit_tests_Makefile_am): Likewise.
78457         (func_import): Likewise.
78458
78459 2006-05-08  Bruno Haible  <bruno@clisp.org>
78460
78461         * modules/stdarg: New file.
78462         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
78463
78464 2006-05-08  Bruno Haible  <bruno@clisp.org>
78465
78466         * m4/stdarg.m4: New file, from GNU gettext.
78467
78468 2006-05-08  Bruno Haible  <bruno@clisp.org>
78469
78470         * config/srclist.txt (build-aux/config.rpath): different from latest
78471         release.
78472
78473 2006-05-08  Bruno Haible  <bruno@clisp.org>
78474
78475         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
78476
78477 2006-05-05  Jim Meyering  <jim@meyering.net>
78478
78479         * m4/warning.m4: New file, derived from bison's file by the same name.
78480
78481 2006-05-03  Bruno Haible  <bruno@clisp.org>
78482
78483         * lib/stdint_.h: Shorter URL.
78484         * lib/inttypes.h: Likewise.
78485
78486 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78487
78488         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
78489
78490 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78491
78492         * lib/verify.h: Document the internals better.  Most of this change
78493         was written by Bruno Haible.
78494
78495 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
78496
78497         * doc/verify.texi: New file, partly based on a proposal by
78498         Bruno Haible.
78499
78500 2006-05-02  Bruno Haible  <bruno@clisp.org>
78501
78502         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
78503         test from here...
78504         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
78505
78506 2006-04-29  Bruno Haible  <bruno@clisp.org>
78507
78508         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
78509         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
78510
78511 2006-04-29  Bruno Haible  <bruno@clisp.org>
78512
78513         * gnulib-tool: Make --update option actually work.
78514
78515 2006-04-29  Bruno Haible  <bruno@clisp.org>
78516
78517         * doc/gcd.texi: New file.
78518         * doc/gnulib.texi: Include it.
78519
78520 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         * lib/getdate.y (get_date): When adding relative date, start with the
78523         initial time, not with the result of the first mktime call.
78524
78525 2006-04-25  Bruno Haible  <bruno@clisp.org>
78526
78527         * gnulib-tool (func_import): Output the include directives in three
78528         blocks, sorted separately.
78529         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78530
78531 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78532
78533         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
78534         to define main with arguments, for C++.  Reported by Eric Blake.
78535         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
78536         Prefer 'int main ()' to 'int main (void)', for C++.
78537         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
78538         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
78539         for 'main', for C99 and C++.
78540
78541 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
78542
78543         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
78544         Don't assume that exit status -1 is valid.
78545         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78546         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78547         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
78548         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
78549         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
78550         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
78551         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
78552         functions can be used without declaring them, or that you can
78553         exit with status -1.
78554         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
78555
78556 2006-04-24  Karl Berry  <karl@gnu.org>
78557
78558         * config/srclist.txt (longdouble.m4): sync lost.
78559
78560 2006-04-24  Eric Blake  <ebb9@byu.net>
78561
78562         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
78563
78564 2006-04-24  Bruno Haible  <bruno@clisp.org>
78565
78566         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
78567         poll() implementation in AIX.
78568         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78569
78570 2006-04-24  Bruno Haible  <bruno@clisp.org>
78571
78572         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
78573         assigned exactly once.
78574
78575 2006-04-23  Claudio Fontana  <claudio@gnu.org>
78576             Bruno Haible  <bruno@clisp.org>
78577
78578         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
78579         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
78580         for AM_CPPFLAGS.
78581
78582 2006-04-23  Bruno Haible  <bruno@clisp.org>
78583
78584         * modules/copy-file: Depend on unistd.
78585         * modules/execute: Likewise.
78586         * modules/fatal-signal: Likewise.
78587         * modules/findprog: Likewise.
78588         * modules/mkdtemp : Likewise.
78589         * modules/pipe: Likewise.
78590         * modules/wait-process: Likewise.
78591
78592 2006-04-23  Bruno Haible  <bruno@clisp.org>
78593
78594         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
78595         condition was already detected.
78596         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78597
78598 2006-04-23  Bruno Haible  <bruno@clisp.org>
78599
78600         * lib/copy-file.c: Include <unistd.h> unconditionally.
78601         * lib/execute.c: Likewise.
78602         * lib/fatal-signal.c: Likewise.
78603         * lib/findprog.c: Likewise.
78604         * lib/mkdtemp.c: Likewise.
78605         * lib/pipe.h: Likewise.
78606         * lib/pipe.c: Likewise.
78607         * lib/wait-process.h: Likewise.
78608
78609 2006-04-23  Bruno Haible  <bruno@clisp.org>
78610
78611         * gnulib-tool (func_usage): Fix --import description. Document
78612         --update.
78613         (func_import): Create temporary file in a temporary directory, if
78614         --dry-run is specified. Silence errors from 'grep' when there are no
78615         m4 files in $m4dir.
78616         (func_create_testdir): Silence errors from 'grep' when there are no
78617         m4 files in $m4dir.
78618         Reported by Karl Berry <karl@freefriends.org>.
78619
78620 2006-04-20  Bruno Haible  <bruno@clisp.org>
78621
78622         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
78623         one argument, so that the code will be portable to Autoconf 2.60.
78624         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
78625         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78626         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
78627
78628 2006-04-19  Derek Price  <derek@ximbiot.com>
78629             Eric Blake  <ebb9@byu.net>
78630
78631         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
78632         rather than "/full/path.h".  Update comment to match.  Shorten &
78633         generalize m4_translit call via AS_TR_CPP.
78634
78635 2006-04-19  Derek Price  <derek@ximbiot.com>
78636             Eric Blake  <ebb9@byu.net>
78637
78638         * lib/inttypes.h: Correct grammar in comment.
78639
78640 2006-04-18  Derek Price  <derek@ximbiot.com>
78641             Paul Eggert  <eggert@cs.ucla.edu>
78642
78643         * modules/inttypes: New file.
78644         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
78645
78646 2006-04-18  Derek Price  <derek@ximbiot.com>
78647             Paul Eggert  <eggert@cs.ucla.edu>
78648
78649         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
78650         New files.
78651
78652 2006-04-18  Derek Price  <derek@ximbiot.com>
78653             Paul Eggert  <eggert@cs.ucla.edu>
78654
78655         * lib/inttypes.h: New file.
78656         * lib/strtoimax.c: Assume <inttypes.h>.
78657
78658 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
78659
78660         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
78661         isn't mounted.  Problem reported by Kir Kolyshkin.
78662
78663 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
78664
78665         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
78666         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
78667         Derek R. Price.
78668         * lib/regex.h (RE_DUP_MAX): Update comment to match current
78669         implementation.
78670
78671 2006-04-12  Eric Blake  <ebb9@byu.net>
78672
78673         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
78674         is now done automatically by the corresponding Autoconf macro.
78675
78676 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
78677
78678         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
78679         time_r.h.
78680
78681 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78682
78683         Merge regex changes from libc, removing some of our
78684         POSIX-conformance changes that were rejected and redoing them in a
78685         less-intrusive way.
78686
78687         * lib/regcomp.c (re_compile_internal, init_dfa):
78688         Length arg is now size_t, not Idx.  All uses changed.
78689         (peek_token): Forward decl now says internal_function.
78690         (__re_error_msgid, __re_error_msgid_idx):
78691         Now static rather than extern with attribute_hidden.
78692         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
78693         For some reason libc prefers K&R style defns for external functions.
78694         (regerror) [!defined _LIBC]: Likewise.
78695         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
78696         (seek_collating_symbol_entry, lookup_collation_sequence_value):
78697         (build_range_exp, build_collating_symbol):
78698         Use K&R-style defn.
78699         (re_compile_fastmap): Use '\0' to memset, not 0.
78700         (utf8_sb_map): Make the calculations more obvious.
78701         (init_dfa, parse_bracket_exp, build_charclass_op):
78702         Call calloc and cast result, as glibc does.
78703         (init_word_char, fetch_token, peek_token, peek_token_bracket):
78704         (build_range_exp, build_collating_symbol):
78705         Now internal functions.
78706
78707         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
78708
78709         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
78710         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
78711         Don't depend on VMS; depend on __VMS instead, for POSIX
78712         namespace cleanness.
78713         (regoff_t): Define to ssize_t, not long int.
78714
78715         Remove the REG_ macros named below.  Instead, make the old names
78716         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
78717         __USE_GNU_REGEX.
78718         (REG_BACKSLASH_ESCAPE_IN_LISTS):
78719         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
78720         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
78721         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
78722         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
78723         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
78724         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
78725         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
78726         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
78727         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
78728         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
78729         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
78730         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
78731         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
78732         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
78733         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
78734         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
78735         (REG_NREGS):
78736         Remove.  All uses replaced by the old RE_* names.
78737         (RE_BACKSLASH_ESCAPE_IN_LISTS):
78738         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
78739         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
78740         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
78741         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
78742         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
78743         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
78744         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
78745         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
78746         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
78747         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
78748         Don't bother having these macros be independent of each others'
78749         values, since they no longer exist in the POSIX name space.
78750
78751         Rename the following member names back to their old names,
78752         unless !__USE_GNU_REGEX.  All uses changed back.
78753         (buffer): Renamed from re_buffer.
78754         (allocated): Renamed from re_allocated.
78755         (used): Renamed from re_used.
78756         (syntax): Renamed from re_syntax.
78757         (fastmap): Renamed from re_fastmap.
78758         (translate): Renamed from re_translate.
78759         (can_be_null): Renamed from re_can_be_null.
78760         (regs_allocated): Renamed from re_regs_allocated.
78761         (fastmap_accurate): Renamed from re_fastmap_accurate.
78762         (no_sub): Renamed from re_no_sub.
78763         (not_bol): Renamed from re_not_bol.
78764         (not_eol): Renamed from re_not_eol.
78765         (newline_anchor): Renamed from re_newline_anchor.
78766         (num_regs): Renamed from rm_num_regs.
78767         (start): Renamed from rm_start.
78768         (end): Renamed from rm_end.
78769
78770         (free_state): Move up a bit.
78771
78772         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
78773         #define to be empty.
78774         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
78775         when that is what is intended.
78776         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
78777         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
78778         (MAX): New macro.
78779         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
78780         All uses changed back to re_malloc, etc.  It's now the caller's
78781         responsibility to check for overflow; all callers changed.
78782         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
78783         (re_x2nrealloc): Remove.
78784         (free_state): Remove decl.
78785
78786         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
78787         (re_set_registers, re_exec):
78788         Use K&R-style defn.
78789
78790         2006-01-31  Roland McGrath  <roland@redhat.com>
78791
78792         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
78793         Reported by Mike Frysinger <vapier@gentoo.org>.
78794
78795         2006-01-15  Andreas Jaeger  <aj@suse.de>
78796
78797         [BZ #1950]
78798         * lib/regex_internal.c (re_string_reconstruct): Adjust for
78799         build_wcs_upper_buffer change.
78800         (build_wcs_upper_buffer): Change return type.
78801
78802         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
78803
78804         * lib/regex_internal.h: Include <stdint.h> if available.
78805
78806         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
78807
78808         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
78809
78810         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
78811
78812         * lib/regcomp.c: Adjust for changed secondary hash function.
78813
78814         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
78815
78816         * lib/regex.h: Pretty printing.
78817         Clean up namespace a bit.
78818
78819         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
78820
78821         * lib/regexec.c (update_cur_sifted_state, check_arrival,
78822         check_arrival_add_next_nodes): Avoid using uninitialized variable.
78823
78824         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78825                     Ulrich Drepper  <drepper@redhat.com>
78826
78827         [BZ #1302]
78828         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
78829         changed.
78830         (bitset_word_t): Renamed from bitset_word.  All uses changed.
78831
78832         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
78833
78834         [BZ #281]
78835         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
78836         * lib/regcomp.c: Remove unnecessary uses of
78837         unsigned RE_TRANSLATE_TYPE.
78838         * lib/regex_internal.h: Likewise.
78839         * lib/regex_internal.c: Likewise.
78840         * lib/regexec.c: Likewise.
78841         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
78842
78843         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
78844
78845         * lib/regexec.c (find_recover_state): Remove unnecessary
78846         initialization.
78847         (transit_state_bkref): Make DFA a const pointer.
78848         (get_subexp): Likewise.
78849         (check_arrival): Likewise.
78850         (update_cur_sifted_state): Likewise.
78851         (re_search_internal): Likewise.
78852         (prune_impossible_nodes): Likewise.
78853         (acquire_init_state_context): Likewise.
78854         (proceed_next_node): Likewise.
78855         (set_regs): Likewise.
78856         (free_fail_stack_return): Likewise.
78857         (check_arrival_expand_ecl): Mark DFA parameter as const.
78858         (check_arrival_expand_ecl_sub): Likewise.
78859         (check_subexp_limits): Likewise.
78860         (sub_epsilon_src_nodes):  Likewise.
78861         (add_epsilon_src_nodes):  Likewise.
78862         (merge_state_array): Likewise.
78863         (update_regs): Likewise.
78864         (build_trtable): Likewise.
78865         (sift_states_backward): Mark MCTX parameter as const.
78866         (build_sifted_states): Likewise.
78867         (update_cur_sifted_state): Likewise.
78868         (sift_states_mkref): Likewise.
78869         (check_arrival_expand_ecl): Mark eclosure as const.
78870         (check_dst_limits_calc_pos_1): Likewise.
78871         * lib/regex_internal.h (re_match_context_t): Make dfa a const
78872         pointer.
78873
78874         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
78875
78876         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
78877         (transit_state_sb): Likewise.
78878         (transit_state_mb): Likewise.
78879         (sift_states_iter_mb): Likewise.
78880         (check_arrival_add_next_nodes): Likewise.
78881         (check_node_accept_bytes): Change first parameter to pointer-to-const.
78882         [_LIBC] (re_search_2_stub): Use mempcpy.
78883
78884         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
78885         mbrtowc for very simple UTF-8 case.
78886
78887         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
78888         a pointer-to-const.
78889         (re_acquire_state_context): Likewise.
78890         * lib/regex_internal.h: Adjust prototypes.
78891
78892         * lib/regex.c: Prevent using C++ compilers.
78893
78894         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
78895         (re_acquire_state_context): Likewise.
78896
78897 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78898
78899         * modules/regex (Depends-on): Add ssize_t.
78900
78901 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78902
78903         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
78904         translation table.
78905
78906 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
78907
78908         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
78909
78910 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
78911             Bruno Haible  <bruno@clisp.org>
78912
78913         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
78914         <sys/types.h> and <inttypes.h>.
78915
78916 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78917
78918         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
78919         `__error_t_defined', so argp.h will not typedef the former.
78920
78921 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
78922
78923         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
78924         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
78925         glibc names.  Even if glibc is changed to conform to POSIX, the
78926         traditional names will be available anyway, since regex depends on
78927         the extensions module.  Also, fix a longstanding typo in the
78928         implementation of Spencer ERE test #75 from grep 2.3.  Problems
78929         reported by Emanuele Giaquinta.  Also, change sense of cached
78930         variable, so that the message makes sense.
78931
78932 2006-03-24  Simon Josefsson  <jas@extundo.com>
78933
78934         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
78935         including some doc fixes.
78936         (base64_encode_alloc): Fix +1 bug on allocation failures.
78937
78938 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78939
78940         * lib/base64.c (base64_encode): Do not read past end of array with
78941         unsanitized input on systems with CHAR_BIT > 8.
78942
78943 2006-03-24  Eric Blake  <ebb9@byu.net>
78944
78945         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
78946
78947 2006-03-22  Karl Berry  <karl@gnu.org>
78948
78949         * config/srclist.txt (*setenv.[ch]): get from coreutils.
78950         * config/srclistvars.sh (COREUTILS): new var.
78951
78952 2006-03-17  Jim Meyering  <jim@meyering.net>
78953
78954         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
78955         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
78956
78957 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78958
78959         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
78960         no longer needs it.  Instead, check that regoff_t is as least
78961         as wide as ptrdiff_t.
78962
78963         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
78964         so that our regex.h stays compatible with the installed regex.
78965         This is helpful for installers who configure --without-included-regex.
78966         Problem reported by Emanuele Giaquinta.
78967
78968 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
78969
78970         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
78971         Typedef to long int, not to off_, as POSIX will likely change
78972         in that direction.
78973
78974 2006-03-15  Eric Blake  <ebb9@byu.net>
78975
78976         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
78977
78978 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
78979
78980         * lib/argp-help.c (validate_uparams): Fix typo
78981         * lib/argp-parse.c (argp_default_options): Consistently begin help
78982         messages with a lowercase letter.
78983
78984 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
78985
78986         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
78987         overrun buffers and shouldn't be used (much as gets shouldn't be
78988         used).
78989         * lib/time_r.c (asctime_r, ctime_r): Likewise.
78990
78991 2006-03-08  Simon Josefsson  <jas@extundo.com>
78992
78993         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
78994         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78995
78996 2006-03-08  Simon Josefsson  <jas@extundo.com>
78997
78998         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
78999         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79000
79001 2006-03-08  Simon Josefsson  <jas@extundo.com>
79002
79003         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79004         signal that configure disabled the device.
79005
79006 2006-03-08  Simon Josefsson  <jas@extundo.com>
79007
79008         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79009         languages.
79010
79011 2006-03-07  Simon Josefsson  <jas@extundo.com>
79012
79013         * modules/getopt (Depends-on): Add unistd.
79014
79015         * modules/unistd: New file.
79016
79017 2006-03-07  Simon Josefsson  <jas@extundo.com>
79018
79019         * modules/gc-random: New file.
79020
79021 2006-03-07  Simon Josefsson  <jas@extundo.com>
79022
79023         * m4/unistd_h.m4: New file.
79024
79025 2006-03-07  Simon Josefsson  <jas@extundo.com>
79026
79027         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79028         test to be side-effect free by storing the result in the cache
79029         variable gl_cv_lib_readline, and moving the assignment of
79030         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79031         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79032
79033 2006-03-07  Simon Josefsson  <jas@extundo.com>
79034
79035         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79036         error on missing devices (the functions will return an error).
79037
79038         * m4/gc.m4: Move random stuff to gc-random.m4
79039
79040 2006-03-07  Simon Josefsson  <jas@extundo.com>
79041
79042         * lib/unistd_.h: New file.
79043
79044 2006-03-07  Simon Josefsson  <jas@extundo.com>
79045
79046         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79047
79048 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79049
79050         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79051         Problem reported by Juan Manuel Guerrero.
79052
79053 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79054
79055         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79056         the unistd module.
79057         * lib/getlogin_r.c: Likewise.
79058         * lib/getlogin_r.h: Likewise.
79059         * lib/glob.c: Likewise.
79060         * lib/pagealign_alloc.c: Likewise.
79061         * lib/unistd_.h: Remove; no longer needed.
79062
79063 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79064
79065         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79066         Add unistd.
79067         * modules/c-stack (Depends-on): Add unistd.
79068         * modules/getlogin_r: Likewise.
79069         * modules/glob: Likewise.
79070         * modules/pagealign_alloc: Likewise.
79071         * modules/unistd (Files): Remove lib/unistd_.h.
79072         (EXTRA_DIST): Remove.
79073         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79074         need unistd_.h.
79075         (MOSTLYCLEANFILES): Remove unistd.h-t.
79076
79077 2006-03-03  Simon Josefsson  <jas@extundo.com>
79078
79079         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79080
79081 2006-03-03  Simon Josefsson  <jas@extundo.com>
79082
79083         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79084         libidn and bison.
79085
79086 2006-03-03  Simon Josefsson  <jas@extundo.com>
79087
79088         * build-aux/maint.mk: Add indent target.
79089
79090 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79091
79092         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79093         our replacement poll.h in any case, to avoid a differing
79094         declaration from a system header.  Seen on AIX.
79095
79096 2006-03-01  Simon Josefsson  <jas@extundo.com>
79097
79098         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79099         <kasal@ucw.cz>.
79100
79101 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79102
79103         * modules/gettime (Depends-on): Add extensions module.
79104         * modules/nanosleep (Depends-on): Likewise.
79105         * modules/settime (Depends-on): Likewise.
79106
79107 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79108
79109         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79110         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79111         pedantically.
79112         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79113         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79114
79115         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79116         not "==".  Reported by Ralf Wildenhues.
79117
79118 2006-03-01  Karl Berry  <karl@gnu.org>
79119
79120         * doc/Copyright/request-*: new files, synced from gnuorg.
79121
79122 2006-03-01  Karl Berry  <karl@gnu.org>
79123
79124         * config/srclist.txt (Copyright/*): new entries.
79125
79126 2006-02-28  Simon Josefsson  <jas@extundo.com>
79127
79128         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79129
79130 2006-02-27  Simon Josefsson  <jas@extundo.com>
79131
79132         * lib/base64.h: Indent #define's.  From Jim Meyering
79133         <jim@meyering.net>.
79134
79135 2006-02-27  Jim Meyering  <jim@meyering.net>
79136
79137         Revert the change of 2006-02-24, so these files can continue
79138         to be sync'd from gettext.
79139         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79140         of `config.h'.
79141
79142 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79143
79144         * modules/intprops: New file.
79145         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79146         Add intprops.
79147         * modules/getloadavg (Files): Remove lib/intprops.h.
79148         (Depends-on): Add intprops.
79149         * modules/human: Likewise.
79150         * modules/inttostr: Likewise.
79151         * modules/openat: Likewise.
79152         * modules/sig2str: Likewise.
79153         * modules/userspec: Likewise.
79154         * modules/utimecmp: Likewise.
79155         * modules/xnanosleep: Likewise.
79156         * modules/xstrtol: Likewise.
79157
79158 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79159
79160         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79161         * modules/lock-tests (TESTS): Use $(EXEEXT).
79162         * modules/tls-tests: Likewise.
79163         * modules/argp-tests: Likewise.
79164         (check_PROGRAMS): New var, replacing...
79165         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79166
79167 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79168
79169         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79170         `config.h'.
79171
79172 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
79173
79174         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
79175
79176 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79177
79178         Sync from coreutils.
79179         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
79180         gl_CHDIR_SAFER.
79181
79182 2006-02-22  Jim Meyering  <jim@meyering.net>
79183
79184         Sync from coreutils.
79185         * m4/chdir-safer.m4: New file.
79186
79187 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
79188
79189         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
79190         AT_FDCWD exceeds INT_MAX.
79191         * lib/openat.h (AT_FDCWD): Likewise.
79192
79193 2006-02-17  Eric Blake  <address@hidden>
79194
79195         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
79196
79197 2006-02-16  Simon Josefsson  <jas@extundo.com>
79198
79199         * modules/getaddrinfo (Depends-on): Add sys_socket.
79200
79201 2006-02-15  Simon Josefsson  <jas@extundo.com>
79202
79203         * build-aux/maint.mk: Add dsyntax-check rule.
79204
79205 2006-02-15  Eric Blake  <ebb9@byu.net>
79206
79207         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
79208         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
79209         'present but cannot compile' warnings on cygwin.
79210         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
79211         use ws2tcpip.h if sys/socket.h works.
79212         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
79213         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
79214
79215 2006-02-14  Simon Josefsson  <jas@extundo.com>
79216
79217         * modules/maintainer-makefile (Files): Rename.
79218
79219         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
79220         and (the local) Makefile.cfg to maint-cfg.mk.
79221
79222         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
79223         to the latter.
79224
79225         * modules/maintainer-makefile: New module.
79226
79227         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
79228         severaly stripped to make it possible to build it up from scratch
79229         with reliable tests.
79230
79231         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
79232         fixes to permit overriding the default actions when configure and
79233         makefile are not available.
79234
79235 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
79236
79237         Sync from coreutils.
79238         * modules/lstat (Depends-on): Don't depend on xalloc.
79239         (License): Change from GPL to LGPL, since this is now simply a
79240         replacement for a libc function.
79241
79242 2006-02-14  Jim Meyering  <jim@meyering.net>
79243
79244         Sync from coreutils.
79245
79246         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
79247         failure on deficient systems, and simplify gnulib lgpl dependencies.
79248         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
79249         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
79250
79251         * lib/xalloc-die.c: Remove unused definition of N_.
79252
79253 2006-02-14  Jim Meyering  <jim@meyering.net>
79254
79255         Sync from coreutils.
79256         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
79257         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
79258         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
79259         double-quote uses of that variable, to accommodate the rare case in
79260         which getmntent is available in none of the libraries checked.  This
79261         happens at least on FreeBSD 5.0.
79262
79263 2006-02-13  Simon Josefsson  <jas@extundo.com>
79264
79265         * gnulib-tool (Usage): Fix --import, from
79266         karl@freefriends.org (Karl Berry).
79267
79268 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79269
79270         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
79271
79272 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
79273
79274         * lib/argp-namefrob.h: Restore changes accidentally lost during the
79275         "autoupdate" on 2005-12-12.
79276
79277 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79278
79279         * modules/closeout (Depends-on): Remove atexit.
79280
79281 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
79282
79283         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
79284         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
79285
79286 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
79287
79288         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
79289         __EXTENSIONS__ if this causes compilation to fail.  Problem
79290         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
79291         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
79292
79293 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
79294
79295         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
79296         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
79297         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
79298         All uses changed.
79299
79300 2006-01-26  Simon Josefsson  <jas@extundo.com>
79301
79302         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
79303         prototype is visible on mingw32.
79304
79305         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
79306         for mingw32.
79307
79308         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
79309         mingw32).
79310
79311 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
79312
79313         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
79314         attempt to open for write; this always fails, at least on POSIX
79315         hosts.  This reinstates the 2006-01-09 change, which was
79316         inadvertently removed.
79317
79318 2006-01-26  Bruno Haible  <bruno@clisp.org>
79319
79320         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
79321         Reported by Paul Eggert.
79322
79323 2006-01-26  Bruno Haible  <bruno@clisp.org>
79324             Paul Eggert  <eggert@cs.ucla.edu>
79325
79326         * lib/stdbool_.h (_Bool)
79327         [(! (defined __cplusplus || defined __BEOS__)
79328           && !defined __GNUC__
79329           && !(defined __HP_cc || defined __xlc__
79330                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
79331                || defined __sgi))]:
79332         #define to signed char in these cases too; this simplifies
79333         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
79334         etc., separately) and makes it more conservative.
79335
79336 2006-01-25  Simon Josefsson  <jas@extundo.com>
79337
79338         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
79339         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
79340         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
79341
79342 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79343
79344         * lib/argp-namefrob.h: Bugfix. Remove stray #
79345
79346 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
79347
79348         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
79349         so that we test the test.
79350         Check for yet another HP-UX cc bug involving *bool |= bool.
79351
79352 2006-01-25  Karl Berry  <karl@gnu.org>
79353
79354         * config/srclist.txt (vasnprintf.c): sync lost.
79355
79356 2006-01-25  Jim Meyering  <jim@meyering.net>
79357
79358         Sync from the stable (b5) branch of coreutils:
79359
79360         * lib/fts.c (fts_children): Don't let close() clobber errno from
79361         failed fchdir().
79362
79363         * lib/fts.c (fts_stat): When following a symlink-to-directory,
79364         don't necessarily interpret stat-fails+lstat-succeeds as indicating
79365         a dangling symlink.  That can also happen at least for ELOOP.
79366         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
79367         FYI, this bug predates the inclusion of fts.c in coreutils.
79368
79369         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
79370         in their own block, so pre-c99 compilers don't object.
79371
79372         Avoid the double-free (first in fts_read, second in fts_close) that
79373         would occur when an `active' directory is made inaccessible (e.g.,
79374         via chmod a-x) during a traversal.
79375         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79376         before returning.  Reproduce this failure by
79377         mkdir -p a/b; cd a; chmod a-x . b
79378         Reported by Stavros Passas.
79379
79380 2006-01-25  Jim Meyering  <jim@meyering.net>
79381
79382         * lib/fileblocks.c: Remove more useless parentheses.
79383         * lib/readutmp.h: Likewise.
79384
79385 2006-01-25  Bruno Haible  <bruno@clisp.org>
79386
79387         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
79388         warnings.
79389         Reported by Paul Eggert.
79390
79391 2006-01-25  Bruno Haible  <bruno@clisp.org>
79392
79393         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
79394         rid of a trap command. For Solaris sh.
79395         Reported by Mark D. Baushke <mdb@gnu.org>.
79396
79397 2006-01-24  Simon Josefsson  <jas@extundo.com>
79398
79399         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
79400         Bruno.
79401
79402 2006-01-24  Karl Berry  <karl@gnu.org>
79403
79404         * config/srclist.txt (argp-namefrob.h): sync lost.
79405
79406 2006-01-24  Jim Meyering  <jim@meyering.net>
79407
79408         * modules/openat (Files): Add lib/intprops.h.
79409         From Mark D. Baushke.
79410
79411 2006-01-24  Jim Meyering  <jim@meyering.net>
79412
79413         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
79414         Reported by Mark D. Baushke.
79415
79416 2006-01-24  Jim Meyering  <jim@meyering.net>
79417
79418         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
79419
79420 2006-01-24  Bruno Haible  <bruno@clisp.org>
79421
79422         * modules/strnlen (Maintainer): Change from glibc to all.
79423
79424 2006-01-24  Bruno Haible  <bruno@clisp.org>
79425
79426         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
79427         Patch by Paul Eggert.
79428
79429 2006-01-24  Bruno Haible  <bruno@clisp.org>
79430
79431         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
79432         already has it.
79433         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
79434         2005-11-26.
79435
79436         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
79437         'signed char' to avoid problems with the built-in _Bool type.
79438         Reported by Paul Eggert on 2005-11-26.
79439
79440 2006-01-24  Bruno Haible  <bruno@clisp.org>
79441
79442         * gnulib-tool (func_import): Avoid constructing complicated sed
79443         expressions inside backquote.
79444         Report and solution by Mark D. Baushke <mdb@gnu.org>.
79445
79446 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
79447
79448         These changes imported from libc.
79449         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
79450         test and two separate function calls.
79451         * lib/strndup.c (__strndup): Add libc_hidden_def.
79452
79453 2006-01-23  Simon Josefsson  <jas@extundo.com>
79454
79455         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
79456         Remove the test_*_SOURCES variable: automake infers it by default.
79457         * modules/tls-tests: Likewise.
79458
79459 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79460
79461         Work around porting bugs reported by Dieter in
79462         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
79463         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
79464         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
79465         Include "getopt.h" first, to check interface.
79466         (getenv): Declare only if defined HAVE_DECL_GETENV &&
79467         !HAVE_DECL_GETENV.
79468         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
79469         (__strndup): Revert to K&R-style function dfns, the glibc style.
79470         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
79471         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
79472         Include strnlen.h first, to get prototype properly.
79473         (strnlen): Renamed from __strnlen.
79474         Remove weak alias.
79475
79476 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
79479
79480 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79481
79482         * config/srclist.txt: Adjust to reflect glibc reorganization.
79483         This affects only comments.
79484
79485 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79486
79487          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
79488          Reported by Bruce Korb <bkorb@gnu.org>.
79489
79490 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
79491
79492         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
79493         to pacify gcc -Wswitch-default.
79494
79495 2006-01-22  Bruno Haible  <bruno@clisp.org>
79496
79497         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
79498         temporary buffer for sprintf, take into account the precision also
79499         for 'd', 'i', 'u', 'o', 'x', 'X'.
79500
79501 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79502
79503         * modules/argp-tests: New module
79504         * tests/test-argp.c: New file
79505         * tests/test-argp-2.sh: New file
79506
79507 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
79508
79509         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
79510         (__argp_base_name): Removed
79511         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
79512         typo.
79513         (__argp_base_name): Provide macro definition or extern declaration
79514         depending on the configuration
79515
79516 2006-01-20  Simon Josefsson  <jas@extundo.com>
79517
79518         * modules/inet_ntop (Depends-on): Depend on sys_socket.
79519
79520 2006-01-20  Simon Josefsson  <jas@extundo.com>
79521
79522         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
79523
79524 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79525
79526         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
79527         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
79528         Suggested by Bruno Haible.
79529
79530 2006-01-20  Karl Berry  <karl@gnu.org>
79531
79532         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
79533         until changes propagate, I guess.
79534
79535 2006-01-19  Simon Josefsson  <jas@extundo.com>
79536
79537         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
79538
79539 2006-01-19  Simon Josefsson  <jas@extundo.com>
79540
79541         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
79542
79543 2006-01-19  Simon Josefsson  <jas@extundo.com>
79544
79545         * gnulib-tool: Set check_PROGRAMS.
79546
79547         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79548         modules/des-tests, modules/gc-arcfour-tests,
79549         modules/gc-arctwo-tests, modules/gc-des-tests,
79550         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79551         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79552         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79553         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79554         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79555         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
79556         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
79557         test_*_SOURCES.
79558
79559 2006-01-18  Simon Josefsson  <jas@extundo.com>
79560
79561         * modules/socklen (Depends-on): Depend on sys_socket.
79562
79563 2006-01-18  Simon Josefsson  <jas@extundo.com>
79564
79565         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
79566         modules/des-tests, modules/gc-arcfour-tests,
79567         modules/gc-arctwo-tests, modules/gc-des-tests,
79568         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
79569         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
79570         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
79571         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
79572         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
79573         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
79574         $(EXEEXT) to automake TESTS variable, for mingw32.
79575
79576 2006-01-17  Simon Josefsson  <jas@extundo.com>
79577
79578         * modules/socklen (Include): Need sys/socket.h.
79579
79580 2006-01-17  Bruno Haible  <bruno@clisp.org>
79581
79582         * modules/ssize_t (Include): Add <sys/types.h>.
79583
79584 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
79585
79586         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
79587         it's not portable and it doesn't work with cross-compiles.
79588         Problem reported by Bruno Haible.  Fix missing-$ typo in
79589         'test "gl_cv_ignore_unused_libraries" ...' that prevented
79590         -zignore from being used with Sun's C compiler.
79591
79592 2006-01-12  Simon Josefsson  <jas@extundo.com>
79593
79594         * lib/base64.c: Fix warning, reported by Bruno Haible
79595         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
79596
79597 2006-01-12  Bruno Haible  <bruno@clisp.org>
79598
79599         * modules/ldd: New file.
79600         * build-aux/ldd.sh.in: New file.
79601         * MODULES.html.sh (Support for building libraries and executables): Add
79602         ldd.
79603
79604 2006-01-12  Bruno Haible  <bruno@clisp.org>
79605
79606         * m4/ldd.m4: New file.
79607
79608 2006-01-12  Bruno Haible  <bruno@clisp.org>
79609
79610         * gnulib-tool (func_import, func_create_testdir): Don't go into an
79611         endless loop while replacing $auxdir with build-aux.
79612
79613 2006-01-11  Simon Josefsson  <jas@extundo.com>
79614
79615         * lib/stdint_.h (SIZE_MAX): Add missing (.
79616
79617 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
79618
79619         Sync from coreutils.
79620         * lib/md5.c: Fix commentary typos.
79621         (alignof, UNALIGNED_P): No need for a GCC-specific version.
79622         * lib/md5.h (__attribute__): Remove; unused.
79623         * lib/sha1.c: Fix commentary to match md5 better.
79624         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
79625         so that we don't need to worry about alignment.  All uses changed.
79626         This merges the 2005-10-28 md5 change into sha1.
79627
79628 2006-01-11  Jim Meyering  <jim@meyering.net>
79629
79630         Sync from coreutils.
79631         * lib/md5.c (OP): Fix spacing.
79632
79633 2006-01-11  Bruno Haible  <bruno@clisp.org>
79634
79635         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79636         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
79637         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
79638
79639 2006-01-11  Bruno Haible  <bruno@clisp.org>
79640
79641         Ensure automatic ordering between gl_LOCK and gl_ARGP.
79642         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
79643         the "early" section as well.
79644
79645 2006-01-11  Bruno Haible  <bruno@clisp.org>
79646
79647         Avoid "ar: no archive members specified" error on MacOS X.
79648         * gnulib-tool (func_modules_add_dummy): New function.
79649         (func_import, func_create_testdir): Invoke it.
79650
79651 2006-01-11  Bruno Haible  <bruno@clisp.org>
79652
79653         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
79654         with $auxdir in AC_CONFIG_FILES statements.
79655
79656 2006-01-11  Bruno Haible  <bruno@clisp.org>
79657
79658         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79659         Initialize also noinst_HEADERS to empty.
79660
79661 2006-01-11  Bruno Haible  <bruno@clisp.org>
79662
79663         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
79664         variables.
79665         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
79666         autoreconf.
79667
79668 2006-01-11  Bruno Haible  <bruno@clisp.org>
79669
79670         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
79671         overridable by the user.
79672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79673
79674 2006-01-10  Simon Josefsson  <jas@extundo.com>
79675
79676         * modules/sys_socket: New file.
79677
79678 2006-01-10  Simon Josefsson  <jas@extundo.com>
79679
79680         * m4/sys_socket_h.m4: New file.
79681
79682 2006-01-10  Simon Josefsson  <jas@extundo.com>
79683
79684         * lib/socket_.h: New file.
79685
79686 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79687
79688         * modules/readutmp (Maintainer): Add myself.
79689
79690 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79691
79692         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
79693         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
79694         People who are still concerned with buggy memcmp implementations
79695         can invoke gl_FUNC_MEMCMP themselves.
79696
79697 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
79698
79699         * lib/regex_internal.h (BITSET_WORD_BITS):
79700         Work around a bug in 64-bit PGC (before version 6.1-2), where the
79701         preprocessor mishandles large unsigned values as if they were signed.
79702         Problem reported by Claudio Fontana in
79703         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
79704
79705 2006-01-10  Jim Meyering  <jim@meyering.net>
79706
79707         Avoid the double-free (first in fts_read, second in fts_close) that
79708         would occur when an `active' directory is made inaccessible (e.g.,
79709         via chmod a-x) during a traversal.
79710         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
79711         before returning.  Reproduce this failure by
79712         mkdir -p a/b; cd a; chmod a-x . b
79713         Reported by Stavros Passas.
79714
79715         Sync from coreutils.
79716         * lib/sha1.c: Tweak grammar in a comment.
79717
79718 2006-01-10  Jim Meyering  <jim@meyering.net>
79719
79720         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
79721         Patch by Joerg Sonnenberger.
79722
79723 2006-01-10  Bruno Haible  <bruno@clisp.org>
79724
79725         * modules/readutmp: Depend on module free.
79726         * modules/strtok_r: Depend on module restrict.
79727
79728 2006-01-10  Bruno Haible  <bruno@clisp.org>
79729
79730         * modules/gettext (configure.ac): Add an invocation of
79731         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
79732
79733 2006-01-10  Bruno Haible  <bruno@clisp.org>
79734
79735         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
79736         Reported by Werner Lemberg <wl@gnu.org>.
79737
79738 2006-01-10  Bruno Haible  <bruno@clisp.org>
79739
79740         * lib/localcharset.c: Update from GNU gettext.
79741
79742 2006-01-10  Bruno Haible  <bruno@clisp.org>
79743
79744         * lib/argp.h (__const): Remove macro. Use const instead.
79745         * lib/argp-fmtstream.h (__const): Likewise.
79746         * lib/glob_.h (__const): Remove macro.
79747         * lib/glob-libc.h: Use const instead of __const.
79748
79749 2006-01-10  Bruno Haible  <bruno@clisp.org>
79750
79751         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
79752         variable.
79753         Needed to avoid an automake error regarding the 'gettext' module.
79754
79755 2006-01-09  Simon Josefsson  <jas@extundo.com>
79756
79757         * modules/inet_ntop (Depends-on): Add restrict.
79758
79759 2006-01-09  Simon Josefsson  <jas@extundo.com>
79760
79761         * modules/gc-rijndael-tests (License): Put under LGPL.
79762
79763         * modules/gc-des-tests (License): Likewise.
79764
79765         * modules/gc-arcfour-tests (License): Likewise.
79766
79767         * modules/gc-arctwo-tests (License): Likewise.
79768
79769         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
79770
79771         * modules/gc-hmac-sha1-tests (Files): Likewise.
79772
79773         * modules/gc-hmac-md5-tests (License): Likewise.
79774
79775         * modules/gc-sha1-tests (License): Likewise.
79776
79777         * modules/gc-md5-tests (License): Likewise.
79778
79779         * modules/gc-md4-tests (License): Likewise.
79780
79781         * modules/gc-md2-tests (License): Likewise.
79782
79783         * modules/gc-tests (License): Likewise.
79784
79785         * modules/des-tests (License): Likewise.
79786
79787         * modules/md4-tests (License): Likewise.
79788
79789         * modules/md2-tests (License): Likewise.
79790
79791 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79792
79793         Sync from coreutils:
79794
79795         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
79796         * modules/lib-ignore: New file.
79797         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
79798         chdir-safer.m4, lchmod.m4.
79799         * modules/openat: Add mkdirat.c, openat-priv.h.
79800
79801 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79802
79803         Sync from coreutils.
79804         * m4/lib-ignore.m4: New file.
79805         * m4/lchmod.m4: New file.
79806
79807 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79808
79809         Sync from coreutils.
79810         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
79811         for write access: POSIX says that must fail.
79812         * lib/fts.c (diropen): Likewise.
79813         * lib/save-cwd.c (save_cwd): Likewise.
79814         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
79815         well, for minor improvements on hosts that lack O_DIRECTORY.
79816         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
79817         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
79818         Fall back on chown if open failed with EACCES.
79819
79820         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
79821         Report an error at compile-time if only a 1-second nominal clock
79822         resolution is found.
79823
79824         * lib/lchmod.h: New file.
79825         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
79826         (make_dir_parents): Use lchown rather than chown, and
79827         lchmod rather than chmod.
79828
79829         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
79830         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
79831         "proc" reported by n0dalus.
79832
79833         * lib/mountlist.c: Include <limits.h>.
79834         (dev_from_mount_options)
79835         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
79836         New function.  It no longer assumes "dev=" has the System V meaning
79837         on Linux (since it doesn't).  It also parses "dev=" more carefully.
79838         (read_file_system_list)
79839         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
79840         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
79841         dev= in that case.
79842
79843         * lib/posixtm.h (PDS_PRE_2000): New macro.
79844         * lib/posixtm.c (year): Arg is now syntax_bits rather than
79845         allow_century.  All usages changed.  Reject dates outside the range
79846         1969-1999 if PDS_PRE_2000 is used.
79847
79848 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
79849
79850         Sync from coreutils.
79851         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
79852         (Time of day items): Mention the possibility of leap seconds.
79853         Problem reported by Dr. David Alan Gilbert.
79854
79855 2006-01-09  Jim Meyering  <jim@meyering.net>
79856
79857         Sync from coreutils.
79858
79859         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
79860
79861         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
79862
79863         * lib/modechange.c (mode_compile): Reject an invalid mode string
79864         that starts with an octal digit.  From Andreas Gruenbacher.
79865
79866         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
79867         and dup to open_safer and dup_safer, respectively.
79868         (openat_permissive): Fix typo in comment.
79869
79870         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
79871         "gettext.h"; either no longer needed or are guaranteed by openat.h.
79872         (_): Remove; no longer needed.
79873         (openat): Renamed from rpl_openat; no need for rpl_openat
79874         since openat.h renames openat for us.
79875         Replace most of the body with a call to openat_permissive,
79876         to avoid duplicate code.
79877         Port to (probably hypothetical) environments were mode_t is
79878         wider than int.
79879         (openat_permissive): Require mode arg, so that we can check
79880         types better.  Put it just after flags.  Change cwd failure
79881         indicator from pointer-to-bool to pointer-to-errno-value.
79882         All callers changed.
79883         Invoke openat_save_fail and/or openat_restore_fail if
79884         cwd_errno is null, so that openat can call us.
79885         (openat_permissive, fdopendir, fstatat, unlinkat):
79886         Simplify errno handling to avoid some duplicate code,
79887         as it's OK to set errno on success.
79888         * lib/openat.h: Revamp code so that function macros depend on
79889         __OPENAT_PREFIX only, not also on AT_FDCWD.
79890         (openat_ro): Remove.  Caller changed to use openat_permissive.
79891         (openat_permissive): Now a macro, if not a function.
79892         (openat_restore_fail, openat_save_fail): Now always functions,
79893         since mkdirat needs them even if __OPENAT_PREFIX is defined.
79894
79895         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
79896         and openat.c.
79897         * lib/mkdirat.c: Include openat-priv.h.
79898         Remove definitions of macros defined therein.
79899         * lib/openat.c: Likewise.
79900
79901         * lib/mkdirat.c (mkdirat): New file and function.
79902         * lib/openat.h (mkdirat): Declare.
79903
79904         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
79905
79906         * lib/openat.h (openat_permissive): Declare.
79907         (openat_ro): Define.
79908
79909         * lib/openat.c (EXPECTED_ERRNO): New macro.
79910         (openat_permissive): New function -- used in remove.c rewrite.
79911         (all functions): Set errno just before returning, only if there
79912         was an actual failure.
79913         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
79914
79915         Emulate openat-family functions using Linux's procfs, if possible.
79916         Idea and some code based on Ulrich Drepper's glibc changes.
79917
79918         * lib/openat.c: (BUILD_PROC_NAME): New macro.
79919         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
79920         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
79921         before falling back on save_cwd and restore_cwd.
79922         (fdopendir, fstatat, unlinkat): Likewise.
79923
79924         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
79925         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
79926
79927         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
79928         as second argument to va_arg.  Otherwise, some versions of gcc
79929         warn that `if this code is reached, the program will abort'.
79930
79931 2006-01-09  Jim Meyering  <jim@meyering.net>
79932
79933         Sync from coreutils.
79934         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
79935         Require openat-priv.h.
79936
79937 2006-01-09  Bruno Haible  <bruno@clisp.org>
79938
79939         * modules/strnlen (Include): Use strnlen.h.
79940
79941 2006-01-09  Bruno Haible  <bruno@clisp.org>
79942
79943         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
79944
79945 2006-01-09  Bruno Haible  <bruno@clisp.org>
79946
79947         * lib/sysexit_.h (EX_OK): New macro.
79948         Suggested by Martin Lambers <marlam@marlam.de>.
79949
79950 2006-01-09  Bruno Haible  <bruno@clisp.org>
79951
79952         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
79953         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
79954
79955 2006-01-09  Bruno Haible  <bruno@clisp.org>
79956
79957         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
79958         numbers.
79959
79960 2006-01-09  Bruno Haible  <bruno@clisp.org>
79961
79962         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
79963         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
79964         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
79965         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
79966
79967 2006-01-09  Bruno Haible  <bruno@clisp.org>
79968
79969         * build-aux/javacomp.sh.in: New file, moved from lib/.
79970         * modules/javacomp-script (Files): Update.
79971         (configure.ac): Add AC_CONFIG_FILES invocation.
79972         (EXTRA_DIST): Remove variable.
79973
79974         * build-aux/javaexec.sh.in: New file, moved from lib/.
79975         * modules/javaexec (Files): Update.
79976         (configure.ac): Add AC_CONFIG_FILES invocation.
79977         (EXTRA_DIST): Remove javaexec.sh.in.
79978
79979         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
79980         * modules/csharpcomp-script (Files): Update.
79981         (configure.ac): Add AC_CONFIG_FILES invocation.
79982         (EXTRA_DIST): Remove variable.
79983
79984         * build-aux/csharpexec.sh.in: New file, moved from lib/.
79985         * modules/csharpexec (Files): Update.
79986         (configure.ac): Add AC_CONFIG_FILES invocation.
79987         (EXTRA_DIST): Remove csharpexec.sh.in.
79988
79989 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
79990
79991         Sync from coreutils.
79992
79993         Add POSIX ACL support
79994         * lib/acl.h (copy_acl, set_acl): Add declarations.
79995         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
79996         systems other than Linux.
79997         (chmod_or_fchmod): New function: use fchmod when possible,
79998         and chmod otherwise.
79999         (file_has_acl): Add a POSIX ACL implementation, with a
80000         Linux-specific subcase.
80001         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80002         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80003         acls are unsupported.
80004         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80005         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80006         are unsupported.
80007
80008 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80009
80010         Sync from coreutils.
80011         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80012
80013 2006-01-07  Bruno Haible  <bruno@clisp.org>
80014
80015         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80016         gl_EARLY.
80017
80018 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80019
80020         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80021         Problem reported for Mingw by Mark Junker.
80022
80023 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80024
80025         * README: Gnulib normally doesn't generate a tarball.
80026
80027 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80028
80029         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80030         long int, not int, for nanosecond counts, so that people who are
80031         used to POSIX struct timespec won't be surprised.  Reported by Jim
80032         Meyering.
80033
80034 2005-12-28  Bruno Haible  <bruno@clisp.org>
80035
80036         * build-aux/config.rpath: Update from GNU gettext.
80037
80038 2005-12-16  Jim Meyering  <jim@meyering.net>
80039
80040         * modules/fprintftime: New module.
80041         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80042
80043 2005-12-16  Jim Meyering  <jim@meyering.net>
80044
80045         * m4/fprintftime.m4: New file.
80046
80047 2005-12-16  Jim Meyering  <jim@meyering.net>
80048
80049         * lib/fprintftime.c, lib/fprintftime.h: New files.
80050
80051 2005-12-15  Simon Josefsson  <jas@extundo.com>
80052
80053         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80054         new m4/socklen.m4.
80055
80056 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80057
80058         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80059         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80060
80061 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80062
80063         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80064         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80065         struct uparams is valid. Fall back to the default values if it is
80066         not.
80067
80068 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80069
80070         * modules/argp (Files): Add argp-pin.c
80071         (Depends-on): dirname
80072         (lib_SOURCES): Add argp-pin.c
80073
80074 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80075
80076         * m4/argp.m4:  Check if program_invocation_name and
80077         program_invocation_short_name are declared and define appropriate
80078         macros if they are not.
80079
80080 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80081
80082         * lib/argp-help.c (__argp_base_name): New function
80083         (__argp_short_program_name): Rewrite using __argp_base_name
80084         * lib/argp-namefrob.h: Define program_invocation_name and
80085         program_invocation_short_name if requested
80086         (__argp_base_name): Add prototype
80087         * lib/argp-parse.c (argp_def): Use gettext wrappers
80088         (argp_default_parser): Use __argp_base_name
80089         * lib/argp-pin.c: New file. Defines program_invocation_name and
80090         program_invocation_short_name on systems that lack them.
80091
80092 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80093
80094         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80095         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80096         porting problem reported by Georg Schwarz in
80097         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80098
80099 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80100
80101         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80102         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80103         porting problem reported by Georg Schwarz in
80104         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80105
80106 2005-12-05  Bruno Haible  <bruno@clisp.org>
80107
80108         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80109         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80110         Reported by Mark Junker <mjscod@gmx.de>.
80111
80112 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80113
80114         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80115         Use implementation from Albert Chin, with some
80116         comments/corrections by Stepan Kasal and myself.
80117
80118 2005-12-02  Bruno Haible  <bruno@clisp.org>
80119
80120         * gnulib-tool (func_import): Accept GPLed build tool modules when
80121         --lgpl is given.
80122         * modules/csharpcomp-script: New file.
80123         * modules/csharpcomp: Depend on it.
80124         * modules/javacomp-script: New file.
80125         * modules/javacomp: Depend on it.
80126         Suggested by Simon Josefsson.
80127
80128 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80129
80130         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80131         statement, to work around an HP-UX 10.20 compiler bug reported by
80132         Peter O'Gorman.
80133
80134 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80135
80136         * modules/savedir (Depends-on): Add openat.
80137
80138 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80139
80140         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80141         (uintmax_t) [defined uintmax_t]: Do not declare.
80142         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80143         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80144         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80145         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80146         sake of portability to weird hosts that C allows (though we don't
80147         know of any practical examples).
80148
80149         * lib/savedir.h (fdsavedir): New decl.
80150         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80151         contains most of the former guts of savedir.
80152         (savedir): Use savedirstream.
80153         Include "openat.h".
80154
80155 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80156
80157         * modules/obstack (Files): Add m4/ulonglong.m4.
80158         Problem reported by Davide Angelocola.
80159
80160 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80161
80162         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80163         coreutils no longer futzes with rounding modes.
80164
80165 2005-11-14  Jim Meyering  <jim@meyering.net>
80166
80167         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80168         replacement of mkstemp.
80169
80170 2005-11-10  Simon Josefsson  <jas@extundo.com>
80171
80172         * lib/readline.c: Remove EOL.
80173
80174 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80175
80176         * modules/gethrxtime (Depends-on): Add gettime.
80177
80178 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80179
80180         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
80181         or gettimeofday; no longer needed.
80182
80183 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80184
80185         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
80186         time business.
80187         (gethrxtime) [! (HAVE_NANOUPTIME
80188         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
80189         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
80190         our own approximation.
80191
80192 2005-11-08  Eric Blake  <ebb9@byu.net>
80193
80194         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80195
80196 2005-11-08  Eric Blake  <ebb9@byu.net>
80197
80198         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
80199
80200 2005-11-04  Bruno Haible  <bruno@clisp.org>
80201
80202         * gnulib-tool: Implement --update mode.
80203
80204 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80205
80206         Fix porting problem reported by Theodoros V. Kalamatianos.
80207         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
80208         Don't assume that futimes failing means we must fail.
80209
80210 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
80211
80212         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
80213         variables to suggest the intended function of the PATH_MAX check.
80214
80215 2005-10-30  Kean Johnston  <jkj@sco.com>
80216
80217         Trivial changes to support SCO systems.
80218         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
80219         as PATH_MAX.
80220         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
80221         where __ptr is null when no I/O is pending.
80222
80223 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80224
80225         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
80226         leave errno alone.  Problem reported by Dmitry V. Levin.
80227
80228 2005-10-28  Simon Josefsson  <jas@extundo.com>
80229
80230         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
80231         Test more.
80232
80233         * tests/test-gc-md2.c, tests/test-md2.c: New files.
80234
80235         * modules/md2, modules/md2-tests: New files.
80236
80237 2005-10-28  Simon Josefsson  <jas@extundo.com>
80238
80239         * m4/inet_ntop.m4: More tests.
80240
80241         * m4/gc-md2.m4, md2.m4: New file.
80242
80243 2005-10-28  Simon Josefsson  <jas@extundo.com>
80244
80245         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
80246         "restrict" keywords, as per POSIX.  Protect the function
80247         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
80248         Don't use K&R prototypes.  Check the sprintf return values.
80249         Re-define EAFNOSUPPORT if not present.  Indent.
80250
80251         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
80252         suggested by Bruno Haible <bruno@clisp.org>.
80253
80254         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
80255
80256         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
80257
80258         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
80259         libgcrypt).
80260
80261         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
80262
80263         * lib/md2.h, lib/md2.c: New files.
80264
80265 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
80266
80267         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
80268         errno alone.  Problem reported by Frederic Jolliton.
80269
80270 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
80271
80272         * modules/verify (License): Change from GPL to LGPL.  This is a
80273         tiny module and there are apparently near-equivalents that are
80274         under the BSD license.
80275
80276 2005-10-24  Simon Josefsson  <jas@extundo.com>
80277
80278         * modules/sha1: Relicense to LGPL.
80279
80280 2005-10-24  Simon Josefsson  <jas@extundo.com>
80281
80282         * lib/md4.h: Shrink buffer size, now that we changed the type.
80283
80284 2005-10-23  Simon Josefsson  <jas@extundo.com>
80285
80286         * gnulib-tool (func_import): Fix --tests-base.
80287
80288 2005-10-22  Simon Josefsson  <jas@extundo.com>
80289
80290         * modules/arcfour (Depends-on): Need stdint.
80291
80292 2005-10-22  Simon Josefsson  <jas@extundo.com>
80293
80294         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
80295         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
80296
80297 2005-10-22  Simon Josefsson  <jas@extundo.com>
80298
80299         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
80300         suggested by Bruno Haible <bruno@clisp.org>.
80301
80302 2005-10-22  Simon Josefsson  <jas@extundo.com>
80303
80304         * lib/crc.h: Include stddef.h, for size_t.
80305
80306 2005-10-22  Simon Josefsson  <jas@extundo.com>
80307
80308         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
80309         arcfour_context struct (simplify test vector testing in GNU
80310         Shishi).
80311
80312 2005-10-21  Simon Josefsson  <jas@extundo.com>
80313
80314         * modules/des, modules/des-tests: New files.
80315
80316         * modules/gc-des, modules/gc-des-tests: New files.
80317
80318         * tests/test-des.c, tests/test-gc-des.c: New file.
80319
80320 2005-10-21  Simon Josefsson  <jas@extundo.com>
80321
80322         * modules/arctwo, modules/arctwo-tests: New files.
80323
80324         * tests/test-arctwo.c: New file.
80325
80326         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
80327
80328         * tests/test-gc-arctwo.c: New file.
80329
80330 2005-10-21  Simon Josefsson  <jas@extundo.com>
80331
80332         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
80333         Bruno Haible <bruno@clisp.org>.
80334
80335         * m4/gc-des.m4: New file.
80336
80337 2005-10-21  Simon Josefsson  <jas@extundo.com>
80338
80339         * m4/arctwo.m4: New file.
80340
80341         * m4/gc-arctwo.m4: New file.
80342
80343 2005-10-21  Simon Josefsson  <jas@extundo.com>
80344
80345         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
80346         block.
80347
80348 2005-10-21  Simon Josefsson  <jas@extundo.com>
80349
80350         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
80351         <bruno@clisp.org>.
80352
80353         * lib/hmac-sha1.c (hmac_sha1): Likewise.
80354
80355         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
80356         Bruno Haible <bruno@clisp.org>.
80357
80358         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
80359         <bruno@clisp.org>.
80360
80361 2005-10-21  Simon Josefsson  <jas@extundo.com>
80362
80363         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
80364
80365 2005-10-21  Simon Josefsson  <jas@extundo.com>
80366
80367         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
80368
80369 2005-10-21  Simon Josefsson  <jas@extundo.com>
80370
80371         * lib/des.h, lib/des.c: New files.
80372
80373         * lib/gc-gnulib.c: Support DES.c
80374
80375 2005-10-21  Simon Josefsson  <jas@extundo.com>
80376
80377         * lib/arctwo.h, lib/arctwo.c: New files.
80378
80379         * lib/gc-gnulib.c: Support ARCTWO.
80380
80381 2005-10-21  Simon Josefsson  <jas@extundo.com>
80382
80383         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
80384         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80385
80386 2005-10-21  Simon Josefsson  <jas@extundo.com>
80387
80388         * gnulib-tool (func_import, func_create_testdir): Define automake
80389         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
80390         Makefile.am snippet),
80391         suggested by Bruno Haible <bruno@clisp.org>.
80392
80393         * modules/gc (Makefile.am): Use it.
80394
80395 2005-10-21  Bruno Haible  <bruno@clisp.org>
80396
80397         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
80398         patch.
80399
80400 2005-10-19  Simon Josefsson  <jas@extundo.com>
80401
80402         * tests/test-gc-rijndael.c: New file.
80403
80404         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
80405
80406 2005-10-19  Simon Josefsson  <jas@extundo.com>
80407
80408         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
80409         interface too.
80410
80411 2005-10-19  Simon Josefsson  <jas@extundo.com>
80412
80413         * tests/test-gc-arcfour.c: New file.
80414
80415         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
80416
80417 2005-10-19  Simon Josefsson  <jas@extundo.com>
80418
80419         * modules/gc-md4, modules/gc-md4-tests: New file.
80420
80421         * tests/test-gc-md4.c: New file.
80422
80423 2005-10-19  Simon Josefsson  <jas@extundo.com>
80424
80425         * m4/gc-md4.m4: New file.
80426
80427 2005-10-19  Simon Josefsson  <jas@extundo.com>
80428
80429         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
80430         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
80431         <kasal@ucw.cz>.
80432
80433 2005-10-19  Simon Josefsson  <jas@extundo.com>
80434
80435         * m4/gc-arcfour.m4: New file.
80436
80437         * m4/gc-rijndael.m4: New file.
80438
80439 2005-10-19  Simon Josefsson  <jas@extundo.com>
80440
80441         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
80442
80443 2005-10-19  Simon Josefsson  <jas@extundo.com>
80444
80445         * lib/gc-gnulib.c: Support ARCFOUR.
80446
80447 2005-10-19  Simon Josefsson  <jas@extundo.com>
80448
80449         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
80450         support.
80451
80452         * lib/gc.h: Add ECB enum type.
80453
80454         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
80455
80456 2005-10-18  Simon Josefsson  <jas@extundo.com>
80457
80458         * tests/test-md5.c: New file.
80459
80460         * modules/md5-tests: New file.
80461
80462 2005-10-18  Simon Josefsson  <jas@extundo.com>
80463
80464         * tests/test-md4.c: New file.
80465
80466         * modules/md4, modules/md4-tests: New files.
80467
80468 2005-10-18  Simon Josefsson  <jas@extundo.com>
80469
80470         * m4/md4.m4: New file.
80471
80472 2005-10-18  Simon Josefsson  <jas@extundo.com>
80473
80474         * lib/md4.h, lib/md4.c: New files, based on md5.?.
80475
80476 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
80477
80478         * gnulib-tool (func_create_testdir): Omit the second check whether
80479         BUILT_SOURCES in nonempty.
80480
80481 2005-10-17  Simon Josefsson  <jas@extundo.com>
80482
80483         * tests/test-rijndael.c: New file.
80484
80485 2005-10-17  Simon Josefsson  <jas@extundo.com>
80486
80487         * modules/sha1: Depend on stdint instead of md5.
80488
80489         * modules/md5: Depend on stdint, remove uint32_t.
80490
80491 2005-10-17  Simon Josefsson  <jas@extundo.com>
80492
80493         * modules/gc-sha1-tests: New file.
80494
80495         * tests/test-gc-sha1.c: New file.
80496
80497 2005-10-17  Simon Josefsson  <jas@extundo.com>
80498
80499         * m4/md5.m4: Remove call to uint32_t.m4.
80500
80501 2005-10-17  Simon Josefsson  <jas@extundo.com>
80502
80503         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
80504
80505         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
80506         md5.h.
80507
80508         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
80509
80510         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
80511
80512 2005-10-17  Simon Josefsson  <jas@extundo.com>
80513
80514         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
80515
80516 2005-10-17  Simon Josefsson  <jas@extundo.com>
80517
80518         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
80519
80520 2005-10-17  Simon Josefsson  <jas@extundo.com>
80521
80522         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
80523
80524         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
80525
80526 2005-10-17  Bruno Haible  <bruno@clisp.org>
80527
80528         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
80529         that it can also be used in a test.
80530
80531 2005-10-16  Bruno Haible  <bruno@clisp.org>
80532
80533         * gnulib-tool (func_emit_tests_Makefile_am): Also define
80534         TESTS_ENVIRONMENT, so that individual tests can augment it.
80535
80536         * gnulib-tool (func_create_testdir): Use an intermediate target for
80537         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
80538         macros, like $(ALLOCA_H), which cannot be passed through the command
80539         line.
80540
80541 2005-10-15  Simon Josefsson  <jas@extundo.com>
80542
80543         * modules/rijndael-tests: New file.
80544
80545         * modules/rijndael: New file.
80546
80547 2005-10-15  Simon Josefsson  <jas@extundo.com>
80548
80549         * m4/rijndael.m4: New file.
80550
80551 2005-10-15  Simon Josefsson  <jas@extundo.com>
80552
80553         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
80554
80555         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
80556
80557 2005-10-14  Simon Josefsson  <jas@extundo.com>
80558
80559         * tests/test-arcfour.c: New file.
80560
80561         * modules/arcfour, modules/arcfour-tests: New files.
80562
80563 2005-10-14  Simon Josefsson  <jas@extundo.com>
80564
80565         * m4/arcfour.m4: New file.
80566
80567 2005-10-14  Simon Josefsson  <jas@extundo.com>
80568
80569         * lib/arcfour.h, lib/arcfour.c: New files.
80570
80571 2005-10-14  Roland McGrath  <roland@redhat.com>
80572
80573         Import from libc.  [BZ #1331]
80574         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
80575         macro argument.
80576         Reported by Matej Vela <vela@debian.org>.
80577
80578 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80579
80580         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
80581         include <wchar.h>; no longer needed.
80582
80583 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
80584
80585         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
80586
80587 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
80588         and  Ulrich Drepper  <drepper@redhat.com>
80589
80590         Import from libc.
80591         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
80592         instead of inline stream orientation test and two separate
80593         function calls.  Pay no attention to USE_IN_LIBIO.
80594
80595 2005-10-13  Simon Josefsson  <jas@extundo.com>
80596
80597         * modules/gc-hmac-md5-tests: New file.
80598
80599         * tests/test-gc-hmac-sha1.c: New file.
80600
80601         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
80602
80603         * modules/gc-hmac-md5-tests: New file.
80604
80605         * tests/test-gc-md5.c: New file.
80606
80607         * modules/gc-md5-tests: New file.
80608
80609 2005-10-13  Simon Josefsson  <jas@extundo.com>
80610
80611         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
80612         Move memory allocation outside of loop.
80613
80614 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
80615
80616         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
80617         intermediate directory is in a read-only file system.  Problem
80618         reported by Eric Blake.
80619
80620 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
80621
80622         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
80623
80624 2005-10-12  Simon Josefsson  <jas@extundo.com>
80625
80626         * tests/test-hmac-sha1.c: New file.
80627
80628         * modules/hmac-sha1-tests: New file.
80629
80630         * modules/hmac-sha1: New file.
80631
80632 2005-10-12  Simon Josefsson  <jas@extundo.com>
80633
80634         * modules/gc-sha1: New file.
80635
80636 2005-10-12  Simon Josefsson  <jas@extundo.com>
80637
80638         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
80639
80640         * tests/test-gc-pbkdf2-sha1.c: New file.
80641
80642 2005-10-12  Simon Josefsson  <jas@extundo.com>
80643
80644         * modules/gc-md5, modules/gc-hmac-md5: New files.
80645
80646         * modules/gc (Files): Remove md5, memxor and hmac files.
80647
80648 2005-10-12  Simon Josefsson  <jas@extundo.com>
80649
80650         * m4/gc-pbkdf2-sha1.m4: New file.
80651
80652         * m4/gc-hmac-sha1.m4: New file.
80653
80654         * m4/gc-sha1: New file.
80655
80656         * m4/hmac-sha1.m4: New file.
80657
80658 2005-10-12  Simon Josefsson  <jas@extundo.com>
80659
80660         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
80661
80662         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
80663
80664 2005-10-12  Simon Josefsson  <jas@extundo.com>
80665
80666         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
80667         suggested by Bruno Haible <bruno@clisp.org>.
80668
80669 2005-10-12  Simon Josefsson  <jas@extundo.com>
80670
80671         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
80672
80673 2005-10-12  Simon Josefsson  <jas@extundo.com>
80674
80675         * lib/gc-pbkdf2-sha1.c: New file.
80676
80677         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
80678
80679 2005-10-12  Simon Josefsson  <jas@extundo.com>
80680
80681         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
80682
80683         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
80684
80685 2005-10-12  Simon Josefsson  <jas@extundo.com>
80686
80687         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
80688         GC_USE_HMAC_MD5, respectively.
80689
80690         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
80691         (gc_md5): Fix typo.
80692
80693         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
80694
80695         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
80696
80697         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
80698
80699 2005-10-12  Bruno Haible  <bruno@clisp.org>
80700
80701         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
80702         Reported by Stepan Kasal <kasal@ucw.cz>.
80703
80704 2005-10-11  Simon Josefsson  <jas@extundo.com>
80705
80706         * tests/test-crc.c: New file.
80707
80708         * modules/crc, modules/crc-tests: New files.
80709
80710 2005-10-11  Simon Josefsson  <jas@extundo.com>
80711
80712         * m4/crc.m4: New file.
80713
80714 2005-10-11  Simon Josefsson  <jas@extundo.com>
80715
80716         * lib/gc.h: Add gc_hash and gc_hash_buffer.
80717
80718         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
80719
80720         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
80721
80722 2005-10-11  Simon Josefsson  <jas@extundo.com>
80723
80724         * lib/crc.h, lib/crc.c: New files.
80725
80726         * lib/gc.h (gc_hash_buffer): Add doc.
80727
80728 2005-10-11  Bruno Haible  <bruno@clisp.org>
80729
80730         * modules/c-strcasestr: New file.
80731         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
80732
80733 2005-10-11  Bruno Haible  <bruno@clisp.org>
80734
80735         * modules/c-strcase: New file.
80736         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
80737
80738 2005-10-11  Bruno Haible  <bruno@clisp.org>
80739
80740         * lib/strcasecmp.c: Include limits.h.
80741         (strcasecmp): Avoid integer overflow on exotic platforms.
80742         * lib/strncasecmp.c: Include limits.h.
80743         (strncasecmp): Avoid integer overflow on exotic platforms.
80744         Reported by Paul Eggert.
80745
80746 2005-10-11  Bruno Haible  <bruno@clisp.org>
80747
80748         * lib/c-strcasestr.h: New file, from GNU gettext.
80749         * lib/c-strcasestr.c: New file, from GNU gettext.
80750
80751 2005-10-11  Bruno Haible  <bruno@clisp.org>
80752
80753         * lib/c-strcase.h: New file, from GNU gettext.
80754         * lib/c-strcasecmp.c: New file, from GNU gettext.
80755         * lib/c-strncasecmp.c: New file, from GNU gettext.
80756
80757 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
80758
80759         * modules/mempcpy (License): GPL -> LGPL.
80760         * modules/strchrnul (License): Likewise.
80761         * modules/sysexits (License): Likewise.
80762
80763 2005-10-08  Simon Josefsson  <jas@extundo.com>
80764
80765         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
80766
80767 2005-10-07  Simon Josefsson  <jas@extundo.com>
80768
80769         * m4/memxor.m4: Remove gl_C_RESTRICT call.
80770
80771 2005-10-06  Simon Josefsson  <jas@extundo.com>
80772
80773         * tests/test-hmac-md5.c: New file.
80774
80775         * modules/hmac-md5-tests: New file.
80776
80777         * modules/hmac-md5: New file.
80778
80779 2005-10-06  Simon Josefsson  <jas@extundo.com>
80780
80781         * m4/hmac-md5.m4: New file.
80782
80783         * m4/memxor.m4: Require gl_C_RESTRICT.
80784
80785 2005-10-06  Simon Josefsson  <jas@extundo.com>
80786
80787         * lib/memxor.c (memxor): Avoid casts and warnings.
80788
80789 2005-10-06  Simon Josefsson  <jas@extundo.com>
80790
80791         * lib/hmac-md5.c: New file.
80792
80793         * lib/hmac.h: New file.
80794
80795 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80796
80797         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
80798         promotes to int, not unsigned int, to catch the AIX 5.3
80799         compiler bug.
80800
80801 2005-10-05  Simon Josefsson  <jas@extundo.com>
80802
80803         * modules/memxor: New file.
80804
80805         * modules/iconv (Files): Move config.rpath to havelib, it is used
80806         there.
80807
80808         * modules/havelib (Files): Add config.rpath.
80809
80810 2005-10-05  Simon Josefsson  <jas@extundo.com>
80811
80812         * m4/memxor.m4: New file.
80813
80814 2005-10-05  Simon Josefsson  <jas@extundo.com>
80815
80816         * lib/memxor.c (memxor): Fix compiler error.
80817
80818         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
80819         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
80820
80821         * lib/memxor.h, lib/memxor.c: New files.
80822
80823         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
80824         we assume all systems have it, suggested by Jim Meyering
80825         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
80826         any systems lack sys/socket.h; mingw32 is known to lack it, but we
80827         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
80828         same reasons.
80829
80830 2005-10-05  Simon Josefsson  <jas@extundo.com>
80831
80832         * config/srclist.txt: Add glibc bug 1423 for md5.h.
80833
80834 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
80835
80836         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
80837         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
80838         needed, since the source code now assumes these .h files.
80839
80840 2005-10-05  Derek Price  <derek@ximbiot.com>
80841
80842         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
80843
80844 2005-10-05  Bruno Haible  <bruno@clisp.org>
80845
80846         * modules/stdint (License): Change to LGPL.
80847
80848 2005-10-04  Simon Josefsson  <jas@extundo.com>
80849
80850         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
80851         D. Baushke" <mdb@gnu.org>.
80852
80853 2005-10-04  Bruno Haible  <bruno@clisp.org>
80854
80855         * lib/verify.h (verify_true): Provide alternative definition for C++.
80856
80857 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
80858
80859         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
80860         (SSIZE_MAX): New macro, if not already defined.
80861         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
80862         than 2 GiB.
80863
80864 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80865
80866         Sync from coreutils.
80867         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
80868         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
80869         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
80870         ULLONG_MAX doesn't work with 2.7.2.1.
80871
80872 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80873
80874         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
80875         From Ben Pfaff.
80876
80877         * modules/exclude (Depends-on): Depend on verify.
80878         * modules/strtoimax (Depends-on): Likewise.
80879         * modules/utimecmp (Depends-on): Likewise.
80880
80881 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
80882
80883         * lib/exclude.c: Include verify.h.
80884         (verify): Remove.  All callers changed to use verify.h's version.
80885         * lib/strtoimax.c: Likewise.
80886         * lib/utimecmp.c: Likewis.e
80887
80888         Sync from coreutils.
80889         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
80890         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
80891         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
80892         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
80893         bother returning ENOSYS if settimeofday or stime fails; just let
80894         them return whatever errno they want to return.
80895         * lib/utimens.c: Include unistd.h, for dup2.
80896         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
80897         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
80898
80899 2005-10-02  Jim Meyering  <jim@meyering.net>
80900
80901         Sync from coreutils.
80902         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
80903         from glibc-2.2.5 that fails for read-only files.
80904
80905 2005-10-02  Jim Meyering  <jim@meyering.net>
80906
80907         Sync from coreutils.
80908         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
80909         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
80910         `#if HAVE_CONFIG_H'.
80911         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
80912         Remove AT_FDCWD test.
80913         Do not consume the fd unless successful.
80914         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
80915         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
80916         block, so that we don't even try to compile it if settimeofday is
80917         available.  This works around a compilation failure on OSF1 V5.1,
80918         due to stime requiring a `long int*' while tv_sec is `int'.
80919
80920 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
80921
80922         Sync from coreutils.
80923         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
80924         against `yes', rather than just testing for nonempty.
80925
80926 2005-10-01  Simon Josefsson  <jas@extundo.com>
80927
80928         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
80929         and Darwin.
80930
80931         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
80932         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
80933         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
80934         freeaddrinfo and gai_strerror are declared by the POSIX headers.
80935         Check if struct addrinfo is declared.
80936
80937 2005-10-01  Simon Josefsson  <jas@extundo.com>
80938
80939         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
80940         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
80941         AI_* and EAI_* definitions.  Protect function declarations.
80942
80943 2005-10-01  Jim Meyering  <jim@meyering.net>
80944
80945         Sync from coreutils.
80946
80947         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
80948         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
80949         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
80950         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80951         in the inet and nsl libraries.  Required on Solaris 5.7.
80952
80953 2005-10-01  Jim Meyering  <jim@meyering.net>
80954
80955         Sync from coreutils.
80956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
80957         in the inet and nsl libraries.  Required on Solaris 5.7.
80958
80959 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
80960
80961         * lib/getdelim.c (getdelim): Remove unused variables.
80962
80963 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
80964
80965         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
80966         so that the code works even with ancient cpp.  Portability problem
80967         with GCC 2.7.2.1 reported by Thomas M.Ott.
80968
80969 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
80970
80971         * modules/regex (Depends-on): Add strcase.
80972
80973         * modules/gethostname (Licence): Change from GPL to LGPL, since
80974         gethostname.c is a trivial implementation of a standard library
80975         function.
80976         * modules/poll (License): Change from GPL to LGPL, since it's
80977         derived from LGPL code.
80978
80979 2005-09-27  Jim Meyering  <jim@meyering.net>
80980
80981         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
80982         HAVE_CONFIG_H.
80983
80984         * lib/intprops.h (signed_type_or_expr__): Define.
80985         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
80986         for unsigned types.
80987
80988 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
80989
80990         * lib/verify.h (verify_expr): Remove, replacing with:
80991         (verify_true): New macro that returns true instead of void.
80992         (verify_type__): Remove.
80993         (verify): Use verify_true rather than verify_type__.
80994
80995 2005-09-26  Bruno Haible  <bruno@clisp.org>
80996
80997         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
80998         is necessary.
80999         (lib_SOURCES): Remove mbchar.c.
81000         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81001         (Files): Add m4/mbrtowc.m4.
81002         * modules/mbiter: Likewise.
81003         * modules/mbuiter: Likewise.
81004
81005 2005-09-26  Bruno Haible  <bruno@clisp.org>
81006
81007         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81008         compile mbchar.c if they are not both present.
81009         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81010         * m4/mbiter.m4 (gl_MBITER): Likewise.
81011         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81012         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81013         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81014
81015 2005-09-25  Jim Meyering  <jim@meyering.net>
81016
81017         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81018         also uses socklen_t.
81019
81020 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81021
81022         * lib/utimens.c (ENOSYS): Define if not already defined.
81023         (futimens): Support having a null PATH if the file descriptor
81024         is nonnegative.
81025
81026         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81027         Remove.
81028         (__attribute): Define to empty unless GCC 3.1 or later.
81029         This works around a core dump on OpenBSD 3.4, which has GCC
81030         2.95.3, which dumps core when given __attribute__(()).  It also
81031         simplifies other tests, since we really don't want to bother with
81032         worrying about which ancient version of GCC supported what.
81033         Original problem reported by Yoann Vandoorselaere, with part of
81034         the fix suggested by Derek Price.
81035
81036 2005-09-24  Jim Meyering  <jim@meyering.net>
81037
81038         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81039         so we can once again use a positive bitfield width of 1 -- now we
81040         don't have to explain why we were using a bitfield width of 2.
81041
81042 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81043
81044         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81045         and similarly for the other external symbols.  Problem reported
81046         by James Gallager.
81047
81048         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81049         bug reported by Jim Meyering.
81050
81051         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81052         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81053         not needed, since socklen is a prerequisite module.
81054
81055 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81056
81057         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81058         Problem reported by Eric Blake.
81059         (getaddrinfo): Initialize se so that it's not garbage.
81060         Redo internal storage allocation so that it doesn't make unportable
81061         assumptions about alignment.
81062         Fix a memory leak.
81063
81064         * lib/utimens.c (futimens): Use futimesat if available.
81065         Prefer it to futimes since it doesn't have the futimes bug.
81066
81067         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81068         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81069         Instead, declare a function that returns a pointer to an array,
81070         and use verify_type__ to declare the size of the array.
81071         Problem and germ of a solution reported by Bruno Haible.
81072         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81073         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81074
81075 2005-09-23  Jim Meyering  <jim@meyering.net>
81076
81077         Sync from coreutils.
81078         Correct build failure (socklen_t not defined) on at least
81079         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81080         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81081
81082 2005-09-23  Jim Meyering  <jim@meyering.net>
81083
81084         * modules/getaddrinfo (Depends-on): Add socklen.
81085
81086 2005-09-23  Bruno Haible  <bruno@clisp.org>
81087
81088         * tests/test-verify.c: New file.
81089
81090 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81091
81092         Sync from coreutils.
81093
81094         * modules/argmatch (Depends-on): Add verify.
81095         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81096         unistd-safer.
81097         * modules/save-cwd (Depends-on): Likewise.
81098
81099         * modules/openat (Files): Add lib/openat-die.c.
81100         (Depends-on): Remove error, exitfail.
81101         Add dirname.
81102
81103         * modules/verify: New file.
81104         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81105         with "verify" module.
81106
81107 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81108
81109         Sync from coreutils.
81110
81111         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81112         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81113         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81114         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81115         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81116         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81117         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81118         Don't bother checking for string.h, stdlib.h, unistd.h.
81119         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81120         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81121         module's job.
81122         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81123         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81124
81125         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81126         (gl_GETDATE): Use it.
81127
81128         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81129
81130 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81131
81132         Sync from coreutils.
81133
81134         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81135         stat-time.h.
81136         * lib/argmatch.h: Include verify.h
81137         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81138         (ARGMATCH_ASSERT): Remove; unused.
81139         * lib/canonicalize.c: Assume STDC_HEADERS.
81140         * lib/exclude.c: Include "strcase.h".
81141         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81142         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81143         and stdio-safer.h.
81144         (getusershell): Call fopen, not fopen_safer.
81145         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81146         Do not include unistd-safer.h.
81147         (save_cwd): Don't call fd_safer; no longer needed
81148         now that we include fcntl--.h.
81149
81150         * lib/getdate.y (relative_time): New type.
81151         (RELATIVE_TIME_0): New constant.
81152         (parser_control): Use relative_time instead of doing it ourselves.
81153         (%union): Add new relative_time rel member.
81154         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81155         Now typeless.
81156         (relunit, relunit_snumber): Now of type rel.
81157         (zone, rel, relunit, get_date): Adjust to above changes.
81158
81159         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81160         Do not include unistd-safer.h.
81161         (getloadavg): Don't call fd_safer; no longer needed
81162         now that we include fcntl--.h.
81163
81164         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81165         (make_dir_parents): Treat ENOSYS like EEXIST.
81166
81167         Improve quality of diagnostics on restore_cwd failure.
81168         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81169         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81170         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
81171         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
81172         each time through the loop.  Do not diagnose restore_cwd failure;
81173         that is the caller's job (and perhaps the caller does not care).
81174
81175         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
81176         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
81177         If the file already exists but is not a directory, don't bother
81178         to try to make its parents.
81179         Close potential file descriptor leak if we can't chdir("/") (!).
81180         Don't always return true if chdir($PWD) fails; return true only
81181         if the requested action was done successfully (except for the
81182         chdir($PWD)).
81183         Don't log final directory unless we actually made it.
81184         Refactor to avoid duplicate code to fix up permissions.
81185         Don't attempt to fix up parent permissions if chdir($PWD) fails.
81186
81187         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
81188         to make it a bit faster and (I hope) clearer.
81189         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
81190         Fix bug in formats like %2N.
81191
81192         * lib/verify.h: New file.
81193
81194 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81195
81196         Sync from coreutils.
81197         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
81198
81199 2005-09-22  Jim Meyering  <jim@meyering.net>
81200
81201         Sync from coreutils.
81202
81203         * m4/lstat.m4 (gl_FUNC_LSTAT):
81204         Use AC_LIBSOURCES to require lstat.c and lstat.h.
81205         Remove obsolete comment.
81206         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
81207         * m4/xstrtod.m4: Likewise.
81208
81209         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
81210
81211 2005-09-22  Jim Meyering  <jim@meyering.net>
81212
81213         Sync from coreutils.
81214
81215         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
81216
81217         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
81218         the .tm_year member, since otherwise gcc-4.0 would now warn about
81219         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
81220
81221         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
81222         order to avoid an unsuppressible warning from gcc on 64-bit systems.
81223
81224         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
81225         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
81226         when run in a time zone for which daylight savings time is in effect
81227         for the starting date.
81228
81229         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
81230         stop us from restricting permissions of just-created absolute-named
81231         directories.
81232         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
81233         to restore initial working directory.
81234         * lib/mkdir-p.c (make_dir_parents): New parameter:
81235         different_working_dir, to tell caller if/when we change the working
81236         directory and are unable to return to the initial one.
81237         * lib/mkdir-p.h (make_dir_parents): Update prototype.
81238         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
81239         `return false'.  This fixes a bug introduced on 2004-07-30.
81240
81241         * lib/openat.c (fdopendir): Be sure to close the supplied
81242         file descriptor before returning.  This makes our replacement
81243         implementation a little closer to Solaris's, where fdopendir
81244         ties the file descriptor to the returned DIR* pointer.
81245         * lib/openat.c (unlinkat): New function.
81246         * lib/openat.h (unlinkat): Add prototype.
81247         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
81248         (openat_restore_fail): Rename from openat_restore_die.
81249         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
81250
81251         Provide an alternative to exiting immediately upon save_cwd or
81252         restore_cwd failure.  Now, an application can arrange e.g.,
81253         to perform a longjump in that case.
81254         * lib/openat.c: Include dirname.h.
81255         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
81256         (rpl_openat, fdopendir, fstatat): Call openat_save_die
81257         and openat_restore_die rather than calling error directly.
81258         Don't include "error.h" or "exitfail.h"; they're no longer needed.
81259
81260         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
81261         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
81262         define.
81263
81264         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
81265         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
81266                             int utc, int nanoseconds);
81267         Background:
81268         date should not have to allocate a megabyte of virtual memory to
81269         handle a format argument like +%1048575T.  When implemented with
81270         strftime, it must allocate such a buffer, use strftime to fill it
81271         in, print it, then free it.
81272         With fprintftime, it simply prints everything and exits.
81273         With no need for memory allocation, that's one fewer way to fail.
81274         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
81275         optional field width, not before, so we accept %9:z, not %:9z.
81276         (my_strftime): Be sure to use L_('x') for literals.
81277
81278         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
81279         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
81280         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
81281         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
81282         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
81283         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
81284         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
81285         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
81286         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
81287         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
81288         * lib/xgethostname.c, lib/xreadlink.c:
81289         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
81290
81291         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
81292         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
81293         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
81294         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
81295         and don't include <sys/file.h>).
81296
81297 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
81298
81299         Sync from coreutils.
81300
81301         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
81302         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
81303         [!LDAV_DONE]: Avoid unused variable warning.
81304
81305 2005-09-21  Bruno Haible  <bruno@clisp.org>
81306
81307         * lib/unicodeio.h (unicode_to_mb): New declaration.
81308
81309 2005-09-20  Derek Price  <derek@ximbiot.com>
81310
81311         * lib/getaddrinfo.c: Don't include <netdb.h> included from
81312         getaddrinfo.h.
81313
81314 2005-09-20  Bruno Haible  <bruno@clisp.org>
81315
81316         * gnulib-tool: Remove trailing slashes from the values specified for
81317         --source-base, --m4-base, --tests-base, --aux-dir.
81318         Suggested by Simon Josefsson <jas@extundo.com>.
81319
81320 2005-09-20  Bruno Haible  <bruno@clisp.org>
81321
81322         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
81323         func_modules_to_filelist, func_import, func_create_testdir): Make all
81324         sorting results locale-independent, so that gnulib-cache.m4 doesn't
81325         change when gnulib-tool is invoked in a different locale.
81326
81327 2005-09-19  Simon Josefsson  <jas@extundo.com>
81328
81329         * m4/socklen.m4: Fix typo.
81330
81331 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81332
81333         Use a consistent style for including <config.h>.
81334         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
81335         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
81336         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
81337         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
81338         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
81339         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
81340         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
81341         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
81342         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
81343         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
81344         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
81345         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
81346         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
81347         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
81348         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
81349         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
81350         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
81351         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
81352         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
81353         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
81354         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
81355         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
81356         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
81357         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
81358         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
81359         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
81360         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
81361         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
81362         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
81363         lib/xstrtoumax.c, lib/yesno.c:
81364         Standardize inclusion of config.h.
81365         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
81366         lib/inttostr.h:  Removed inclusion of config.h from header files.
81367         * lib/inttostr.c:  Adjusted in-tree users.
81368         * lib/timespec.h: Remove superfluous warning to include config.h.
81369         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
81370         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
81371         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
81372         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
81373         config.h with HAVE_CONFIG_H.
81374
81375 2005-09-19  Jim Meyering  <jim@meyering.net>
81376
81377         * modules/pathmax (License): Change to LGPL.
81378
81379 2005-09-19  Derek Price  <derek@ximbiot.com>
81380
81381         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
81382
81383 2005-09-19  Bruno Haible  <bruno@clisp.org>
81384
81385         * gnulib-tool (import): Provide default for --tests-base.
81386
81387 2005-09-19  Bruno Haible  <bruno@clisp.org>
81388
81389         * doc/quote.texi: New file, extracted from gnulib.texi.
81390         * doc/ctime.texi: New file, extracted from gnulib.texi.
81391         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
81392         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
81393         * doc/gnulib.texi: Include them.
81394
81395 2005-09-18  Bruno Haible  <bruno@clisp.org>
81396
81397         Portability fix.
81398         * gnulib-tool (func_readlink): New function.
81399         (func_ln_if_changed): Use it.
81400
81401 2005-09-18  Bruno Haible  <bruno@clisp.org>
81402
81403         * gnulib-tool: Support --with-tests also with --import.
81404         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
81405         (func_import): Use variables $testsbase and $inctests. Emit a
81406         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
81407         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
81408         SUBDIRS += $testsdir.
81409         (func_create_testdir): Update.
81410
81411 2005-09-18  Bruno Haible  <bruno@clisp.org>
81412
81413         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
81414         instead of $dry_run.
81415         (func_cp_if_changed, func_mv_if_changed): Remove functions.
81416         (func_ln_if_changed): Don't handle dry-run here.
81417         (func_import): In dry-run mode, detect more precisely which actions
81418         would be performed, and don't use "...ing" verbs.
81419
81420 2005-09-18  Bruno Haible  <bruno@clisp.org>
81421
81422         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
81423         (func_import): Use join on two temporary files instead of three nested
81424         loops, in order to determine which files are new or old.
81425
81426 2005-09-18  Bruno Haible  <bruno@clisp.org>
81427
81428         * gnulib-tool (func_import): Comment out code that spits out the
81429         new files with --dry-run.
81430
81431 2005-09-18  Bruno Haible  <bruno@clisp.org>
81432
81433         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
81434
81435 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81436
81437         * lib/stat-time.h: New file.
81438         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
81439         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
81440         in a different way.
81441         (timespec_cmp): New function.
81442         * lib/utimecmp.c: Include stat-time.h.
81443         (SYSCALL_RESOLUTION): Depend on whether various struct stat
81444         members exist, not on the obsolescent ST_MTIM_NSEC.
81445         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
81446
81447 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81448
81449         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
81450
81451 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
81452
81453         * MODULES.html.sh (File system functions): Add stat-time.
81454         * modules/stat-time: New file.
81455         * modules/timespec (Files): Remove m4/st_mtim.m4; this
81456         is now done in a different way, by the stat-time module.
81457         * modules/utimecmp (Depends-on): Add stat-time.
81458
81459 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
81460
81461         * m4/st_mtim.m4: Remove.  Superseded by...
81462         * m4/stat-time.m4: New file.
81463         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
81464         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
81465
81466 2005-09-15  Derek Price  <derek@ximbiot.com>
81467
81468         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
81469
81470 2005-09-15  Derek Price  <derek@ximbiot.com>
81471
81472         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
81473         * lib/regex_internal.c: Ditto, using this...
81474         (__GNUC_PREREQ): ...new macro.
81475         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
81476         using...
81477         (__GNUC_PREREQ): ...this new macro.
81478
81479         * lib/strstr.h: Include string.h. Define strstr as a macro here.
81480
81481 2005-09-15  Derek Price  <derek@ximbiot.com>
81482             Paul Eggert  <eggert@cs.ucla.edu>
81483
81484         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
81485         changes, consolidating in...
81486         * lib/regex_internal.h: ...this file.
81487
81488 2005-09-13  Jim Meyering  <jim@meyering.net>
81489
81490         * lib/canon-host.c: Filter through gnu indent and reword comments
81491         slightly.
81492         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
81493
81494 2005-09-13  Derek Price  <derek@ximbiot.com>
81495
81496         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
81497         failure.
81498         Reported by Jim Meyering  <jim@meyering.net>.
81499
81500 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81501
81502         * lib/base64.c: Typo.
81503         (base64_encode): Put b64str in initialized data section.
81504
81505 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
81506
81507         Merge glibc and coreutils changes into gnulib, plus a few
81508         extra fixes.
81509         * lib/md5.c: Use #error rather than a string.
81510         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
81511         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
81512         (__attribute__): Define to empty for non recent-GCC.
81513         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
81514         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
81515         Renamed from their non-__ counterparts, with new macros replacing
81516         them if not _LIBC.  Add __THROW attribute.
81517         (rol): Remove.
81518         (struct md5_ctx): Align buffer if using GCC.
81519         * lib/sha1.h (struct sha1_ctx): Likewise.
81520         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
81521         The old name was backwards.
81522         (NOTSWAP): Remove; not used.
81523         (rol): New macro, moved here from md5.h.
81524         (sha1_process_block): Remove a FIXME that doesn't make sense.
81525
81526 2005-09-12  Derek Price  <derek@ximbiot.com>
81527
81528         Return usable errors from canon-host.
81529         * lib/canon-host.h: New file.
81530         * lib/canon-host.c (canon_host): Wrap...
81531         (canon_host_r): ...this new function, which now relies exclusively on
81532         getaddrinfo.
81533         (ch_strerror): New function.
81534         (last_cherror): New global.
81535         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
81536         interface.
81537         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
81538         void *.
81539         (freeaddrinfo): Free ai->ai_canonname when set.
81540
81541 2005-09-12  Derek Price  <derek@ximbiot.com>
81542
81543         Make canon-host require getaddrinfo.
81544         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
81545         AC_LIBSOURCE canon-host.h.  Call...
81546         (gl_PREREQ_CANON_HOST): ...this new function, which requires
81547         gl_GETADDRINFO.
81548         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
81549
81550 2005-09-12  Derek Price  <derek@ximbiot.com>
81551
81552         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
81553         LGPL.
81554         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
81555
81556 2005-09-12  Derek Price  <derek@ximbiot.com>
81557
81558         * lib/gai_strerror.c: Include config.h when available.  Include
81559         getaddrinfo.h before other headers to test interface.
81560         Reported by Larry Jones <lawrence.jones@ugs.com>.
81561
81562 2005-09-12  Derek Price  <derek@ximbiot.com>
81563             Paul Eggert  <eggert@cs.ucla.edu>
81564
81565         * modules/glob (Files): Add glob-libc.h.
81566
81567 2005-09-12  Derek Price  <derek@ximbiot.com>
81568             Paul Eggert  <eggert@cs.ucla.edu>
81569
81570         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
81571         glob_.h, glob-libc.h.
81572         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
81573
81574 2005-09-12  Derek Price  <derek@ximbiot.com>
81575             Paul Eggert  <eggert@cs.ucla.edu>
81576
81577         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
81578         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
81579         protecting things that should be done only in gnulib contexts.
81580         * lib/glob_.h: New file, containing only the glob things needed for
81581         gnulib.
81582         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
81583         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
81584         (glob, globfree, glob_pattern_p): Now defined simply in terms of
81585         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
81586         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
81587         and to respect the namespace rules better.
81588
81589 2005-09-08  Simon Josefsson  <jas@extundo.com>
81590
81591         * modules/socklen: New file.
81592
81593 2005-09-08  Simon Josefsson  <jas@extundo.com>
81594
81595         * m4/socklen.m4: New file.
81596
81597 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81598
81599         * modules/utimens (Files): Add m4/utimbuf.m4, since
81600         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
81601         Reported by Sergey Poznyakoff.
81602
81603 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81604
81605         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
81606         definitions, since that's the preferred style in glibc.
81607         Fix a minor spacing issue, and update copyright notice to match
81608         glibc's.
81609
81610 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
81611
81612         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
81613
81614 2005-09-06  Simon Josefsson  <jas@extundo.com>
81615
81616         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
81617         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
81618
81619 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81620
81621         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
81622         warning.
81623
81624 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * config/srclist.txt: Add glibc bug 1302.
81627
81628 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
81629
81630         Change bitset word type from unsigned int to unsigned long int,
81631         as this has better performance on typical 64-bit hosts.
81632         Port bitset code to hosts with unusual word sizes.
81633         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
81634         (build_collating_symbol):
81635         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
81636         argument is a bitset.  This is merely a style issue, but it makes
81637         it clearer that an entire array is expected.
81638         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
81639         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
81640         Port to the case where bitset_word is not the same as unsigned int.
81641         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81642         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
81643         Likewise.
81644         * lib/regexec.c (check_dst_limits_calc_pos_1,
81645         check_subexp_matching_top):
81646         (build_trtable, group_nodes_into_DFAstates):
81647         Likewise.
81648         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
81649         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
81650         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
81651         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
81652         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
81653         * lib/regcomp.c (optimize_subexps, lower_subexp):
81654         Work even if bitset_word has holes in its bitwise representation.
81655         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
81656         * lib/regexec.c (check_dst_limits_calc_pos_1,
81657         check_subexp_matching_top):
81658         Likewise.
81659         * lib/regex_internal.c (re_string_reconstruct):
81660         Don't assume UCHAR_MAX == 255.
81661         * lib/regex_internal.h (bitset_set_all): Likewise.
81662         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
81663         All uses changed.
81664         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
81665         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
81666         All uses changed.
81667         (BITSET_WORD_MAX): New macro.
81668         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
81669         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
81670         (bitset_empty, bitset_copy):
81671         Prefer sizeof (bitset) to multiplying it out ourselves.
81672         (bitset_not_merge): Remove; unused.
81673         (bitset_contain): Return bool, not unsigned int with one bit on.
81674         All callers changed.
81675         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
81676         alignment than re_node_set; do this by defining a new internal
81677         type struct dests_alloc and using it to allocate memory.
81678
81679 2005-09-05  Bruno Haible  <bruno@clisp.org>
81680
81681         * gnulib-tool (func_import): Fix comparison in handling of symbolic
81682         links.
81683
81684 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
81685
81686         * modules/size_max (Makefile.am): Add size_max.h
81687
81688 2005-09-04  Derek Price  <derek@ximbiot.com>
81689
81690         * gnulib-tool (func_import): Fix reversed $symbolic logic.
81691
81692 2005-09-03  Simon Josefsson  <jas@extundo.com>
81693
81694         * gnulib-tool: Fix typo.
81695
81696 2005-09-03  Simon Josefsson  <jas@extundo.com>
81697
81698         * config/srclist.txt: Add glibc bug 1293.
81699
81700 2005-09-03  Derek Price  <derek@ximbiot.com>
81701
81702         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
81703         From Larry Jones <lawrence.jones@ugs.com>.
81704
81705 2005-09-02  Simon Josefsson  <jas@extundo.com>
81706
81707         * modules/socklen: New file.
81708
81709 2005-09-02  Simon Josefsson  <jas@extundo.com>
81710
81711         * modules/havelib: New module.
81712
81713         * modules/gettext, modules/iconv, modules/lock, modules/readline:
81714         Use havelib.
81715
81716 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81717
81718         Check for arithmetic overflow when calculating sizes, to prevent
81719         some buffer-overflow issues.  These patches are conservative, in the
81720         sense that when I couldn't determine whether an overflow was possible,
81721         I inserted a run-time check.
81722         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
81723         macros.
81724         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
81725         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
81726         (re_xnrealloc, re_x2nrealloc): New inline functions.
81727         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
81728         parse_bracket_exp):
81729         (build_equiv_class, build_charclass): Check for arithmetic overflow
81730         in size expression calculations.
81731         * lib/regex_internal.c (re_string_realloc_buffers):
81732         (build_wcs_upper_buffer, re_node_set_add_intersect):
81733         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
81734         (re_dfa_add_node, register_state): Likewise.
81735         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
81736         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
81737         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
81738         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
81739
81740 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
81741
81742         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
81743         m4/ulonglong.m4.  Problem reported by Martin Lambers.
81744
81745 2005-09-02  Bruno Haible  <bruno@clisp.org>
81746
81747         Support for lib vs. lib64 distinction on biarch platforms.
81748         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
81749         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
81750         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
81751
81752 2005-09-02  Bruno Haible  <bruno@clisp.org>
81753
81754         * gnulib-tool (import): In the other first-use case, provide defaults
81755         as well.
81756
81757 2005-09-02  Bruno Haible  <bruno@clisp.org>
81758
81759         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
81760         patches not yet found in the latest gettext release.
81761
81762 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81763
81764         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
81765         to avoid a collision with bits/local_lim.h in glibc.
81766         All uses changed.  Problem reported by Dmitry V. Levin in
81767         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
81768
81769         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
81770         bugs in int versus size_t comparisons.
81771         (re_string_context_at): Fix bug where the code assumed that
81772         Idx is signed.
81773
81774         Use bool where appropriate.
81775         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
81776         All callers changed.
81777         (calc_eclosure_iter): Likewise, for ROOT arg.
81778         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
81779         (build_charclass_op): Likewise, for NON_MATCH arg.
81780         * lib/regex_internal.c (re_string_allocate, re_string_construct):
81781         (re_string_construct_common): Likewise, for ICASE arg.
81782         * lib/regexec.c (re_search_2_stub, re_search_stub):
81783         Likewise, for RET_LEN arg.
81784         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
81785         (set_regs): Likewise, for FL_BACKTRACK arg.
81786         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
81787         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
81788         (calc_eclosure_iter, parse_bracket_exp):
81789         Use bool for internal variables that are booleans.
81790         * lib/regexec.c (re_search_internal, check_matching,
81791         proceed_next_node):
81792         (set_regs, build_sifted_states, sift_states_bkref):
81793         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
81794         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
81795         (find_collation_sequence_value):
81796         Likewise.
81797         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
81798         (re_node_set_compare):
81799         Return bool, not int. All callers changed.
81800         * lib/regexec.c (check_halt_node_context, check_dst_limits):
81801         (build_trtable, check_node_accept): Likewise.
81802         * lib/regex_internal.h: Include stdbool.h.
81803
81804         Fix bugs uncovered when converting to bool.
81805         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
81806         failure instead of charging ahead blindly.
81807         * lib/regex_internal.c (register_state): Likewise.
81808         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
81809         for freeing internal storage.
81810         (group_nodes_into_DFA_states): Use unsigned int, not int, for
81811         bitset pieces used as boolean, to avoid undefined behavior
81812         on hosts that do int overflow checking.
81813
81814 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
81815
81816         * config/srclist.txt: Add glibc bugs 1285-1287.
81817
81818 2005-09-01  Jim Meyering  <jim@meyering.net>
81819
81820         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
81821         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
81822         Require gl_STAT_MACROS, too.
81823
81824 2005-09-01  Bruno Haible  <bruno@clisp.org>
81825
81826         * gnulib-tool (import): In the first-use case, provide defaults.
81827
81828 2005-09-01  Bruno Haible  <bruno@clisp.org>
81829
81830         * gnulib-tool (func_import): Remove the .tmp files.
81831
81832 2005-09-01  Bruno Haible  <bruno@clisp.org>
81833
81834         * gnulib-tool (func_import): Fix handling of symbolic links.
81835
81836 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81837
81838         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
81839         old glibc regex code mishandles strings longer than 2**31 bytes.
81840         This patch fixes this when the regex code is used in gnulib
81841         (i.e., outside glibc).
81842
81843         This patch should not affect the use of the regex code inside
81844         glibc.  No doubt this problem also needs to be handled for glibc
81845         as well, but the result will be an incompatible change to the
81846         glibc ABI, and the old ABI will have to be supported too.  That
81847         can be the the subject for another patch.
81848
81849         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
81850         governing whether the rest of this patch is active.  By default,
81851         the macro is disabled and the patch has no effect.
81852         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
81853         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
81854         (struct re_pattern_buffer, re_search, re_search_2, re_match):
81855         (re_match_2, re_set_registers): Use the new types.
81856         * lib/regex_internal.h (Idx, re_hashval_t): New types.
81857         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
81858         New macros.
81859         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
81860         (re_string_context_at, bin_tree_t, re_dfastate_t):
81861         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
81862         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
81863         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
81864         (re_string_char_size_at, re_string_wchar_at):
81865         (re_string_elem_size_at):
81866         Use the new types and macros to port to 64-bit hosts.
81867         Use unsigned types for internal values, so that the code
81868         mostly works even for arrays larger than SSIZE_MAX.
81869         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
81870         (search_duplicated_node, calc_eclosure_iter, fetch_number):
81871         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
81872         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
81873         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
81874         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
81875         (calc_inveclosure, parse_dup_op, build_range_exp):
81876         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
81877         (fetch_number, create_token_tree, mark_opt_subexp):
81878         Likewise.
81879         * lib/regex_internal.c (re_string_construct_common,
81880         create_ci_newstate):
81881         (create_cd_newstate, re_string_allocate, re_string_construct):
81882         (re_string_realloc_buffers, build_wcs_upper_buffer):
81883         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
81884         (re_string_reconstruct, re_string_peek_byte_case):
81885         (re_string_fetch_byte_case, re_string_context_at):
81886         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
81887         (re_node_set_init_copy, re_node_set_add_intersect):
81888         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
81889         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
81890         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
81891         (re_acquire_state, re_acquire_state_context, register_state):
81892         Likewise.
81893         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
81894         search_cur_bkref_entry):
81895         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
81896         (re_search_internal, re_search_2_stub, re_search_stub)
81897         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
81898         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
81899         (update_cur_sifted_state, check_dst_limits):
81900         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81901         (check_subexp_limits, sift_states_bkref, merge_state_array):
81902         (check_subexp_matching_top, get_subexp, get_subexp_sub):
81903         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
81904         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
81905         (expand_bkref_cache, check_node_accept_bytes):
81906         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
81907         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
81908         (acquire_init_state_context, check_halt_node_context):
81909         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
81910         (sift_states_backward, clean_state_log_if_needed):
81911         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
81912         (find_recover_state, transit_state_sb, transit_state_mb):
81913         (transit_state_bkref, build_trtable, match_ctx_clean):
81914         Likewise.
81915         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
81916         to work around an assumption that REG_MISSING is negative.
81917
81918         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
81919         (seek_collating_symbol_entry) [defined _LIBC]:
81920         (lookup_collation_sequence_value) [defined _LIBC]:
81921         (build_range_exp, build_collating_symbol) [defined _LIBC]:
81922         Use prototypes rather than old-style function definitions.
81923         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
81924         (transit_state_sb) [0]:
81925         (find_collation_sequence_value) [defined _LIBC]: Likewise.
81926
81927         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
81928         rm_eo.
81929
81930         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
81931         (optimize_subexps, lower_subexp):
81932         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
81933         since the signed shift might overflow.  Use 1u<<31 instead.
81934         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
81935         Likewise.
81936         * lib/regexec.c (check_dst_limits_calc_pos_1,
81937         check_subexp_matching_top): Likewise.
81938
81939         * lib/regcomp.c (optimize_subexps, lower_subexp):
81940         Use CHAR_BIT rather than 8, for clarity.
81941         * lib/regexec.c (check_dst_limits_calc_pos_1):
81942         (check_subexp_matching_top): Likewise.
81943         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
81944         have to worry about portability issues when shifting it left.
81945         Remove no-longer-needed test for table_size > 0.
81946         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
81947         in a word, as the resulting behavior is undefined.
81948         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
81949         in one case, a <= should have been an <, and in another case the
81950         whole test was missing.
81951         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
81952         the standard name CHAR_BIT.
81953         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
81954         this is not true on one's complement and signed-magnitude hosts.
81955
81956         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
81957         next_last_offset.
81958         (struct re_dfa_t): Remove unused member states_alloc.
81959         * lib/regcomp.c (init_dfa): Don't initialize unused members.
81960
81961 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81962
81963         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
81964         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
81965         and large-file glibc and in 32-bit large-file Solaris.
81966
81967 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81968
81969         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
81970         lengths fit in regoff_t; this isn't true if regoff_t is the same
81971         width as size_t.
81972         * lib/regex.c (re_search_internal): 5th arg is LAST_START
81973         (= START + RANGE) instead of RANGE.  This avoids overflow
81974         problems when regoff_t is the same width as size_t.
81975         All callers changed.
81976         (re_search_2_stub): Check for overflow when adding the
81977         sizes of the two strings.
81978         (re_search_stub): Check for overflow when adding START
81979         to RANGE; if it occurs, substitute the extreme value.
81980
81981 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
81982
81983         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
81984
81985 2005-08-31  Jim Meyering  <jim@meyering.net>
81986
81987         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
81988         a pointer-to-const.
81989         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
81990         (register_state): Likewise.
81991         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
81992         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
81993         (group_nodes_into_DFAstates): Likewise.
81994
81995 2005-08-31  Jim Meyering  <jim@meyering.net>
81996
81997         * check-module: Add a FIXME comment.
81998
81999 2005-08-31  Eric Blake  <ebb9@byu.net>
82000
82001         * modules/unistd-safer (Files): Add unistd--.h.
82002         * modules/stdio-safer (Files): Add stdio--.h.
82003
82004 2005-08-31  Derek Price  <derek@ximbiot.com>
82005
82006         * lib/getdelim.c (getdelim): Return EOF on EOF.
82007         Reported by Larry Jones <lawrence.jones@ugs.com>.
82008
82009 2005-08-31  Bruno Haible  <bruno@clisp.org>
82010
82011         Avoid unnecessary diffs in the generated lib/Makefile.am.
82012         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82013         the generated files.
82014         (func_import): Don't set cmd.
82015
82016 2005-08-31  Bruno Haible  <bruno@clisp.org>
82017
82018         * lib/strstr.c: Include <stddef.h>, for NULL.
82019         * lib/strcasestr.c: Likewise.
82020         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82021
82022 2005-08-31  Bruno Haible  <bruno@clisp.org>
82023
82024         * gnulib-tool: New option --macro-prefix.
82025         (func_import): Use macro_prefix.
82026         (import): Handle option --macro-prefix.
82027
82028 2005-08-31  Bruno Haible  <bruno@clisp.org>
82029
82030         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82031         Also use new variables cached_lgpl, cached_libtool.
82032
82033 2005-08-31  Bruno Haible  <bruno@clisp.org>
82034
82035         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82036         always instantiating them.
82037
82038 2005-08-31  Bruno Haible  <bruno@clisp.org>
82039
82040         * gnulib-tool (func_import): Read the previous cached settings
82041         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82042         earlier added by gnulib but are now dropped. Warn when a gnulib file
82043         overwrites a non-gnulib file.
82044
82045 2005-08-31  Bruno Haible  <bruno@clisp.org>
82046
82047         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82048         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82049         projects that don't keep autogenerated files in CVS. Put into
82050         actioncmd only the specified modules, not the transitive closure.
82051
82052 2005-08-31  Bruno Haible  <bruno@clisp.org>
82053
82054         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82055         Create directories that shall be filled.
82056         (import): Don't look for gl_* macros in configure.ac. Recurse across
82057         all directories containing a gnulib-cache.m4 files, if meaningful.
82058
82059 2005-08-31  Bruno Haible  <bruno@clisp.org>
82060
82061         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82062         (import): Set seen_libtool when we see gl_LIBTOOL.
82063
82064 2005-08-31  Bruno Haible  <bruno@clisp.org>
82065
82066         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82067         declaration macro definitions from generated gnulib.m4.
82068
82069 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82070
82071         * lib/iconvme.h: Add prototype for iconv_alloc.
82072
82073 2005-08-29  Simon Josefsson  <jas@extundo.com>
82074
82075         * lib/iconvme.c: Fix errno.
82076
82077 2005-08-29  Bruno Haible  <bruno@clisp.org>
82078
82079         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82080         that it works when the directory contains spaces.
82081
82082 2005-08-29  Bruno Haible  <bruno@clisp.org>
82083
82084         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82085
82086 2005-08-29  Bruno Haible  <bruno@clisp.org>
82087
82088         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82089         Emit more advice.
82090
82091 2005-08-29  Bruno Haible  <bruno@clisp.org>
82092         and Stepan Kasal  <kasal@ucw.cz>
82093
82094         * check-module: If more parameters are given, check each of them
82095         separately; add more exceptions, as noted by Jim Meyering.
82096         (check_module): New procedure.
82097         (%exempt_header): Now contains all exceptions.
82098
82099 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82100
82101         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82102
82103 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82104
82105         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82106
82107 2005-08-28  Bruno Haible  <bruno@clisp.org>
82108
82109         * m4/gnulib-tool.m4: New file.
82110
82111 2005-08-27  Jim Meyering  <jim@meyering.net>
82112
82113         * modules/unistd-safer (Files): Add pipe-safer.c.
82114         * modules/fcntl-safer (Files): Add creat-safer.c.
82115
82116 2005-08-27  Jim Meyering  <jim@meyering.net>
82117
82118         * m4/stdlib-safer.m4: New file.  From coreutils.
82119         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82120         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82121         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82122         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82123         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82124
82125 2005-08-27  Jim Meyering  <jim@meyering.net>
82126
82127         * lib/fopen-safer.c: Merge minor changes from coreutils.
82128         * lib/dup-safer.c: Likewise.
82129         * lib/fd-safer.c: Likewise.
82130
82131         Merge from coreutils.
82132         * lib/stdio--.h: New file.
82133         * lib/stdlib--.h: New file.
82134         * lib/mkstemp-safer.c: New file.
82135
82136         GNU tar needs these.
82137         * lib/pipe-safer.c: New file.
82138         * lib/creat-safer.c: New file.
82139         * lib/fcntl--.h (creat): Define to creat_safer.
82140         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82141         * lib/unistd--.h (pipe): Define to pipe_safer.
82142         * lib/unistd-safer.h: Declare pipe_safer.
82143
82144 2005-08-26  Simon Josefsson  <jas@extundo.com>
82145
82146         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82147         Haible <bruno@clisp.org>.
82148
82149 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82150
82151         * lib/regex_internal.h: Remove all references to
82152         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82153         or better.
82154         (bitset_not, bitset_merge, bitset_not_merge):
82155         (bitset_mask, re_string_allocate, re_string_construct):
82156         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82157         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82158         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82159         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82160         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82161         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82162         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82163         (re_acquire_state_context):
82164         Remove unnecessary forward decls.
82165         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82166         Put __attribute at function definition,
82167         now that the function decl has been removed.
82168         * lib/regex_internal.c (re_string_peek_byte_case):
82169         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82170         Likewise.
82171
82172 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
82173
82174         * m4/regex.m4: Add AC_PREREQ(2.50).
82175         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
82176
82177 2005-08-25  Simon Josefsson  <jas@extundo.com>
82178
82179         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
82180         __fsetlocking.
82181
82182 2005-08-25  Simon Josefsson  <jas@extundo.com>
82183
82184         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
82185         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
82186         GLIBC specific code.
82187
82188 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82189
82190         Make regex safe for g++.  This fixes one real bug (an "err"
82191         that should have been "*err").  g++ problem reported by
82192         Sam Steingold.
82193         * lib/regex_internal.h (re_calloc): New macro, consistent with
82194         re_malloc etc.  All callers of calloc changed to use re_calloc.
82195         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
82196         not int.  All callers changed.
82197         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
82198         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
82199         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
82200         (find_recover_state): Change "err" to "*err"; this fixes what
82201         appears to be a real bug.
82202         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
82203         versus int.
82204
82205 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82206
82207         * modules/regex (Depends-on): Add malloc, since the code
82208         assumes that !malloc(0) means failure.
82209
82210 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82211
82212         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
82213
82214         alloca modernization/simplification for regex.
82215         * lib/regex.c: Remove portability cruft for alloca.  This no longer
82216         needs to be at the start of the file, and can be moved into
82217         regex_internal.h and simplified.
82218         * lib/regex_internal.h: Include <alloca.h>.
82219         (__libc_use_alloca) [!defined _LIBC]: New macro.
82220         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
82221         now works outside glibc.
82222
82223 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
82224
82225         * config/srclist.txt: Add glibc bugs 1241, 1245.
82226
82227 2005-08-25  Jim Meyering  <jim@meyering.net>
82228
82229         * lib/open-safer.c: Include <config.h>.
82230         Otherwise, we'd lose LARGEFILE support in any file using
82231         e.g. "fcntl--.h"
82232
82233 2005-08-25  Bruno Haible  <bruno@clisp.org>
82234
82235         * m4/minmax.m4: Require autoconf 2.52.
82236         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
82237         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
82238         alternatives of translit over the alphabet.
82239         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
82240
82241 2005-08-24  Simon Josefsson  <jas@extundo.com>
82242
82243         * tests/test-getpass.c: New file.
82244
82245 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82246
82247         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
82248         for GNU regex features.
82249
82250 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82251
82252         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
82253         * lib/regex.h (regerror): Likewise.
82254
82255         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
82256         requires this.  (The code never needed it.)
82257
82258         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
82259         All uses of recently-renamed identifiers changed to use the new,
82260         POSIX-compliant names.  The code will build and run just fine
82261         without these changes, but it's better to eat our own dog food
82262         and use the standard-conforming names.
82263
82264         * lib/regex.h: Fix a multitude of POSIX name space violations.
82265         These changes have an effect only for programs that define
82266         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
82267         do not change anything for programs compiled in the normal way.
82268         Also, there is no effect on the ABI.
82269
82270         (_REGEX_SOURCE): New macro.
82271         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
82272         defined and _GNU_SOURCE is not; this fixes a name space violation.
82273
82274         Rename the following macros to obey POSIX requirements.
82275         The old names are still visible as macros if _REGEX_SOURCE is defined.
82276         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
82277         RE_BACKSLASH_ESCAPE_IN_LISTS.
82278         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
82279         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
82280         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
82281         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
82282         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
82283         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
82284         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
82285         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
82286         (REG_INTERVALS): renamed from RE_INTERVALS.
82287         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
82288         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
82289         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
82290         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
82291         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
82292         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
82293         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
82294         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
82295         RE_UNMATCHED_RIGHT_PAREN_ORD.
82296         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
82297         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
82298         (REG_DEBUG): renamed from RE_DEBUG.
82299         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
82300         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
82301         unusual, since we can't clash with the POSIX REG_ICASE.
82302         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
82303         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
82304         (REG_NO_SUB): renamed from RE_NO_SUB.
82305         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
82306         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
82307         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
82308         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
82309         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
82310         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
82311         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
82312         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
82313         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
82314         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
82315         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
82316         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
82317         RE_SYNTAX_POSIX_MINIMAL_BASIC.
82318         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
82319         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
82320         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
82321         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
82322         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
82323         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
82324         (REG_FIXED): Renamed from REGS_FIXED.
82325         (REG_NREGS): Renamed from RE_NREGS.
82326
82327         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
82328         of other REG_* macros, since POSIX says the user is allowed to
82329         #undef these macros selectively.
82330
82331         (reg_errcode_t): Update comment stating what other tables need
82332         to be consistent.
82333
82334         Rename the following enum values to obey POSIX requirements.
82335         The old names are still visible as macros.
82336         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
82337         is not defined, since GNU is supposed to be a superset of POSIX as
82338         much as possible, and since we want reg_errcode_t to be a signed
82339         type for implementation consistency.
82340         (_REG_NOERROR): Renamed from REG_NOERROR.
82341         (_REG_NOMATCH): Renamed from REG_NOMATCH.
82342         (_REG_BADPAT): Renamed from REG_BADPAT.
82343         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
82344         (_REG_ECTYPE): Renamed from REG_ECTYPE.
82345         (_REG_EESCAPE): Renamed from REG_EESCAPE.
82346         (_REG_ESUBREG): Renamed from REG_ESUBREG.
82347         (_REG_EBRACK): Renamed from REG_EBRACK.
82348         (_REG_EPAREN): Renamed from REG_EPAREN.
82349         (_REG_EBRACE): Renamed from REG_EBRACE.
82350         (_REG_BADBR): Renamed from REG_BADBR.
82351         (_REG_ERANGE): Renamed from REG_ERANGE.
82352         (_REG_ESPACE): Renamed from REG_ESPACE.
82353         (_REG_BADRPT): Renamed from REG_BADRPT.
82354         (_REG_EEND): Renamed from REG_EEND.
82355         (_REG_ESIZE): Renamed from REG_ESIZE.
82356         (_REG_ERPAREN): Renamed from REG_ERPAREN.
82357         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
82358         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
82359         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
82360         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
82361
82362         (_REG_RE_NAME, _REG_RM_NAME): New macros.
82363         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
82364         changed.  But support the old name if the new one is not defined
82365         and if _REGEX_SOURCE.
82366
82367         Change the following member names in struct re_pattern_buffer.
82368         The old names are still supported if !_REGEX_SOURCE.
82369         The new names are always supported, regardless of _REGEX_SOURCE.
82370         (re_buffer): Renamed from buffer.
82371         (re_allocated): Renamed from allocated.
82372         (re_used): Renamed from used.
82373         (re_syntax): Renamed from syntax.
82374         (re_fastmap): Renamed from fastmap.
82375         (re_translate): Renamed from translate.
82376         (re_can_be_null): Renamed from can_be_null.
82377         (re_regs_allocated): Renamed from regs_allocated.
82378         (re_fastmap_accurate): Renamed from fastmap_accurate.
82379         (re_no_sub): Renamed from no_sub.
82380         (re_not_bol): Renamed from not_bol.
82381         (re_not_eol): Renamed from not_eol.
82382         (re_newline_anchor): Renamed from newline_anchor.
82383
82384         Change the following member names in struct re_registers.
82385         The old names are still supported if !_REGEX_SOURCE.
82386         The new names are always supported, regardless of _REGEX_SOURCE.
82387         (rm_num_regs): Renamed from num_regs.
82388         (rm_start): Renamed from start.
82389         (rm_end): Renamed from end.
82390
82391         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
82392         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
82393         Prepend __ to parameter names.
82394
82395         Undo yesterday's changes.
82396
82397 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
82398
82399         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
82400         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
82401         lib/regex.c.
82402
82403 2005-08-24  Jim Meyering  <jim@meyering.net>
82404
82405         Sync from coreutils.
82406         * m4/fcntl-safer.m4: New file.
82407
82408         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
82409         and object files for this module.
82410
82411 2005-08-24  Jim Meyering  <jim@meyering.net>
82412
82413         Sync from coreutils.
82414         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
82415
82416 2005-08-24  Jim Meyering  <jim@meyering.net>
82417
82418         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
82419         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
82420
82421 2005-08-24  Jim Meyering  <jim@meyering.net>
82422
82423         * modules/fcntl-safer: New module.
82424         * modules/fts (Depends-on): Add fcntl-safer.
82425         * MODULES.html.sh (File descriptor based Input/Output):
82426         Add fcntl-safer.
82427
82428 2005-08-24  Bruno Haible  <bruno@clisp.org>
82429
82430         Support for unit test modules.
82431         * modules/README: Mention tests modules.
82432         * modules/TEMPLATE-TESTS: New file.
82433         * gnulib-tool: New options --extract-tests-module, --with-tests and
82434         --tests-base (unused for the moment).
82435         (testsbase, inctests): New variables.
82436         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
82437         (func_verify_module): Exclude TEMPLATE-TESTS.
82438         (func_verify_nontests_module, func_verify_tests_module): New functions.
82439         (func_get_dependencies): Add implicit dependency for tests modules.
82440         (func_get_tests_module): New function.
82441         (func_modules_transitive_closure): When --with-tests was specified,
82442         include the unit tests as well, unless explicitly avoided.
82443         (func_emit_lib_Makefile_am): Ignore the tests modules here.
82444         (func_emit_tests_Makefile_am): New function.
82445         (func_create_testdir): When --with-tests was specified, emit a
82446         tests/ directory.
82447         * MODULES.html.sh (Future developments): Update.
82448
82449 2005-08-24  Bruno Haible  <bruno@clisp.org>
82450
82451         * modules/tls-tests: New file.
82452         * tests/test-tls.c: New file, from GNU gettext.
82453
82454 2005-08-24  Bruno Haible  <bruno@clisp.org>
82455
82456         * modules/lock-tests: New file.
82457         * tests/test-lock.c: New file, from GNU gettext.
82458
82459 2005-08-24  Bruno Haible  <bruno@clisp.org>
82460
82461         * lib/lock.h: Add multiple inclusion guard.
82462         * lib/tls.h: Add multiple inclusion guard.
82463
82464 2005-08-24  Bruno Haible  <bruno@clisp.org>
82465
82466         * gnulib-tool: Add support for the --aux-dir option to
82467         --create-testdir, --create-megatestdir, --test, --megatest.
82468         (func_create_testdir, func_create_megatestdir): Optionally emit a
82469         AC_CONFIG_AUX_DIR directive.
82470         (create-testdir, create-megatestdir, test, megatest): Provide a
82471         default value for $auxdir.
82472
82473 2005-08-24  Bruno Haible  <bruno@clisp.org>
82474
82475         * gnulib-tool (import): Use compound statement instead of subshell
82476         where possible.
82477
82478 2005-08-24  Bruno Haible  <bruno@clisp.org>
82479
82480         * gnulib-tool (import): Change --aux-dir default to "build-aux".
82481
82482 2005-08-24  Bruno Haible  <bruno@clisp.org>
82483
82484         * gnulib-tool (func_version): Update.
82485
82486 2005-08-24  Bruno Haible  <bruno@clisp.org>
82487
82488         * gnulib-tool (func_import, func_create_testdir,
82489         func_create_megatestdir): Quote all autoconf macro arguments.
82490
82491 2005-08-24  Bruno Haible  <bruno@clisp.org>
82492
82493         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
82494         option --force, because --force causes the aclocal.m4 of each
82495         subdirectory to be newer than the corresponding config.h.in.
82496
82497 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82498
82499         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
82500         All contents moved to gl_REGEX.
82501         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
82502         assume that it does.
82503
82504 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82505
82506         * lib/regex.h (REG_NOSYS)
82507         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
82508         Define, since POSIX requires it as of 2001.
82509         (_REG_ENOSYS)
82510         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
82511         New private symbol, used to keep the enum signed in all cases.
82512         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
82513         Youngman in
82514         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
82515
82516         * lib/regex_internal.c (re_string_skip_chars, register_state):
82517         (calc_state_hash):
82518         Remove forward decls; no longer needed now that we use prototypes.
82519         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
82520         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
82521         (clean_state_log_if_needed): Likewise.
82522
82523 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
82524
82525         * config/srclist.txt: Add glibc bugs 1231-1233.
82526
82527 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82528
82529         Fix problems reported by Sam Steingold in
82530         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
82531         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
82532         assumed that reg_errcode_t is a signed type, which is not
82533         necessarily true if _XOPEN_SOURCE is not defined.
82534         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
82535         since some compilers warn about it otherwise.
82536
82537 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82538
82539         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
82540         (init_word_char, create_initial_state, duplicate_node_closure):
82541         (fetch_token, peek_token_bracket, build_range_exp):
82542         (build_collating_symbol): Remove forward decls; no longer needed
82543         now that we use prototypes.
82544
82545         * lib/regcomp.c:
82546         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
82547         (re_compile_fastmap_iter, regcomp, regerror, regfree):
82548         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
82549         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
82550         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
82551         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
82552         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
82553         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
82554         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
82555         (build_range_exp, build_collating_symbol, parse_bracket_exp):
82556         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
82557         (build_charclass, build_charclass_op, fetch_number, create_tree):
82558         (create_token_tree, mark_opt_subexp, duplicate_tree):
82559         Use prototypes rather than old-style definitions.
82560
82561         * lib/regex_internal.c:
82562         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
82563         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
82564         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82565         (re_string_reconstruct, re_string_peek_byte_case):
82566         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
82567         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82568         (re_node_set_init_copy, re_node_set_add_intersect):
82569         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82570         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82571         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82572         (re_acquire_state, re_acquire_state_context, register_state):
82573         (create_ci_newstate, create_cd_newstate, free_state):
82574         Likewise.
82575         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
82576         re_search_2):
82577         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
82578         (re_search_internal, prune_impossible_nodes):
82579         (acquire_init_state_context, check_matching, static):
82580         (check_halt_node_context, check_halt_state_context, proceed_next_node):
82581         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
82582         (update_regs, sift_states_backward, build_sifted_states):
82583         (clean_state_log_if_needed, merge_state_array):
82584         (update_cur_sifted_state, add_epsilon_src_nodes):
82585         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
82586         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
82587         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
82588         (find_recover_state, check_subexp_matching_top, transit_state_mb):
82589         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
82590         (check_arrival, check_arrival_add_next_nodes):
82591         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82592         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82593         (check_node_accept_bytes, check_node_accept, extend_buffers):
82594         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
82595         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
82596         (sift_ctx_init):
82597         Likewise.
82598
82599         * lib/regex_internal.h:
82600         (re_string_allocate, re_string_construct, re_string_reconstruct):
82601         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
82602         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
82603         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
82604         (re_string_context_at, re_string_peek_byte_case):
82605         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
82606         is defined, since we now use prototypes always.
82607
82608         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
82609         C89 or better.  All uses removed.
82610
82611 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
82612
82613         * config/srclist.txt: Add glibc bugs 1220-1227.
82614
82615 2005-08-20  Jim Meyering  <jim@meyering.net>
82616
82617         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
82618         of unused local, dfa.
82619
82620 2005-08-20  Bruno Haible  <bruno@clisp.org>
82621
82622         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
82623
82624 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82625
82626         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
82627         (re_node_set_insert_last, re_dfa_add_node):
82628         Rename local variables to avoid GCC shadowing warnings.
82629
82630 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82631
82632         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
82633         [defined lint]: Suppress bogus uninitialized-variable warnings.
82634
82635         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
82636         and let the caller return REG_ESPACE if out of space.  This
82637         removes an uninitialied-variable warning with GCC 4.0.1, and also
82638         avoids taking the address of a local variable.  All callers
82639         changed.
82640
82641 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
82642
82643         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
82644         $LIBCSRC/posix/regexec.c.
82645         Add glibc bug 1217 for regcomp.c.
82646
82647 2005-08-19  Jim Meyering  <jim@meyering.net>
82648
82649         * lib/regexec.c (proceed_next_node): Redo local variables to
82650         avoid GCC shadowing warnings.
82651
82652 2005-08-18  Bruno Haible  <bruno@clisp.org>
82653
82654         * lib/strstr.c (strstr): Fix return value in multibyte case.
82655         * lib/strcasestr.c (strcasestr): Likewise.
82656
82657 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
82658
82659         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
82660
82661 2005-08-17  Jim Meyering  <jim@meyering.net>
82662
82663         Make the %s format (seconds since the epoch) work for a negative
82664         number and when used with a zero-padded field width, e.g. %015s.
82665
82666         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
82667         label so that it precedes the code to set `digits'.  Otherwise,
82668         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
82669         print `00-22'.  Now, it prints `-0022', as it should.
82670
82671 2005-08-17  Bruno Haible  <bruno@clisp.org>
82672
82673         * modules/strstr (Files): Add m4/mbrtowc.m4.
82674         (Depends-on): Add mbuiter.
82675
82676 2005-08-17  Bruno Haible  <bruno@clisp.org>
82677
82678         * modules/strcasestr: New file.
82679         * MODULES.html.sh (String handling, based on ANSI C 89): Add
82680         strcasestr.
82681
82682 2005-08-17  Bruno Haible  <bruno@clisp.org>
82683
82684         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
82685
82686 2005-08-17  Bruno Haible  <bruno@clisp.org>
82687
82688         * modules/mbuiter: New file.
82689         * MODULES.html.sh (Extended multibyte and wide character utilities):
82690         Add mbuiter.
82691
82692 2005-08-17  Bruno Haible  <bruno@clisp.org>
82693
82694         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
82695         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
82696
82697 2005-08-17  Bruno Haible  <bruno@clisp.org>
82698
82699         * m4/strcasestr.m4: New file.
82700
82701 2005-08-17  Bruno Haible  <bruno@clisp.org>
82702
82703         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
82704         * lib/strstr.c: Completely rewritten, with multibyte locale support.
82705
82706 2005-08-17  Bruno Haible  <bruno@clisp.org>
82707
82708         * lib/strcasestr.h: New file.
82709         * lib/strcasestr.c: New file.
82710
82711 2005-08-17  Bruno Haible  <bruno@clisp.org>
82712
82713         * lib/strcasecmp.c: Use mbuiter.h.
82714
82715 2005-08-17  Bruno Haible  <bruno@clisp.org>
82716
82717         * lib/mbuiter.h: New file.
82718
82719 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
82720
82721         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
82722         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
82723         and gl_GETOPT are both invoked via different paths (as happens
82724         with GNU tar CVS because it uses both argp and getopt), the former
82725         wins.
82726
82727 2005-08-16  Bruno Haible  <bruno@clisp.org>
82728
82729         * modules/tls: New file.
82730         * MODULES.html.sh (Multithreading): Add tls.
82731
82732 2005-08-16  Bruno Haible  <bruno@clisp.org>
82733
82734         * modules/strnlen1: New file.
82735         * MODULES.html.sh (String handling): Add strnlen1.
82736
82737 2005-08-16  Bruno Haible  <bruno@clisp.org>
82738
82739         * modules/strcase (Files): Add m4/mbrtowc.m4.
82740         (Depends-on): Add strnlen1, mbchar.
82741
82742 2005-08-16  Bruno Haible  <bruno@clisp.org>
82743
82744         * modules/mbiter: New file.
82745         * MODULES.html.sh (Extended multibyte and wide character utilities):
82746         Add mbiter.
82747
82748 2005-08-16  Bruno Haible  <bruno@clisp.org>
82749
82750         * modules/mbfile: New file.
82751         * MODULES.html.sh (Extended multibyte and wide character utilities):
82752         Add mbfile.
82753
82754 2005-08-16  Bruno Haible  <bruno@clisp.org>
82755
82756         * modules/mbchar: New file.
82757         * MODULES.html.sh (Extended multibyte and wide character utilities):
82758         New section.
82759
82760 2005-08-16  Bruno Haible  <bruno@clisp.org>
82761
82762         * m4/tls.m4: New file, from GNU gettext.
82763
82764 2005-08-16  Bruno Haible  <bruno@clisp.org>
82765
82766         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
82767         always.
82768         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
82769
82770 2005-08-16  Bruno Haible  <bruno@clisp.org>
82771
82772         * m4/mbiter.m4: New file.
82773
82774 2005-08-16  Bruno Haible  <bruno@clisp.org>
82775
82776         * m4/mbfile.m4: New file.
82777
82778 2005-08-16  Bruno Haible  <bruno@clisp.org>
82779
82780         * m4/mbchar.m4: New file.
82781
82782 2005-08-16  Bruno Haible  <bruno@clisp.org>
82783
82784         * lib/tls.h: New file, from GNU gettext.
82785         * lib/tls.c: New file, from GNU gettext.
82786
82787 2005-08-16  Bruno Haible  <bruno@clisp.org>
82788
82789         * lib/strnlen1.h: New file.
82790         * lib/strnlen1.c: New file.
82791
82792 2005-08-16  Bruno Haible  <bruno@clisp.org>
82793
82794         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
82795         (mbi_init): Update.
82796         (mbi_avail, mbi_advance): Let the iteration end before the terminating
82797         NUL byte, not after it.
82798
82799 2005-08-16  Bruno Haible  <bruno@clisp.org>
82800
82801         * lib/strcase.h (strcasecmp): Add note in comments.
82802         * lib/strncasecmp.c: Use code from strcasecmp.c.
82803         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
82804         (strcasecmp): Work correctly in multibyte locales.
82805
82806 2005-08-16  Bruno Haible  <bruno@clisp.org>
82807
82808         * lib/mbiter.h: New file.
82809
82810 2005-08-16  Bruno Haible  <bruno@clisp.org>
82811
82812         * lib/mbfile.h: New file.
82813
82814 2005-08-16  Bruno Haible  <bruno@clisp.org>
82815
82816         * lib/mbchar.h: New file.
82817         * lib/mbchar.c: New file.
82818
82819 2005-08-16  Bruno Haible  <bruno@clisp.org>
82820
82821         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
82822         the valid ones. Makes the comparison operations transitive:
82823         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
82824         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
82825
82826 2005-08-15  Simon Josefsson  <jas@extundo.com>
82827
82828         * modules/ssize_t (License): Change to 'unlimited'.
82829
82830         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
82831
82832 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
82833
82834         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
82835         Add comments for each pending glibc patch.
82836
82837 2005-08-15  Bruno Haible  <bruno@clisp.org>
82838
82839         * lib/regex.h (__restrict_arr): Don't define to __restrict if
82840         __cplusplus is defined.
82841
82842 2005-08-14  Jim Meyering  <jim@meyering.net>
82843
82844         Sync from coreutils.
82845
82846         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
82847         Use the hash-table-based cycle-detection code not just when
82848         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
82849         Reported by James Youngman in
82850         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
82851         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
82852         FTS_TIGHT_CYCLE_CHECK.
82853         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
82854         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
82855         once again.
82856         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
82857         * lib/fts.c (fd_safer): Remove decl.
82858         Include fcntl--.h rather than unistd-safer.h
82859         (fts_safe_changedir): Don't call fd_safer; no longer needed
82860         now that we include fcntl--.h.
82861
82862 2005-08-12  Simon Josefsson  <jas@extundo.com>
82863
82864         * modules/getndelim2: Use ssize_t module.
82865         * modules/getnline: Likewise.
82866         * modules/safe-read: Likewise.
82867         * modules/xreadlink: Likewise.
82868
82869         * modules/ssize_t: New file.
82870
82871 2005-08-12  Simon Josefsson  <jas@extundo.com>
82872
82873         * m4/readline.m4: Look for termcap, curses or ncurses if required.
82874
82875 2005-08-12  Simon Josefsson  <jas@extundo.com>
82876
82877         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82878         ssize_t.
82879
82880 2005-08-12  Simon Josefsson  <jas@extundo.com>
82881
82882         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
82883         readline, getdelim and check_version.
82884         (Support for systems lacking ISO C 99: Sizes of integer types):
82885         Add size_max.
82886
82887 2005-08-12  Bruno Haible  <bruno@clisp.org>
82888
82889         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
82890
82891 2005-08-11  Simon Josefsson  <jas@extundo.com>
82892
82893         * modules/readline: New file.
82894
82895         * modules/strnlen (Files): Add strnlen.h.
82896
82897 2005-08-11  Simon Josefsson  <jas@extundo.com>
82898
82899         * m4/readline.m4: New file.
82900
82901 2005-08-11  Simon Josefsson  <jas@extundo.com>
82902
82903         * lib/readline.h, readline.c: New file.
82904
82905 2005-08-11  Simon Josefsson  <jas@extundo.com>
82906
82907         * doc/gnulib.texi (Initial import, Finishing touches): Mention
82908         gl_AVOID.
82909
82910 2005-08-11  Bruno Haible  <bruno@clisp.org>
82911
82912         * lib/strnlen.h (strnlen): Change parameter name to match comment.
82913
82914 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
82915
82916         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
82917
82918 2005-08-10  Simon Josefsson  <jas@extundo.com>
82919
82920         * tests/test-iconvme.c: New file.
82921
82922 2005-08-10  Simon Josefsson  <jas@extundo.com>
82923
82924         * m4/strnlen.m4: New file.
82925
82926         * m4/strndup.m4: Don't check for strnlen declaration, done in
82927         strnlen.m4.
82928
82929 2005-08-10  Simon Josefsson  <jas@extundo.com>
82930
82931         * lib/strndup.c: Use strnlen.h.
82932
82933         * lib/strnlen.h: New file.
82934
82935 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82936
82937         * README: Typos.
82938
82939 2005-08-02  Simon Josefsson  <jas@extundo.com>
82940
82941         * modules/readline: New file.
82942
82943 2005-08-02  Simon Josefsson  <jas@extundo.com>
82944
82945         * modules/getdelim: New file.
82946
82947         * modules/getline: Rewrite, don't use getndelim2.
82948
82949 2005-08-02  Simon Josefsson  <jas@extundo.com>
82950
82951         * m4/getline.m4: Separate out getdelim stuff into separate module.
82952
82953         * m4/getdelim.m4: New file.
82954
82955 2005-08-02  Simon Josefsson  <jas@extundo.com>
82956
82957         * lib/getline.h, getline.c: Rewrite.
82958
82959         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
82960
82961 2005-07-31  Bruno Haible  <bruno@clisp.org>
82962
82963         * lib/lock.h (gl_lock_initializer): New macro.
82964         (gl_lock_define_initialized): Use it.
82965         (gl_rwlock_initializer): New macro.
82966         (gl_rwlock_define_initialized): Use it.
82967         (gl_recursive_lock_initializer): New macro.
82968         (gl_recursive_lock_define_initialized): Use it.
82969
82970 2005-07-30  Karl Berry  <karl@gnu.org>
82971
82972         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
82973         Report from Ben Pfaff, regarding getopt.
82974
82975 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
82976
82977         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
82978         normal way.
82979         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
82980         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
82981         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
82982         (gl_GETOPT): Use the new macros.  Most of the implementation
82983         is moved to the new macros.  This is for programs like Emacs
82984         that don't want all the functionality of gl_GETOPT.
82985
82986 2005-07-26  Bruno Haible  <bruno@clisp.org>
82987
82988         * m4/lock.m4: Update from GNU gettext.
82989
82990 2005-07-26  Bruno Haible  <bruno@clisp.org>
82991
82992         * lib/lock.h: Update from GNU gettext.
82993         * lib/lock.c: Update from GNU gettext.
82994
82995 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
82996
82997         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
82998         obsolescent AC_TRY_RUN.  Include the default includes files, for
82999         'exit'.
83000
83001 2005-07-24  Bruno Haible  <bruno@clisp.org>
83002
83003         * modules/visibility: New file.
83004         * MODULES.html.sh (Misc): Add visibility.
83005
83006 2005-07-24  Bruno Haible  <bruno@clisp.org>
83007
83008         * m4/visibility.m4: New file.
83009
83010 2005-07-24  Bruno Haible  <bruno@clisp.org>
83011
83012         * doc/visibility.texi: New file.
83013
83014 2005-07-22  Bruno Haible  <bruno@clisp.org>
83015
83016         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83017         $(ALLOCA_H), redundant through BUILT_SOURCES.
83018         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83019         redundant through BUILT_SOURCES.
83020         * modules/byteswap (Makefile.am): Remove explicit dependency on
83021         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83022         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83023         $(FNMATCH_H), redundant through BUILT_SOURCES.
83024         * modules/getopt (Makefile.am): Remove explicit dependency on
83025         $(GETOPT_H), redundant through BUILT_SOURCES.
83026         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83027         redundant through BUILT_SOURCES.
83028         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83029         redundant through BUILT_SOURCES.
83030         * modules/stdbool (Makefile.am): Remove explicit dependency on
83031         $(STDBOOL_H), redundant through BUILT_SOURCES.
83032         * modules/stdint (Makefile.am): Remove explicit dependency on
83033         $(STDINT_H), redundant through BUILT_SOURCES.
83034         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83035         Remove explicit dependency on $(SYSEXITS_H).
83036         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83037
83038 2005-07-18  Simon Josefsson  <jas@extundo.com>
83039
83040         * lib/check-version.c (check_version): Accept identical versions too.
83041
83042 2005-07-18  Bruno Haible  <bruno@clisp.org>
83043
83044         * modules/lock: New file.
83045         * MODULES.html.sh (Multithreading): New section.
83046
83047 2005-07-18  Bruno Haible  <bruno@clisp.org>
83048
83049         * m4/lock.m4: New file, from GNU gettext.
83050
83051 2005-07-18  Bruno Haible  <bruno@clisp.org>
83052
83053         * lib/lock.h: New file, from GNU gettext.
83054         * lib/lock.c: New file, from GNU gettext.
83055
83056 2005-07-18  Bruno Haible  <bruno@clisp.org>
83057
83058         * lib/lock.h (gl_once_t): New type.
83059         (gl_once_define, gl_once): New macros.
83060         * lib/lock.c (fresh_once): New variable.
83061         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83062         functions.
83063
83064 2005-07-16  Simon Josefsson  <jas@extundo.com>
83065
83066         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83067         workaround, suggested by Bruno.
83068
83069 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83070
83071         * modules/xalloc (Depends-on): Add xalloc-die.
83072         * modules/xvasprintf (Depends-on): Add xalloc-die.
83073
83074 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83075
83076         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83077         with a minor change.
83078
83079 2005-07-15  Bruno Haible  <bruno@clisp.org>
83080
83081         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83082         When using lib/poll.c, define poll as rpl_poll.
83083
83084 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83085
83086         * modules/argp (Depends-on): Remove unlocked-io.
83087
83088 2005-07-14  Derek Price  <derek@ximbiot.com>
83089
83090         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83091         for glob symlink bug.
83092
83093 2005-07-14  Bruno Haible  <bruno@clisp.org>
83094
83095         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83096         Instead, test for *_unlocked function declarations directly.
83097
83098 2005-07-11  Simon Josefsson  <jas@extundo.com>
83099
83100         * modules/size_max: New file.
83101
83102         * modules/xsize: Depend on size_max module for size_max.m4.
83103
83104 2005-07-11  Simon Josefsson  <jas@extundo.com>
83105
83106         * lib/size_max.h: New file.
83107
83108 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83109
83110         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83111         copyright symbol and the year.
83112         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83113         (version_etc_va): Use parameterized copyright notice.
83114         Reword to conform to the current GNU coding standards.
83115
83116 2005-07-11  Karl Berry  <karl@gnu.org>
83117
83118         * doc/gnulib.texi (Quoting): new node.
83119         (Initial import): more info, from Patrice.
83120
83121 2005-07-11  Bruno Haible  <bruno@clisp.org>
83122
83123         * gnulib-tool (func_usage): Document option --avoid.
83124         (Command line options): Handle --avoid.
83125         (func_acceptable): New function.
83126         (func_modules_transitive_closure): Use it.
83127
83128 2005-07-11  Bruno Haible  <bruno@clisp.org>
83129
83130         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83131         Reported by Jim Meyering.
83132
83133 2005-07-10  Bruno Haible  <bruno@clisp.org>
83134
83135         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83136         Needed when size_t is smaller than 'unsigned int'.
83137         Reported by Paul Eggert.
83138
83139 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83140
83141         * modules/argp (Depends-on): Add unlocked-io
83142
83143 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83144
83145         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83146         block of defines.
83147
83148 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83149
83150         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83151         fix now.
83152
83153 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83154         and Paul Eggert  <eggert@cs.ucla.edu>
83155
83156         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83157         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83158
83159 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83160
83161         * modules/regex (Files): Add lib/regex_internal.c,
83162         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83163         (Depends-on): Add extensions.
83164         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83165
83166 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83167
83168         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83169         pathconf.
83170         * m4/same.m4 (gl_SAME): Likewise.
83171         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
83172
83173         * m4/regex.m4: Adjust to new libc regex implementation.
83174         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
83175         all the .c and .h parts of (the new) regex.
83176         Quote the m4 stuff better.
83177         Check for RE_ICASE bug of old gnulib.
83178         Check for REG_STARTEND of recent libc.
83179         Rename local variables from jm_* to gl_*.
83180         Quote operand of "test -f".
83181         Say "recent enough" version of libc, not "version 2".
83182         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
83183         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
83184         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
83185         Remove check for btowc, isascii.
83186         Require AM_LANGINFO_CODESET.
83187
83188 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83189
83190         * lib/regex.c, regex.h: Sync from libc.
83191         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
83192         * lib/regexec.c:
83193         New files, synced from libc, except that regex_internal.h
83194         currently has a small porting fix.
83195
83196 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83197
83198         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
83199         regex_internal.c, regexec.c.
83200         Add regex_internal.h too, but as a comment, since the libc version
83201         is currently broken in gnulib mode.
83202
83203 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
83204
83205         Support programs like Emacs that use gnulib but not gettext.
83206         * MODULES.html.sh (Internationalization functions): Add gettext-h.
83207         * modules/gettext-h: New file.
83208         * modules/gettext (Files): Remove lib/gettext.h.
83209         (Depends-on): Add gettext-h.
83210         (Makefile.am): Remove lib_SOURCES.
83211         * modules/argmatch, modules/c-stack, modules/closeout:
83212         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
83213         * modules/execute, modules/file-type, modules/getaddrinfo:
83214         * modules/getopt, modules/human, modules/javacomp:
83215         * modules/javaexec, modules/mkdir-p, modules/obstack:
83216         * modules/openat, modules/pagealign_alloc, modules/pipe:
83217         * modules/quotearg, modules/regex, modules/rpmatch:
83218         * modules/unicodeio, modules/userspec, modules/version-etc:
83219         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
83220         * modules/xsetenv:
83221         Depend on gettext-h, not gettext.
83222
83223 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
83224
83225         * gnulib-tool (func_import): Add support for 'public domain' license.
83226         * modules/alloca, modules/atexit, modules/memmove:
83227         Now public domain, not GPL.
83228         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
83229         * modules/realloc, modules/strerror, modules/strtod:
83230         Now LGPL, not GPL.
83231
83232 2005-07-05  Bruno Haible  <bruno@clisp.org>
83233
83234         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
83235         autoconf CVS. Needed for mingw.
83236
83237 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83238
83239         Remove the dependency of the strftime module on the tzset module.
83240         * modules/strftime (Depends-on): Remove dependency on tzset.
83241
83242 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83243
83244         Remove the dependency of the strftime module on the tzset module.
83245         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
83246         gl_FUNC_TZSET_CLOBBER.
83247
83248 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
83249
83250         Remove the dependency of the strftime module on the tzset module.
83251         * lib/strftime.c (my_strftime)
83252         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
83253         Copy the input structure, to work around some of the bug with
83254         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
83255         Solaris releases, you should also use the tzset module, but we won't
83256         require it as a dependency any more since we don't want LGPLed code
83257         to depend on GPLed code.
83258
83259 2005-07-02  Jim Meyering  <jim@meyering.net>
83260
83261         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
83262         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
83263         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
83264         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
83265
83266 2005-07-02  Jim Meyering  <jim@meyering.net>
83267
83268         * lib/backupfile.c (backup_args): Change a `0' to NULL.
83269
83270 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
83271
83272         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
83273         declares only 'struct timespec;' (!).
83274
83275 2005-07-01  Jim Meyering  <jim@meyering.net>
83276
83277         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
83278         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
83279         * lib/save-cwd.c, tempname.c:
83280         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83281         and don't include <sys/file.h>).
83282
83283 2005-06-29  Jim Meyering  <jim@meyering.net>
83284
83285         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
83286         type name.  Use the variable name instead.
83287         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
83288         Likewise.
83289
83290 2005-06-28  Simon Josefsson  <jas@extundo.com>
83291
83292         * modules/check-version (Files): Add check-version.m4.
83293
83294 2005-06-28  Simon Josefsson  <jas@extundo.com>
83295
83296         * m4/check-version.m4: New file, suggested by Jim Meyering
83297         <jim@meyering.net>.
83298
83299 2005-06-28  Simon Josefsson  <jas@extundo.com>
83300
83301         * lib/check-version.h, lib/check-version.c: New files.
83302
83303 2005-06-28  Simon Josefsson  <jas@extundo.com>
83304
83305         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
83306         collision with global variable.  Better indentation.  Don't
83307         increment buffer pointer beyond buffer end.  Based on comments
83308         from Paul Eggert <eggert@cs.ucla.edu>.
83309
83310         * lib/base64.h: Indent.
83311
83312 2005-06-28  Simon Josefsson  <jas@extundo.com>
83313
83314         * doc/gnulib.texi (Library version handling): New section.
83315
83316 2005-06-28  Jim Meyering  <jim@meyering.net>
83317
83318         * check-module (find_included_lib_files): Hard-code another
83319         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
83320         but modules/fts-lgpl (correctly) does not list those files.
83321
83322         * modules/canonicalize (Files): Add lib/pathmax.h.
83323
83324 2005-06-25  Simon Josefsson  <jas@extundo.com>
83325
83326         * modules/check-version: New file.
83327
83328 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
83329
83330         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
83331         initializer of struct addrinfo, as an indication that we don't
83332         care how many members the structure has.
83333
83334 2005-06-24  Derek Price  <derek@ximbiot.com>
83335         and Bruno Haible  <bruno@clisp.org>
83336
83337         Remove stat module & update lstat.
83338         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
83339         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83340         * m4/stat.m4: Remove this file.
83341
83342 2005-06-24  Derek Price  <derek@ximbiot.com>
83343         and Bruno Haible  <bruno@clisp.org>
83344
83345         Remove stat module & update lstat.
83346         * lib/stat.c: Remove this file...
83347         (slash_aware_lstat): ...moving this content and its support...
83348         * lib/lstat.c (rpl_lstat): ...into here.
83349         * lib/lstat.h: New file.
83350
83351 2005-06-24  Derek Price  <derek@ximbiot.com>
83352         and Bruno Haible  <bruno@clisp.org>
83353
83354         Remove stat module & update lstat.
83355         * config/srclist.txt (libc sources): Remove stat.
83356
83357 2005-06-24  Derek Price  <derek@ximbiot.com>
83358         and Bruno Haible  <bruno@clisp.org>
83359
83360         Remove stat module & update lstat.
83361         * MODULES.html.sh (stat): Remove.
83362         * MODULES.html: Regenerated.
83363         * modules/lstat (Description): Correct function name.
83364         (Files): Add "lstat.h".
83365         (Depends-on): Remove stat, add xalloc, stat-macros.
83366         * modules/stat: Remove this file.
83367         (Include): Add "lstat.h", remove <sys/stat.h>.
83368
83369 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
83370
83371         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
83372         (ranged_convert): Don't save conversion in a temporary struct.
83373         This causes a warning with GCC 4.0.0, and anyway in the typical
83374         case it's not worth the extra 100 bytes or so of code.
83375         (ranged_convert, __mktime_internal): When calling a function via a
83376         pointer P, use P () rather than (*P) (), as we now assume C89 or
83377         better.
83378
83379 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
83380
83381         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
83382         "who -r" failed to give output.  Problem reported by Tim Waugh.
83383
83384         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
83385         (xcalloc): Use it to avoid needless tests.
83386         Problem reported by Jim Meyering.
83387
83388 2005-06-20  Derek Price  <derek@ximbiot.com>
83389
83390         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
83391         unnecessary for Autoconfs > 2.59c.
83392
83393 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83394
83395         * lib/argp.h (__option_is_short): Check upper limit of
83396         __key. Isprint() requires its argument to have the value
83397         of an unsigned char or EOF.
83398
83399 2005-06-16  Jim Meyering  <jim@meyering.net>
83400
83401         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
83402         when either N or S is zero.
83403
83404 2005-06-16  Derek Price  <derek@ximbiot.com>
83405
83406         * m4/bison.m4: Declare YACC & YFLAGS precious.
83407
83408 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
83409
83410         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
83411         multibyte string or pattern, fall back on unibyte matching.
83412         Problem reported by James Youngman.
83413
83414 2005-06-08  Bruno Haible  <bruno@clisp.org>
83415
83416         * modules/csharpcomp: New file.
83417         * MODULES.html.sh (C#): Add csharpcomp.
83418
83419 2005-06-08  Bruno Haible  <bruno@clisp.org>
83420
83421         * m4/csharpcomp.m4: New file, from GNU gettext.
83422
83423 2005-06-08  Bruno Haible  <bruno@clisp.org>
83424
83425         * lib/csharpcomp.h: New file, from GNU gettext.
83426         * lib/csharpcomp.c: New file, from GNU gettext.
83427         * lib/csharpcomp.sh.in: New file, from GNU gettext.
83428
83429 2005-06-08  Bruno Haible  <bruno@clisp.org>
83430
83431         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
83432         warning on mingw.
83433
83434 2005-06-07  Derek Price  <derek@ximbiot.com>
83435
83436         Sync from CVS.
83437         * lib/glob_.h: Indent nested #ifdef.
83438
83439 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83440
83441         Sync from coreutils.
83442         Use "file name" when talking about file names, instead of "filename"
83443         or "path", as per the GNU coding standards.
83444         * lib/mkdir-p.c: Renamed from makepath.c.
83445         (make_dir_parents): Renamed from make_path.  All callers changed.
83446         * lib/mkdir-p.h: Likewise.  All includers changed.
83447         * lib/filenamecat.c: Renamed from path-concat.c.
83448         (file_name_concat): Renamed from path_concat.  All callers changed.
83449         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
83450         * lib/filenamecat.h: Likewise.  All includers changed.
83451         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
83452         in comments or local variable names.
83453         * lib/basename.c: Likewise.
83454         * lib/canonicalize.c, canonicalize.h: Likewise.
83455         * lib/dirname.c, dirname.h: Likewise.
83456         * lib/euidaccess.c: Likewise.
83457         * lib/exclude.c: Likewise
83458         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
83459         * lib/fsusage.c, fsuage.h: Likewise.
83460         * lib/fts.c, fts_.h: Likewise.
83461         * lib/getcwd.c: Likewise.
83462         * lib/getloadavg.c: Likewise.
83463         * lib/mkstemp.c: Likewise.
83464         * lib/mountlist.c, mountlist.h: Likewise.
83465         * lib/openat.c, openat.h: Likewise.
83466         * lib/readlink-stub.c: Likewise.
83467         * lib/readutmp.c, readutmp.h: Likewise.
83468         * lib/rename.c: Likewise.
83469         * lib/rmdir.c: Likewise.
83470         * lib/same.c: Likewise.
83471         * lib/savedir.c: Likewise.
83472         * lib/stripslash.c: Likewise.
83473         * lib/tempname.c: Likewise.
83474         * lib/xreadlink.c: Likewise.
83475         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
83476         All uses changed.
83477         * lib/exclude.h: Likewise.
83478
83479         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
83480         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83481         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
83482         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83483         * lib/pathmax.h: Include <limits.h> unconditionally, since other
83484         files have been getting away with it for years (MORE/BSD 4.3
83485         is extinct now).
83486         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
83487         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
83488
83489         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
83490         Define to 256, not 255, as per modern POSIX.
83491
83492 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83493
83494         Sync from coreutils.
83495         Use "file name" when talking about file names, instead of "filename"
83496         or "path", as per the GNU coding standards.
83497         * MODULES.html.sh: mkdir-p renamed from makepath.
83498         filenamecat renamed from path-concat.
83499         * modules/filenamecat: Renamed from modules/path-concat.
83500         (Files): filenamecat.h and filenamecat.c renamed from
83501         path-concat.h and path-concat.c.
83502         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
83503         (Include): filenamecat.h, not path-concat.h.
83504         * modules/mkdir-p: Renamed from modules/makepath.
83505         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
83506         makepath.c.
83507         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
83508         (Include): mkdir-p.h, not makepath.h.
83509
83510 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
83511
83512         Sync from coreutils.
83513         * m4/mkdir-p.m4: Renamed from makepath.m4.
83514         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
83515         Rename files from makepath.c to mkdir-p.c, and from
83516         makepath.h to mkdir-p.h.
83517         * m4/filenamecat.m4: Renamed from path-concat.m4.
83518         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
83519         Rename files from path-concat.c to filenamecat.c,
83520         and from path-concat.h to filenamecat.h.
83521         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
83522         "file name" in local variables or comments.
83523         * m4/rename.m4: Likewise.
83524
83525 2005-06-01  Bruno Haible  <bruno@clisp.org>
83526
83527         * modules/csharpexec: New file.
83528         * MODULES.html.sh (C#): New section.
83529
83530 2005-06-01  Bruno Haible  <bruno@clisp.org>
83531
83532         * m4/csharp.m4: New file, from GNU gettext.
83533         * m4/csharpexec.m4: New file, from GNU gettext.
83534
83535 2005-06-01  Bruno Haible  <bruno@clisp.org>
83536
83537         * lib/csharpexec.h: New file, from GNU gettext.
83538         * lib/csharpexec.c: New file, from GNU gettext.
83539         * lib/csharpexec.sh.in: New file, from GNU gettext.
83540
83541 2005-05-31  Derek Price  <derek@ximbiot.com>
83542             Paul Eggert  <eggert@cs.ucla.edu>
83543
83544         Sync from cvs.
83545         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83546
83547 2005-05-31  Derek Price  <derek@ximbiot.com>
83548             Paul Eggert  <eggert@cs.ucla.edu>
83549
83550         Sync from cvs.
83551         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
83552
83553 2005-05-29  Derek Price  <derek@ximbiot.com>
83554
83555         * config/srclist.txt (glob_.h, glob.c): Add these files.
83556
83557 2005-05-29  Derek Price  <derek@ximbiot.com>
83558
83559         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
83560         * modules/glob: New file.
83561         * modules/getlogin_r: Add link to POSIX spec in description.
83562
83563 2005-05-29  Derek Price  <derek@ximbiot.com>
83564             Paul Eggert  <eggert@cs.ucla.edu>
83565
83566         * m4/glob.m4: New file.
83567
83568 2005-05-29  Derek Price  <derek@ximbiot.com>
83569             Paul Eggert  <eggert@cs.ucla.edu>
83570
83571         * lib/glob_.h, lib/glob.c: New files.
83572
83573 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83574
83575         * modules/fts (Files): Remove m4/inttypes-pri.m4.
83576         * modules/fts-lgpl (Depends-on): Remove gettext.
83577
83578 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83579
83580         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
83581         and don't require gt_INTTYPES_PRI.
83582
83583 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
83584
83585         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
83586
83587         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
83588         the configuration hassle isn't worth it.
83589         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
83590         (LONGEST_MODIFIER, PRIuMAX): Remove.
83591
83592 2005-05-27  Bruno Haible  <bruno@clisp.org>
83593
83594         * lib/getlogin_r.h: Remove second include of <stddef.h>.
83595
83596 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
83597
83598         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
83599         _POSIX_PTHREAD_SEMANTICS for Solaris.
83600
83601 2005-05-25  Derek Price  <derek@ximbiot.com>
83602
83603         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
83604
83605 2005-05-25  Derek Price  <derek@ximbiot.com>
83606             Paul Eggert  <eggert@cs.ucla.edu>
83607
83608         * modules/getlogin_r, m4/getlogin_r.m4: New files.
83609         * lib/getlogin_r.c, getlogin_r.h: New files.
83610
83611 2005-05-25  Bruno Haible  <bruno@clisp.org>
83612             Derek Price  <derek@ximbiot.com>
83613
83614         * lib/getlogin_r.h: Simplify API documentation.
83615
83616 2005-05-23  Derek Price  <derek@ximbiot.com>
83617
83618         * modules/minmax (Files): Add m4/minmax.m4.
83619         (configure.ac): Add gl_MINMAX.
83620
83621 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
83622
83623         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
83624         so that unistd-safer.h (GPL'ed code) need not be included.
83625
83626 2005-05-22  Bruno Haible  <bruno@clisp.org>
83627
83628         * m4/minmax.m4: New file.
83629         Based on a patch by Derek Price <derek@ximbiot.com>.
83630
83631 2005-05-22  Bruno Haible  <bruno@clisp.org>
83632
83633         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
83634         (INT64_MIN): Fix definition.
83635         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
83636
83637         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
83638         NEED_SIGNED_INT_TYPES.
83639
83640         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
83641         HAVE_SYSTEM_INTTYPES.
83642
83643 2005-05-22  Bruno Haible  <bruno@clisp.org>
83644
83645         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
83646         Also include <sys/param.h> if it defines MIN, MAX.
83647         Based on a patch by Derek Price <derek@ximbiot.com>.
83648
83649 2005-05-21  Jim Meyering  <jim@meyering.net>
83650
83651         * modules/fts (Files): Add m4/inttypes-pri.m4.
83652         (Depends-on): Add lstat and remove gettext.  Alphabetize.
83653
83654 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83655
83656         New fts module.
83657         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
83658         (setup_dir, free_dir): New functions.
83659         (enter_dir, leave_dir): Define trivial
83660         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
83661         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
83662         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
83663         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
83664         Move to fts-cycle.c.
83665         (fts_open): Use setup_dir.
83666         (fts_close): Use free_dir.
83667         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
83668         This adds a label and some gotos, but the alternatives were messier.
83669         Check for memory allocation failure when entering a dir.
83670         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
83671         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
83672         (FTS): New member fts_cycle, that is a union that contains the
83673         old active_dir_ht and cycle_state.  All uses changed to mention
83674         fts_cycle.ht and fts_cycle.state.
83675         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
83676         fts.c, with the following changes:
83677         (setup_dir, free_dir): New functions.
83678         (enter_dir): Now returns bool.  Return true if successful, false
83679         if memory exhausted.  All callers changed.
83680         Do not bother partly cleaning up on
83681         memory allocation failure; that is free_dir's job.
83682         However, free ad if hash_insert fails, to avoid memory leak.
83683         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
83684         fts->fts_options to see which union member to use.
83685
83686 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83687
83688         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
83689         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
83690
83691 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
83692
83693         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
83694
83695 2005-05-20  Jim Meyering  <jim@meyering.net>
83696
83697         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
83698         Now a macro, to pacify GCC.
83699
83700 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83701
83702         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
83703         of -1.
83704
83705 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
83706
83707         * lib/chown.c (rpl_chown): Return -1 on failure.
83708
83709 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83710
83711         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
83712         Don't check for stddef.h.
83713         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
83714         don't use its results.
83715         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
83716         since we include them unconditionally.  Don't require
83717         AM_STDBOOL_H, since stdbool is a prerequisite.
83718         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
83719         since we assume C89 or better.
83720         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
83721         as we don't use their results.
83722         Don't check for fchdir, memmove, memset, strrchr, as we use
83723         them unconditionally.
83724         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
83725         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
83726
83727 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
83728
83729         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
83730         Include <stddef.h> unconditionally, since we assume C89 now.
83731         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
83732         * lib/fts.c: Include fts_.h first, to check interface.
83733         Do not include intprops.h; no longer needed.
83734         Include cycle-check.h and hash.h, since fts_.h no longer does.
83735         Remove unnecessary casts of closedir to void.
83736         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
83737         decide whether to decrement nlinks.
83738         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
83739         (FTS): Use struct hash_table * instead of Hash_table, so that
83740         we no longer need to include hash.h here.
83741
83742 2005-05-18  Jim Meyering  <jim@meyering.net>
83743
83744         * modules/dirfd (License): Change to LGPL.  Most of the code
83745         is already in the public domain.
83746
83747 2005-05-18  Jim Meyering  <jim@meyering.net>
83748
83749         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
83750         Reported by Yoann Vandoorselaere.
83751
83752 2005-05-17  Jim Meyering  <jim@meyering.net>
83753
83754         * m4/fts.m4: New file, from coreutils.
83755
83756 2005-05-17  Jim Meyering  <jim@meyering.net>
83757
83758         * lib/fts.c, lib/fts_.h: New files, from coreutils.
83759
83760 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83761
83762         Sync from coreutils.
83763         * m4/unlinkdir.m4: New file.
83764
83765 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83766
83767         Sync from coreutils.
83768         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
83769         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
83770         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
83771         White space changes only.
83772         * lib/makepath.c (make_path): Port to hosts where leading "//" is
83773         special.
83774         * lib/yesno.c: Include getline.h, not ctype.h.
83775         (yesno): Don't remove leading white space; POSIX doesn't allow it.
83776         Use getline to remove arbitrary restriction on response length.
83777
83778 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
83779
83780         * config/srclist-update: Spell out "Street" in FSF postal
83781         mail address; this is the style the FSF seems to prefer.
83782
83783         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
83784         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
83785         this updates FSF postal mail address.
83786
83787         Sync from coreutils.
83788         * modules/unlinkdir: New file.
83789         * modules/yesno (Depends-on): Add getline.
83790         * MODULES.html.sh (File system functions): Add unlinkdir.
83791
83792 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83793
83794         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
83795         lib/strsep.h:
83796         Change the initial comment to refer to GPL, not LGPL.
83797         gnulib-tool will change it to LGPL as needed.
83798
83799         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
83800         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
83801         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
83802         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
83803         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
83804         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
83805         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
83806         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
83807         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
83808         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
83809         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
83810         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
83811         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
83812         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
83813         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
83814         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
83815         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
83816         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
83817         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
83818         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
83819         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
83820         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
83821         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
83822         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
83823         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
83824         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
83825         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
83826         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
83827         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
83828         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
83829         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
83830         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
83831         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
83832         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
83833         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
83834         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
83835         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
83836         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
83837         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
83838         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
83839         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
83840         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
83841         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
83842         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
83843         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
83844         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
83845         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
83846         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
83847         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
83848         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
83849         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83850         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
83851         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
83852         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
83853         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
83854         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
83855         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
83856         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
83857         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
83858         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
83859         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
83860         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
83861         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
83862         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
83863         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
83864         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
83865         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
83866         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
83867         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
83868         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
83869         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
83870         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
83871         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
83872         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
83873         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
83874         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
83875         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
83876         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
83877         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
83878         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
83879         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
83880         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
83881         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
83882         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
83883         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
83884         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
83885         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
83886         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
83887         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
83888         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
83889         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
83890         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
83891         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
83892         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
83893         lib/yesno.c, lib/yesno.h:
83894         Update FSF postal mail address.
83895
83896 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
83897
83898         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
83899         tests/test-memmem.c, tests/test-stpncpy.c:
83900         Update FSF postal mail address.
83901
83902 2005-05-13  Bruno Haible  <bruno@clisp.org>
83903
83904         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
83905         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
83906         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
83907         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
83908         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
83909         Add support for 64-bit integers in the MSVC compiler.
83910
83911 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83912
83913         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
83914
83915 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
83916
83917         * gnulib-tool (func_import): Sort and uniquify recommended includes.
83918
83919 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
83920
83921         * doc/getdate.texi (General date syntax): Don't say that date
83922         date --iso-8601=ns generates acceptable dates; it doesn't yet.
83923         Problem reported by Nic Ferrier.
83924
83925 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83926
83927         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
83928         specified in ai_socktype. Fix invalid ai_protocol
83929         check. ai_protocol is usually set to 0 or depending on
83930         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
83931         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
83932         ai_socktype / ai_protocol in the returned addrinfo structure.
83933
83934 2005-05-10  Simon Josefsson  <jas@extundo.com>
83935
83936         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
83937         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83938
83939 2005-05-10  Karl Berry  <karl@gnu.org>
83940
83941         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
83942         (from http://www.gnu.org/licenses).
83943         * doc/COPYING.LIB: also rename to COPYING.LESSER.
83944         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
83945         fdl.texi suffices.
83946
83947 2005-05-10  Karl Berry  <karl@gnu.org>
83948
83949         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
83950         (COPYING.DOC): remove.
83951
83952         * config/srclist-update: new FSF address.
83953
83954 2005-05-10  Derek Price  <derek@ximbiot.com>
83955
83956         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
83957         possible.
83958
83959 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83960             Bruno Haible  <bruno@clisp.org>
83961
83962         * modules/inet_ntop: New file.
83963         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83964         inet_ntop.
83965
83966 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83967             Bruno Haible  <bruno@clisp.org>
83968
83969         * m4/inet_ntop.m4: New file.
83970
83971 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83972             Bruno Haible  <bruno@clisp.org>
83973
83974         * lib/inet_ntop.h: New file.
83975         * lib/inet_ntop.c: New file, from glibc with modifications.
83976
83977 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
83978
83979         * modules/time_r (License): Change to LGPL.
83980         * modules/extensions (License): Change to LGPL.  Actually,
83981         the license is more permissive than that, but currently gnulib-tool
83982         doesn't know how to handle more-permissive licenses.
83983
83984         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
83985         Problem reported by Dave Love.
83986
83987 2005-05-08  Jim Meyering  <jim@meyering.net>
83988
83989         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
83990         blank.
83991
83992 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
83993
83994         * modules/argmatch (Depends-on): Add stdbool.
83995         * modules/backupfile (Depends-on): Likewise.
83996         * modules/chdir-long (Depends-on): Likewise.
83997         * modules/closeout (Depends-on): Likewise.
83998         * modules/cycle-check (Depends-on): Likewise.
83999         * modules/dirname (Depends-on): Likewise.
84000         * modules/fnmatch (Depends-on): Likewise.
84001         * modules/fsusage (Depends-on): Likewise.
84002         * modules/fwriteerror (Depends-on): Likewise.
84003         * modules/getcwd (Depends-on): Likewise.
84004         * modules/getloadavg (Depends-on): Likewise.
84005         * modules/hard-locale (Depends-on): Likewise.
84006         * modules/makepath (Depends-on): Likewise.
84007         * modules/mountlist (Depends-on): Likewise.
84008         * modules/nanosleep (Depends-on): Likewise.
84009         * modules/posixtm (Depends-on): Likewise.
84010         * modules/quotearg (Depends-on): Likewise.
84011         * modules/readtokens (Depends-on): Likewise.
84012         * modules/readtokens0 (Depends-on): Likewise.
84013         * modules/readutmp (Depends-on): Likewise.
84014         * modules/save-cwd (Depends-on): Likewise.
84015         * modules/strftime (Depends-on): Likewise.
84016         * modules/userspec (Depends-on): Likewise.
84017         * modules/utimecmp (Depends-on): Likewise.
84018         * modules/xgetcwd (Depends-on): Likewise.
84019         * modules/xnanosleep (Depends-on): Likewise.
84020         * modules/xstrtod (Depends-on): Likewise.
84021         * modules/yesno (Depends-on): Likewise.
84022
84023 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84024
84025         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84026         needless checks.
84027
84028 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84029
84030         Merge from coreutils.  Among other things,
84031         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84032         * lib/fd-safer.c: New file.
84033         * lib/fcntl-safer.h, open-safer.c: Remove.
84034         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84035         * lib/dup-safer.c: Include unistd-safer.h first.
84036         Don't include errno.h.
84037         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84038         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84039         * lib/file-type.c: Rely on file-type.h change.
84040         * lib/getloadavg.c: Include unistd-safer.h.
84041         (getloadavg): Use safer open.
84042         * lib/getusershell.c: Include "stdio-safer.h".
84043         (getusershell): Use safer fopen.
84044         * lib/long-options.c (long_options): Use NULL rather than 0.
84045         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84046         'free'.
84047         * lib/modechange.c: Likewise.
84048         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84049         (MODE_DONE): New constant.
84050         (struct mode_change): Remove 'next' member.
84051         (make_node_op_equals): New function; like the old one of the
84052         same name, except it allocates an array.
84053         (mode_compile, mode_create_from_ref): Use it.
84054         (mode_compile): Allocate result as an array, not a linked list.
84055         Parse octal string ourself, so that we catch mistakes like "+0".
84056         (mode_adjust): Arg is an array, not a linked list.
84057         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84058         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84059         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84060         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84061         Remove.  This is now stat-macros.h's job.
84062         (talloc): Remove.  All callers replaced by xalloc, so that
84063         our invokers don't have to worry about reporting memory failures.
84064         (make_node_op_equals): Remove.
84065         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84066         New constants.
84067         (struct mode_change): Moved here from modechange.h.
84068         (mode_append_entry): Remove.
84069         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84070         apps to have incorrect behavior.  Use simpler algorithm for head
84071         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84072         Detect more invalid usages rather than having somewhat-random behavior.
84073         Don't insert an "a=" action, as that leads to incorrect behavior.
84074         (mode_compile, mode_create_from_ref): Return NULL on error instead
84075         of an enum, since now there's only one way to have an error.  All
84076         callers changed.
84077         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84078         at the correct time.  Simplify calculation of "+u" and its ilk.
84079         Don't mishandle "+X".
84080         (mode_free): Remove "register" and localize decls.
84081         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84082         (struct mode_change): Move to modechange.c; callers don't
84083         need to see this stuff.
84084         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84085         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84086         (mode_change, mode_adjust): Reflect the new signatures noted above.
84087         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84088         that might redefine system include files.
84089         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84090         (my_usleep): Use NULL rather than (void *) 0.
84091         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84092         Use siginterrupt to specify that system calls should be interrupted.
84093         (rpl_nanosleep): Move initialization of suspended closer to call of
84094         my_usleep.
84095         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84096         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84097         (desirable_utmp_entry): New function.
84098         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84099         using x2nrealloc, to simplify logic.
84100         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84101         size calculation.  Do not assume utmp file is a regular file.
84102         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84103         (READ_UTMP_CHECK_PIDS): New constant.
84104         * lib/save-cwd.c: Include unistd-safer.h.
84105         (save_cwd): Use fd_safer.
84106         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84107         [!_LIBC] Include "stat-macros.h" instead.
84108         * lib/unistd-safer.h (fd_safer): New decl.
84109
84110 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84111
84112         * modules/getloadavg (Depends-on): Add unistd-safer.
84113         * modules/getusershell (Depends-on): Add stdio-safer.
84114         * modules/lstat (Depends-on): Remove xalloc.
84115         * modules/mkstemp (Depends-on): Add stat-macros.
84116         * modules/modechange (Depends-on): Remove xstrtol.
84117         Add stat-macros, xalloc.
84118         * modules/save-cwd (Depends-on): Add unistd-safer.
84119         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84120         * modules/unistd-safer (Files): Add lib/fd-safer.c
84121         (Makefile.am): Remove lib_SOURCES.
84122
84123         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84124         Remove fcntl-safer; unistd-safer supersedes it.
84125
84126 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84127
84128         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84129         AC_HEADER_STAT.
84130         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84131         (gl_PREREQ_CHOWN): Remove.
84132         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84133         it.  Don't require AC_HEADER_STAT.
84134         (gl_PREREQ_LSTAT): Remove.
84135         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84136         Don't require AC_HEADER_STAT.
84137         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84138         (gl_PREREQ_RMDIR): Remove.
84139         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84140         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84141         the stat-macros module a prerequisite.
84142         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84143         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84144         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84145         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84146         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84147         variable names.
84148         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84149         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84150         variable prefixes.
84151         * m4/fcntl-safer.m4: Remove.
84152         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84153         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84154         Invoke gl_PREREQ_FD_SAFER.
84155         (gl_PREREQ_FD_SAFER): New macro.
84156         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84157         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84158         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84159         Remove duplicate call to AC_LIBOBJ(readutmp).
84160         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84161
84162         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84163         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84164
84165 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84166
84167         * MODULES.html.sh (Misc): Add byteswap.
84168
84169 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84170
84171         * modules/getcwd (Depends-on): Add extensions.
84172         * modules/openat (Depends-on): Likewise.
84173
84174 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84175
84176         * modules/byteswap: New file.
84177
84178 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84179
84180         * m4/byteswap.m4: New file.
84181
84182 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84183
84184         * lib/byteswap_.h: New file.
84185
84186 2005-04-25  Karl Berry  <karl@gnu.org>
84187
84188         * m4/gettext.m4: Update from GNU gettext 0.14.4.
84189
84190 2005-04-25  Albert Chin  <china@thewrittenword.com>
84191
84192         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
84193         Toolkit C bug.
84194
84195 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
84196
84197         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
84198         (func_ln_if_changed): Remove forcibly for no error message
84199         in case file does not exist.
84200
84201 2005-04-19  Simon Josefsson  <jas@extundo.com>
84202
84203         * gnulib-tool (Options): Make --symlink mean --symbolic.
84204
84205 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
84206
84207         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
84208
84209 2005-04-16  Simon Josefsson  <jas@extundo.com>
84210
84211         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
84212
84213 2005-04-15  Simon Josefsson  <jas@extundo.com>
84214
84215         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
84216
84217 2005-04-15  Simon Josefsson  <jas@extundo.com>
84218
84219         * gnulib-tool: Rename --symlink to --symbolic.
84220
84221 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
84222
84223         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
84224         symbolic links to files instead of copying/moving.  Add --aux-dir,
84225         specifying directory relative --dir where auxiliary build tools
84226         are placed.
84227
84228 2005-04-14  Bruno Haible  <bruno@clisp.org>
84229
84230         * modules/allocsa (License): Change to LGPL.
84231         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
84232
84233 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
84234
84235         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
84236         that "UTC +1 second" continues to work.  Problem reported
84237         by Dmitry V. Levin.
84238         (relunit_snumber): New rule.
84239         (relunit): Use it.
84240
84241 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
84242
84243         * lib/getdate.y (universal_time_zone_table): New constant.
84244         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
84245         universal_time_zone_table.
84246         (lookup_zone): Prefer universal_time_zone_table to
84247         local_time_zone_table, so that "GMT" time stamps are allowed in
84248         London during the summer.  Problem reported by Ian Abbott.
84249
84250 2005-04-12  Jim Meyering  <jim@meyering.net>
84251
84252         * lib/human.c (humblock): Set *options even when returning due to
84253         xstrtoumax conversion failure.  Thanks to a used-uninitialized
84254         warning from gcc-4.
84255
84256 2005-04-09  Jim Meyering  <jim@meyering.net>
84257
84258         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
84259         -Wuninitialized: initialize tm0.tm_year.
84260
84261 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84262
84263         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
84264         count, since there's no maximum.  All uses changed.
84265         Add member dsts_seen.
84266         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
84267         not being INT_MAX.
84268         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
84269         Use pc_rels_seen to decide whether a date is absolute.
84270
84271         * lib/getdate.y (number): Don't overwrite year.
84272         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
84273         check.
84274
84275 2005-04-02  Simon Josefsson  <jas@extundo.com>
84276
84277         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
84278         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
84279
84280 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
84281
84282         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
84283         where no absolute path name can be longer than PATH_MAX.
84284
84285 2005-03-27  Jim Meyering  <jim@meyering.net>
84286
84287         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
84288
84289 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
84290
84291         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
84292         "one's complement" -> "ones' complement" in comment, as per Knuth.
84293         "value of type" -> "type or expression" in comment.
84294         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
84295
84296 2005-03-26  Jim Meyering  <jim@meyering.net>
84297
84298         Comment nits.
84299         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
84300         Correct typos: s/or/of/.
84301
84302 2005-03-26  Jim Meyering  <jim@meyering.net>
84303
84304         * modules/check-include-files: Move to ../ and rename to...
84305         * check-module: ...this.
84306
84307 2005-03-25  Jim Meyering  <jim@meyering.net>
84308
84309         * modules/xvasprintf (Files): Add xalloc.h.
84310
84311 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84312
84313         * modules/gettext (Files): config/config.rpath ->
84314         build-aux/config.rpath
84315         * modules/iconv (Files): Likewise.
84316         Problem reported by Oskar Liljeblad.
84317
84318 2005-03-23  Jim Meyering  <jim@meyering.net>
84319
84320         * modules/check-include-files: New script to check for
84321         missing dependencies, multiple includes, etc.
84322
84323         * modules/c-strtold (Depends-on): Add xalloc.
84324         * modules/c-strtod (Depends-on): Add xalloc.
84325         * modules/hash (Depends-on): Add xalloc.
84326         (Files): Remove lib/xalloc.h.
84327
84328         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
84329         * modules/userspec (Files): Add lib/inttostr.h.
84330
84331 2005-03-23  Jim Meyering  <jim@meyering.net>
84332
84333         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
84334
84335 2005-03-22  Jim Meyering  <jim@meyering.net>
84336
84337         * modules/stat-macros: New module.
84338         * modules/canonicalize, modules/euidaccess, modules/file-type,
84339         * modules/filemode, modules/lchown, modules/makepath,
84340         * modules/rmdir, modules/stat: Depend on new stat-macros module
84341         rather than listing lib/stat-macros.h manually.
84342         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
84343
84344 2005-03-22  Jim Meyering  <jim@meyering.net>
84345
84346         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
84347
84348 2005-03-22  Bruno Haible  <bruno@clisp.org>
84349
84350         * config/srclist.txt: Replace target directory 'config' with
84351         'build-aux'.
84352         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
84353         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
84354         ../build-aux/.
84355
84356 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84357
84358         * modules/chdir-long (Depends-on): Add mempcpy.
84359
84360         * modules/acl, modules/backupfile, modules/c-strtod,
84361         modules/c-strtold, modules/canon-host, modules/canonicalize,
84362         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
84363         modules/exclude, modules/exitfail, modules/file-type,
84364         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
84365         modules/getdate, modules/getline, modules/getpagesize,
84366         modules/getpass, modules/getugroups, modules/group-member,
84367         modules/hard-locale, modules/hash, modules/human, modules/idcache,
84368         modules/inttostr, modules/long-options, modules/makepath,
84369         modules/md5, modules/memcasecmp, modules/memcoll,
84370         modules/modechange, modules/mountlist, modules/path-concat,
84371         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
84372         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
84373         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
84374         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
84375         modules/strftime, modules/strndup, modules/strverscmp,
84376         modules/timespec, modules/unlocked-io, modules/userspec,
84377         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
84378         modules/yesno:
84379         Remove lib_SOURCES line from Makefile.am section, as this is now
84380         done automatically by the corresponding Autoconf macro.
84381
84382 2005-03-21  Jim Meyering  <jim@meyering.net>
84383
84384         Changes imported from coreutils.
84385
84386         * lib/cycle-check.c: Don't include xalloc.h.
84387
84388         * lib/path-concat.c: Don't include assert.h.
84389         (path_concat): Remove assertion that would have triggered
84390         for ABASE starting with more than one slash.
84391         Reported by Andreas Schwab.
84392
84393         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
84394         properly when ABASE is an absolute file name.
84395         Correct the description of this function.
84396         Include <assert.h>.
84397         Add an assertion and a test driver.
84398         This fixes a bug introduced on 2004-07-02.
84399         Andreas Schwab reported the resulting failure of cp --parents:
84400         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
84401
84402 2005-03-21  Jim Meyering  <jim@meyering.net>
84403
84404         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
84405         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
84406
84407 2005-03-21  Jim Meyering  <jim@meyering.net>
84408         and  Paul Eggert  <eggert@cs.ucla.edu>
84409
84410         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
84411         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
84412         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
84413         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
84414         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
84415         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
84416         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
84417         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
84418         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
84419         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
84420         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
84421         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
84422         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
84423         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
84424         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
84425         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
84426         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
84427         for these modules.
84428
84429 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
84430
84431         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
84432         (which shouldn't happen), generate nothing instead of returning 0
84433         immediately, so that nstrftime (NULL, ...) doesn't return 0.
84434
84435 2005-03-16  Bruno Haible  <bruno@clisp.org>
84436
84437         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
84438         HAVE_LONGLONG_64BIT.
84439
84440 2005-03-16  Bruno Haible  <bruno@clisp.org>
84441
84442         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
84443         HAVE_LONGLONG_64BIT.
84444
84445 2005-03-16  Bruno Haible  <bruno@clisp.org>
84446
84447         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
84448         HAVE_LONGLONG_64BIT.
84449
84450 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84451
84452         * lib/strftime.c (my_strftime): Prepend space to format so that we can
84453         reliably distinguish strftime failure from empty output on POSIX
84454         hosts.
84455
84456 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
84457
84458         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
84459         (iconv_string): Don't guess a size-zero buffer, as that might cause
84460         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
84461         result would be 'too large', where 'too large' is (heuristically)
84462         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
84463         overflow concerns.  This will prevent some unwanted malloc failures
84464         when the inputs are very large.
84465
84466 2005-03-15  Karl Berry  <karl@gnu.org>
84467
84468         * config/srclist.txt (config.rpath): from gettext.
84469         * config/config.rpath: update.
84470
84471 2005-03-15  Bruno Haible  <bruno@clisp.org>
84472
84473         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
84474         to 'negate'.
84475
84476         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
84477         variable.
84478
84479         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
84480         results.
84481
84482 2005-03-14  Simon Josefsson  <jas@extundo.com>
84483
84484         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
84485         <fx@gnu.org>.
84486
84487 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
84488
84489         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
84490         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
84491         intprops.h.
84492         * lib/strtol.c: Likewise.
84493
84494 2005-03-14  Jim Meyering  <jim@meyering.net>
84495
84496         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
84497         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
84498         to be nonzero so that we (and caller) can detect the difference
84499         between a valid zero-length expansion and an error return, even
84500         when the underlying strftime fails before writing anything into
84501         that location.
84502
84503 2005-03-14  Bruno Haible  <bruno@clisp.org>
84504
84505         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
84506         Update from GNU gettext 0.14.3.
84507
84508 2005-03-10  Jim Meyering  <jim@meyering.net>
84509
84510         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
84511
84512 2005-03-10  Jim Meyering  <jim@meyering.net>
84513
84514         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
84515         so that this module works on systems without fchdir.
84516
84517 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
84518
84519         Factor int-properties macros into a single file, except for
84520         glibc-related files.
84521         * lib/intprops.h: New file.
84522         * lib/getloadavg.c: Include it instead of limits.h.
84523         (INT_STRLEN_BOUND): Remove.
84524         * lib/human.c: Include intprops.h.
84525         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
84526         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
84527         302/1000.
84528         * lib/inttostr.h: Include intprops.h instead of limits.h.
84529         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
84530         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
84531         for consistency with intprops.h.
84532         (time_t_is_integer, twos_complement_arithmetic): Use them.
84533         * lib/sig2str.h: Include <signal.h>, intprops.h.
84534         (INT_STRLEN_BOUND): Remove.
84535         * lib/strftime.c (TYPE_SIGNED): Remove.
84536         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
84537         * lib/strtol.c: Adjust comments to match intprops.h.
84538         * lib/userspec.c: Include intprops.h.
84539         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
84540         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
84541         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
84542         instead of rolling our own expressions.
84543         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
84544
84545         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
84546         instead of int.
84547         (my_strftime): Do not mishandle years close to INT_MAX, by doing
84548         the right thing even if adding 1900 would overflow.  Similarly
84549         for tm_mon + 1 and tm_yday + 1.
84550         Make %Y always equivalent to %C%y, and similarly for %G and %g.
84551         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
84552         (DO_SIGNED_NUMBER): New macro.
84553         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
84554
84555 2005-03-07  Bruno Haible  <bruno@clisp.org>
84556
84557         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
84558
84559 2005-03-07  Bruno Haible  <bruno@clisp.org>
84560
84561         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
84562
84563 2005-03-04  Derek R. Price  <derek@ximbiot.com>
84564
84565         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
84566         (func_import): Only replace files via --import when they have actually
84567         changed.
84568
84569 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84570
84571         * m4/mmap-anon.m4: New file.
84572         * m4/pagealign_alloc.m4: New file.
84573
84574 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84575             Bruno Haible  <bruno@clisp.org>
84576
84577         * modules/pagealign_alloc: New file.
84578         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
84579
84580 2005-03-03  Derek R. Price  <derek@ximbiot.com>
84581             Bruno Haible  <bruno@clisp.org>
84582
84583         * lib/pagealign_alloc.h: New file.
84584         * lib/pagealign_alloc.c: New file.
84585
84586 2005-03-03  Bruno Haible  <bruno@clisp.org>
84587
84588         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
84589         Use an all-permissive copyright notice, recommended by RMS.
84590
84591 2005-03-02  Bruno Haible  <bruno@clisp.org>
84592
84593         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
84594         of AIX, the replacement has to be done only after <string.h> is
84595         included, therefore not in config.h. stpncpy.h does the replacement,
84596         and stpncpy.c uses it.
84597
84598 2005-03-02  Bruno Haible  <bruno@clisp.org>
84599
84600         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
84601         stpncpy.c uses it.
84602
84603 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84604
84605         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
84606         The workaround isn't strictly needed for POSIX conformance, and
84607         it's too much of a pain to configure and maintain.  We'll ask
84608         people to fix their kernels instead.
84609         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
84610         (NANOSLEEP_BUG_WORKAROUND): Remove.
84611         (xnanosleep): Remove the workaround.
84612
84613 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84614
84615         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
84616         Reported by Derek Price.
84617         (Include): Add "timespec.h".
84618
84619         * modules/xnanosleep (Depends-on): Remove gethrxtime.
84620
84621 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
84622
84623         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
84624         to detect nanosleep bug.
84625
84626 2005-03-01  Bruno Haible  <bruno@clisp.org>
84627
84628         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
84629
84630 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
84631
84632         * modules/gethrxtime: New file.
84633         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
84634         (Depends-on): Add gethrxtime.
84635         (configure.ac): Add gl_XNANOSLEEP.
84636         (Makefile.am): Remove lib_SOURCES line.
84637
84638 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84639
84640         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
84641         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
84642
84643 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
84644
84645         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
84646         * lib/timespec.h (gettime): Return void, since it always
84647         succeeds now.  All uses changed.
84648         * lib/gettime.c (gettime): Likewise.
84649         [HAVE_NANOTIME]: Prefer nanotime.
84650         Assume gettimeofday succeeds, as POSIX requires.
84651         Assime time () succeeds, since other code already does.
84652         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
84653         (timespec_subtract): Remove.
84654         (NANOSLEEP_BUG_WORKAROUND): New constant.
84655         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
84656         things considerably.  Use it only on GNU/Linux hosts, since the
84657         workaround shouldn't be needed elsewhere.
84658
84659 2005-02-24  Bruno Haible  <bruno@clisp.org>
84660
84661         * modules/gettext (Files): Add m4/glibc2.m4.
84662
84663 2005-02-24  Bruno Haible  <bruno@clisp.org>
84664
84665         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
84666         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
84667         * m4/progtest.m4:
84668         Update from GNU gettext 0.14.2.
84669         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
84670
84671 2005-02-24  Bruno Haible  <bruno@clisp.org>
84672
84673         * lib/localcharset.c: Update from GNU gettext 0.14.2.
84674         * lib/config.charset: Update from GNU gettext 0.14.2.
84675
84676 2005-02-24  Bruno Haible  <bruno@clisp.org>
84677
84678         * lib/gettext.h: Update from GNU gettext 0.14.2.
84679
84680 2005-02-23  Simon Josefsson  <jas@extundo.com>
84681
84682         * m4/iconvme.m4: New file.
84683
84684 2005-02-23  Jim Meyering  <jim@meyering.net>
84685
84686         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
84687         change.
84688         Thanks to Bruno Haible for catching it.
84689
84690 2005-02-22  Simon Josefsson  <jas@extundo.com>
84691
84692         * modules/iconvme: New file.
84693
84694         * MODULES.html.sh: Add iconvme.
84695
84696 2005-02-22  Simon Josefsson  <jas@extundo.com>
84697
84698         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
84699
84700 2005-02-22  Simon Josefsson  <jas@extundo.com>
84701
84702         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
84703
84704 2005-02-22  Jim Meyering  <jim@meyering.net>
84705
84706         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
84707         s/ifndef/ifdef/.
84708
84709 2005-02-20  Neil Conway  <neilc@samurai.com>
84710
84711         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
84712         returned by OSX/Darwin if the specified buffer is not large
84713         enough for the hostname.
84714
84715 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84716
84717         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
84718         pass it to _help, otherwise the latter coredumps trying to
84719         dereference state.root_argp.
84720
84721 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84722
84723         * modules/chdir-long (Depends-on): Add memrchr.
84724         * modules/memrchr (Files): Add lib/memrchr.h.
84725         (Include): "memrchr.h".
84726
84727 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84728
84729         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
84730
84731 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
84732
84733         * lib/memrchr.h: New file.
84734         * lib/chdir-long.c: Include it.
84735         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
84736         Don't bother including stddef.h.
84737
84738 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
84739
84740         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
84741         inclusion.
84742         Include <sys/types.h>, for dev_t.
84743         (ME_DUMMY, ME_REMOTE): Move from here....
84744         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
84745         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
84746         Dmitry V. Levin.
84747         Include mountlist.h first, to test the interface.
84748
84749 2005-01-29  Bruno Haible  <bruno@clisp.org>
84750
84751         * lib/progname.c (program_name): Initialize.
84752         Needed when linking statically on MacOS X.
84753
84754 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84755
84756         Sync from coreutils.
84757         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
84758         (Depends-on): Add c-strtod.
84759         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
84760
84761 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
84762
84763         Sync from coreutils.
84764         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
84765
84766         Remove files that are specific to coreutils.
84767         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
84768
84769 2005-01-28  Bruno Haible  <bruno@clisp.org>
84770
84771         * modules/javacomp: New file.
84772         * MODULES.html.sh (Java): Add javacomp.
84773
84774 2005-01-28  Bruno Haible  <bruno@clisp.org>
84775
84776         * m4/javacomp.m4: New file, from GNU gettext.
84777
84778 2005-01-28  Bruno Haible  <bruno@clisp.org>
84779
84780         * lib/javacomp.sh.in: New file, from GNU gettext.
84781         * lib/javacomp.h: New file, from GNU gettext.
84782         * lib/javacomp.c: New file, from GNU gettext.
84783
84784 2005-01-26  Simon Josefsson  <jas@extundo.com>
84785
84786         * lib/gai_strerror.c: Use GPL in header.
84787
84788 2005-01-26  Bruno Haible  <bruno@clisp.org>
84789
84790         * modules/javaexec: New file.
84791         * MODULES.html.sh (Java): Add javaexec.
84792
84793 2005-01-26  Bruno Haible  <bruno@clisp.org>
84794
84795         * m4/javaexec.m4: New file, from GNU gettext.
84796
84797 2005-01-26  Bruno Haible  <bruno@clisp.org>
84798
84799         * lib/javaexec.sh.in: New file, from GNU gettext.
84800         * lib/javaexec.h: New file, from GNU gettext.
84801         * lib/javaexec.c: New file, from GNU gettext.
84802
84803 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84804
84805         * modules/lchown (Depends-on): Remove lchown.h
84806
84807 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84808
84809         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
84810         must be defined if the header file was not found, in order
84811         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
84812
84813 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84814
84815         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
84816         initializers for struct pentry_state.
84817         (__argp_error): Check return value of __asprintf
84818         (__argp_failure): Translate error message
84819
84820         * lib/argp-parse.c: Removed braces around the expansion of N_()
84821
84822 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
84823
84824         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
84825         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
84826         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
84827         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
84828         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
84829         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
84830         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
84831         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
84832         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
84833         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
84834         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
84835         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
84836         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
84837         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
84838         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
84839         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
84840         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
84841         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
84842         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
84843         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
84844         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
84845         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
84846         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
84847         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
84848         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
84849         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
84850         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
84851         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
84852         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
84853         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
84854         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
84855         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
84856         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
84857         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
84858         xstrtol.m4, xstrtoumax.m4, yesno.m4:
84859         Use an all-permissive copyright notice, recommended by RMS.
84860
84861 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
84862
84863         * modules/chdir-long (Depends-on): Remove mempcpy.
84864
84865 2005-01-21  Jim Meyering  <jim@meyering.net>
84866
84867         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
84868         same value as for Solaris 9.
84869
84870         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
84871         component length.  This included changing the parameter to be
84872         of type `char *' rather than `char const *'.
84873         * lib/chdir-long.h (chdir_long): Update prototype.
84874
84875         * lib/openat.c (fdopendir, fstatat): New functions.
84876         * lib/openat.h: Include headers required for use of DIR and struct
84877         stat.
84878         [AT_SYMLINK_NOFOLLOW]: Define.
84879         (fdopendir, fstatat): Add prototypes.
84880
84881 2005-01-21  Bruno Haible  <bruno@clisp.org>
84882
84883         * modules/classpath: New file.
84884         * MODULES.html.sh (Java): Add classpath.
84885
84886 2005-01-21  Bruno Haible  <bruno@clisp.org>
84887
84888         * lib/classpath.h: New file, from GNU gettext.
84889         * lib/classpath.c: New file, from GNU gettext.
84890
84891 2005-01-20  Simon Josefsson  <jas@extundo.com>
84892
84893         * modules/version-etc-fsf: New file.
84894
84895 2005-01-20  Simon Josefsson  <jas@extundo.com>
84896
84897         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
84898         * lib/version-etc.c: Remove version_etc_copyright.
84899         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
84900         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
84901
84902 2005-01-20  Simon Josefsson  <jas@extundo.com>
84903
84904         * lib/base64.h (isbase64): Add.
84905
84906         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
84907         using a unsigned prototype, don't inline.
84908         (base64_decode): Use it.
84909
84910 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84911
84912         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
84913         it.
84914
84915 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84916
84917         * lib/save-cwd.c (save_cwd): Remove code to support the case
84918         where fchdir is missing or flaky.
84919
84920 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
84921
84922         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
84923
84924 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
84925
84926         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
84927         AC_LIBSOURCES now does this.
84928         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
84929         with new ullong_max module.
84930
84931 2005-01-19  Bruno Haible  <bruno@clisp.org>
84932
84933         * modules/sh-quote: New file.
84934         * MODULES.html.sh (Executing programs): Add sh-quote.
84935
84936 2005-01-19  Bruno Haible  <bruno@clisp.org>
84937
84938         * lib/sh-quote.h: New file, from GNU gettext.
84939         * lib/sh-quote.c: New file, from GNU gettext.
84940
84941 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84942
84943         Merge from coreutils.
84944         * m4/ullong_max.m4: New file.
84945         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
84946         (gl_MACROS): Assume localeconv exists.
84947
84948 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84949
84950         Merge changes from coreutils, as described below in several
84951         changelogs dated today.
84952
84953         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
84954         (O_DIRECTORY): Remove; not needed here, since "." must be
84955         a directory.  All uses removed.
84956         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
84957         universal on Suns, and we also need to test for IRIX.
84958         Revamp code to use 'if' rather than '#if'.
84959         Avoid unnecessary comparison of cwd->desc to 0.
84960
84961         * lib/utimens.c (futimens): Robustify the previous patch, by checking
84962         for known valid error numbers rather than observed invalid ones.
84963
84964 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
84965
84966         * modules/ullong_max: New file.
84967
84968         * modules/chdir-long, modules/openat: New files.
84969         * modules/save-cwd (Depends-on): Depend on chdir-long.
84970         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
84971
84972 2005-01-18  Jim Meyering  <jim@meyering.net>
84973
84974         Merge from coreutils.
84975         * m4/chdir-long.m4, m4/openat.m4: New files.
84976         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
84977         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
84978         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
84979         is sane and DOES follow symlinks.  Besides, testing 20 different
84980         systems found no broken chown implementations.
84981         Prompted by a change in rsync's copy of this macro.
84982         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
84983
84984         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
84985
84986         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
84987         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
84988         NULL-means-set-to-current-time semantics.
84989         Remove temporary file immediately, rather than waiting
84990         for configure's at-exit trap code to do it.
84991
84992 2005-01-18  Jim Meyering  <jim@meyering.net>
84993
84994         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84995
84996         * lib/utimens.c (futimens): Account for the fact that futimes
84997         can also fail with errno == ENOSYS or errno == ENOENT.
84998         Patch from Dmitry V. Levin.
84999
85000         Change the name of the robust chdir function from chdir to chdir_long.
85001         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85002         (restore_cwd): Use chdir_long, not chdir.
85003         * lib/chdir-long.c: Renamed from chdir.c.
85004         * lib/chdir-long.h: Renamed from chdir.h.
85005         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85006         Hurd.
85007
85008 2005-01-18  Bruno Haible  <bruno@clisp.org>
85009
85010         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85011         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85012         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85013         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85014         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85015         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85016         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85017         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85018         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85019         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85020         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85021         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85022         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85023         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85024         Use an all-permissive copyright notice, recommended by RMS.
85025
85026 2005-01-18  Bob Proulx  <bob@proulx.com>
85027
85028         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85029         simplify offsetof() macro construct to avoid compile failure with
85030         native HP-UX 11.0 ANSI C compiler.
85031
85032 2005-01-17  Bruno Haible  <bruno@clisp.org>
85033
85034         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85035         redundant because stpncpy.m4 takes care of it.
85036
85037 2005-01-17  Bruno Haible  <bruno@clisp.org>
85038
85039         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85040
85041 2005-01-17  Bruno Haible  <bruno@clisp.org>
85042
85043         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85044         used.
85045
85046 2005-01-17  Bruno Haible  <bruno@clisp.org>
85047
85048         * lib/fwriteerror.h (fwriteerror): Change specification to include
85049         fclose.
85050         * lib/fwriteerror.c: Include <stdbool.h>.
85051         (fwriteerror): At the end, close the file stream. Record whether
85052         stdout was already closed.
85053
85054 2005-01-17  Bruno Haible  <bruno@clisp.org>
85055
85056         * lib/execute.c (environ): Declare if needed.
85057         * lib/pipe.c (environ): Likewise.
85058         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85059
85060 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85061
85062         * modules/argp: Depend on vsnprintf
85063
85064 2005-01-10  Jim Meyering  <jim@meyering.net>
85065
85066         * modules/closeout (Depends-on): Add atexit.
85067
85068 2005-01-06  Bruno Haible  <bruno@clisp.org>
85069
85070         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85071
85072 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85073
85074         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85075         definitions to be after all include files, to avoid collisions.
85076         Problem reported by Bob Proulx.
85077
85078 2005-01-04  Jim Meyering  <jim@meyering.net>
85079
85080         Changes imported from coreutils.
85081         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85082         as the mkstemp template, use a temporary directory and an
85083         8.3-friendly template to avoid trouble on systems like DJGPP.
85084         Reported by Juan M. Guerrero via Stepan Kasal.
85085         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85086         close. Remove the temporary directory right away, rather than waiting
85087         for configure's at-exit trap code to do it.
85088         Suggestion from Stepan Kasal.
85089
85090 2005-01-01  Simon Josefsson  <jas@extundo.com>
85091
85092         * gnulib-tool: Print #include directives when --import'ing.
85093
85094 2004-12-28  Simon Josefsson  <jas@extundo.com>
85095
85096         * tests/test-base64.c: Include required header files.  Remove
85097         unused variables.
85098
85099 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85100
85101         * modules/error (Depends-on): Remove gettext.
85102
85103 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85104
85105         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85106         not needed.  This removes a dependency on the gettext module.
85107         [defined _LIBC]: Do not include <libintl.h>; not needed.
85108
85109 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85110
85111         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85112         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85113
85114 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85115
85116         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85117         HAVE_DECL_STRTOLD.
85118
85119 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85120
85121         * modules/getdate (Depends-on): Remove alloca-opt.
85122
85123 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85124
85125         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85126
85127 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85128
85129         * lib/argp-parse.c: Include <stddef.h>.
85130         (alignof, alignto): New macros.
85131         (parser_init): Don't assume that void * is aligned sufficiently
85132         for struct option.
85133
85134         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85135         need to extend the stack.
85136         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85137         large.
85138
85139 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85140
85141         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85142
85143 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85144
85145         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85146         (2004-10-24) change.  Apparently this was a false alarm.
85147
85148         * modules/getdate: Depend on alloca-opt, not alloca.
85149
85150 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85151
85152         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85153         Remove now-obsolete comment about AIX.
85154         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85155         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85156         (YYMAXDEPTH): New macro.
85157
85158 2004-12-18  Simon Josefsson  <jas@extundo.com>
85159
85160         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85161
85162 2004-12-18  Bruno Haible  <bruno@clisp.org>
85163
85164         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85165
85166 2004-12-18  Bruno Haible  <bruno@clisp.org>
85167
85168         * lib/fatal-signal.c (fatal_signals): Make non-const.
85169         (init_fatal_signals): New function.
85170         (uninstall_handlers, install_handlers): Ignore signals that were set to
85171         SIG_IGN.
85172         (at_fatal_signal): Call init_fatal_signals.
85173         (init_fatal_signal_set): Likewise. Ignore signals that were set to
85174         SIG_IGN.
85175         Reported by Paul Eggert.
85176
85177 2004-12-18  Bruno Haible  <bruno@clisp.org>
85178
85179         * doc/alloca.texi: New file.
85180         * doc/alloca-opt.texi: New file.
85181
85182 2004-12-17  Jim Meyering  <jim@meyering.net>
85183
85184         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
85185         Otherwise, install-sh could exit with improper exit status when
85186         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
85187
85188 2004-12-16  Simon Josefsson  <jas@extundo.com>
85189
85190         * tests/test-base64.c: Add license.
85191
85192 2004-12-15  Stepan Kasal  <address@hidden>
85193
85194         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
85195
85196 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
85197
85198         * modules/getcwd (Files): Add m4/d-ino.m4.
85199         Suggested by Mark D. Baushke.
85200
85201 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85202
85203         * lib/getdate.y (textint): New member "negative".
85204         (time_zone_hhmm): New function.
85205         Expect 14 shift-reduce conflicts, not 13.
85206         (o_colon_minutes): New rule.
85207         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
85208         (yylex): Set the "negative" member of signed numbers.
85209
85210 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
85211
85212         * doc/getdate.texi (Time of day items, Time zone items):
85213         Describe new formats +00:00, UTC+00:00.
85214
85215 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
85216
85217         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
85218         spurious "-l"s.  Problem reported by Stepan Kasal.
85219
85220 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
85221
85222         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
85223         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
85224
85225 2004-12-04  Simon Josefsson  <jas@extundo.com>
85226
85227         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
85228         Vandoorselaere <yoann@prelude-ids.org>.
85229
85230 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85231
85232         Changes imported from coreutils.
85233         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
85234         exist.
85235         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
85236
85237 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85238
85239         Changes imported from coreutils.
85240         * lib/hard-locale.c: Assume <locale.h> exists.
85241         Include "strdup.h".
85242         (GLIBC_VERSION): New macro.
85243         (hard_locale): Assume setlocale exists.
85244         Rewrite to avoid #ifdef.
85245         Use strdup rather than malloc + strcpy.
85246         * lib/human.c: Assume <locale.h> exists.
85247         (human_readable): Assume localeconv exists.
85248
85249 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
85250
85251         * modules/hard-locale (Depends-on): Add strdup.
85252
85253 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
85254
85255         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
85256         convert T2, not T.  (Imported from libc.)
85257
85258 2004-11-30  Simon Josefsson  <jas@extundo.com>
85259
85260         * modules/restrict (License): Change to LGPL.
85261
85262 2004-11-30  Simon Josefsson  <jas@extundo.com>
85263
85264         * m4/restrict.m4: Add copyright and copying conditions.
85265
85266 2004-11-30  Simon Josefsson  <jas@extundo.com>
85267
85268         * m4/base64.m4: New file.
85269
85270 2004-11-30  Simon Josefsson  <jas@extundo.com>
85271
85272         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
85273         base64.
85274
85275         * tests/test-base64.c: New file.
85276
85277         * modules/base64: New file.
85278
85279 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85280
85281         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
85282         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
85283
85284         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
85285
85286 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
85287
85288         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
85289         (__getcwd.c): Don't restore errno; glibc doesn't.
85290         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
85291         first, falling back to our code only if its results look suspicious.
85292         Ensure that the resulting buffer is only as large as necessary.
85293
85294         * lib/readutmp.c: Include readutmp.h first.
85295         Include <errno.h>, since readutmp.h no longer does that.
85296         * lib/readutmp.h: Don't include <errno.h>,
85297         <sys/param.h>, <time.h>; not needed to establish interface.
85298         (errno): Remove decl.
85299         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
85300         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
85301         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
85302
85303 2004-11-28  Simon Josefsson  <jas@extundo.com>
85304
85305         * lib/base64.h, base64.c: New file.
85306
85307 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
85308
85309         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
85310
85311 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
85312
85313         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
85314         (Depends-on): Remove pathmax, same.  Add mempcpy.
85315         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
85316         (Makefile.am): Append getcwd.h to lib_SOURCES.
85317         (Include): Add getcwd.h.
85318         (Maintainer): Change from Jim Meyering to "all, glibc",
85319         since getdate now uses intended-for-glibc code.
85320         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
85321         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
85322
85323 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85324
85325         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
85326         HP's ANSI C compiler.
85327         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
85328         Declaring int functions causes warnings on some modern systems and
85329         shouldn't be needed to compile on ancient ones.
85330         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
85331         defined.
85332
85333         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
85334         with the following changes.
85335         (__set_errno): Parenthesize properly.
85336         Include <stdbool.h>.
85337         (MIN, MAX, MATCHING_INO): New macros.
85338         (__getcwd): Define with prototype, not K&R form.
85339         Use heuristics to allocate default buffer on stack if possible.
85340         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
85341         behavior, and to avoid the PATH_MAX limit when computing
85342         ../../../../...
85343         Use MATCHING_INO to compare inode number to file.
85344         Check for arithmetic overflow in size calculations.
85345         Fix bug in reallocation of dot array that caused getcwd to fail
85346         on directories nested deeper than 75.
85347         Be more careful about saving errno on error.
85348         Do not use realloc; use only free+malloc, as this is a bit
85349         more flexible and avoids a needless copy operation.
85350         Do not inspect st_dev and st_ino for symbolic links; POSIX
85351         doesn't specify the latter.
85352         Check for closedir errors.
85353         Avoid needless casts.
85354         Use "#ifdef weak_alias" around weak_alias, to be like other
85355         glibc code.
85356         The following changes to getcwd.c have effect only when used in
85357         gnulib; they have no effect inside glibc proper.
85358         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
85359         as alloca isn't used.
85360         (alloca, __alloca): Likewise.
85361         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
85362         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
85363         unconditionally, as gnulib assumes C89 or better.
85364         Do not include <sys/param.h>.
85365         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
85366         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
85367         better.
85368         (NULL) [!defined NULL]: Remove; we assume C89 or better.
85369         Include <dirent.h> in a way that is compatible with modern Autoconf.
85370         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
85371         New macros, if not already defined.
85372         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
85373         Use "_LIBC", not "defined _LIBC", for consistency.
85374         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
85375         a mempcpy module.
85376         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
85377         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
85378         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
85379         credit only to Jim Meyering and adjust the copyright dates.
85380         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
85381         <stdlib.h>, <unistd.h>, "pathmax.h".
85382         Instead, include "xgetcwd.h" (first) and "getcwd.h".
85383         (INITIAL_BUFFER_SIZE): Remove.
85384         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
85385
85386 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
85387
85388         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
85389         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
85390         Use the _ONCE methods, for efficiency.
85391         Check for fcntl.h.  In test program, include <errno.h>
85392         and <fcntl.h> if available.  Remove old K&R cruft from
85393         test program.  Check for common errors in GNU/Linux,
85394         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
85395         don't do AC_LIBOBJ, as that's getcwd.m4's job.
85396         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
85397         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
85398         name accordingly.
85399         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
85400         accommodate new getcwd.c.
85401         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
85402         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
85403         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
85404         that's all we need now.
85405
85406 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85407
85408         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
85409         argp-parse.c depends on getopt internals, that means we should
85410         always use our getopt, to be on the safe side.
85411         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
85412         order not to spoil the result of an eventual previous invocation
85413         of gl_GETOPT_SUBSTITUTE.
85414
85415 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85416
85417         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
85418         redefinition warnings. To avoid them, include the defines
85419         in `#if !defined __need_getopt ... #endif'. The only place
85420         where __getopt_argv_const is used is in definitions
85421         of getopt_long and getopt_long_only below, which are as well
85422         protected by `#ifndef __need_getopt'.
85423         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
85424         __need_getopt after including <stdio.h> and <unistd.h> These
85425         headers might have defined it.
85426
85427 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85428
85429         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
85430
85431 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
85432
85433         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
85434         (futimens): New function, which uses futimes if available.
85435         (futimens, utimens): Support timespec==NULL, with same semantics
85436         as utime and utimens.
85437         * lib/utimens.h (futimens): New decl.
85438
85439 2004-11-23  Jim Meyering  <jim@meyering.net>
85440
85441         * lib/getopt_.h: Remove trailing blanks.
85442
85443 2004-11-23  Jim Meyering  <jim@meyering.net>
85444
85445         * lib/__fpending.c: Add comment.
85446
85447 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
85448
85449         * modules/canonicalize (Depends-on): Add xreadlink.
85450         Problem reported by James Youngman.
85451
85452 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
85453
85454         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
85455         New macros.
85456         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
85457         optopt): Use them instead of invoking ## directly; otherwise, the
85458         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
85459
85460 2004-11-19  Bruno Haible  <bruno@clisp.org>
85461
85462         * lib/strtok_r.c: Move comments from here...
85463         * lib/strtok_r.h: ... to here.
85464
85465 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85466
85467         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
85468         implementations that mishandle size_t overflow.
85469
85470 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
85471
85472         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
85473         might fail.  Problem reported by Yoann Vandoorselaere.
85474         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
85475         implementations that mishandle size_t overflow.
85476
85477 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85478
85479         * modules/canon-host (Depends-on): Add strdup.
85480
85481 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85482
85483         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
85484
85485 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85486
85487         * lib/canon-host.c: Include "strdup.h".
85488         (canon_host): Use getaddrinfo if available, so that IPv6 works.
85489         Use strdup instead of malloc/strcpy to duplicate strings.
85490
85491         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
85492         (human_space_before_unit): New constant.
85493         * lib/human.c (human_readable): Support it.
85494
85495         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
85496         (xgetcwd): Set errno correctly when failing.
85497         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
85498         the failure is actually due to a PATH_MAX problem.
85499
85500         Further getopt changes to make it more likely that glibc will
85501         buy the changes back.
85502         * lib/getopt.c (POSIXLY_CORRECT): New constant.
85503         (getopt): Use it, so to preserve glibc semantic
85504         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
85505         when compiling for libc.
85506         * lib/getopt_.h (__getopt_argv_const): Bring it back.
85507         (getopt_long, getopt_long_only): Use it.
85508
85509         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85510         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
85511         (getopt): Argv is now char * const *, as per standard.
85512         (_getopt_internal_r, _getopt_internal): Argv is now char **,
85513         not char *__getopt_argv_const *.
85514         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85515         _getopt_long_only_r): Likewise.
85516         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
85517         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85518         _getopt_long_r, _getopt_long_only_r): Likewise.
85519         * lib/getopt_.h (__getopt_argv_const): Remove.
85520         (getopt): Argv is now char * const *, as per standard.
85521
85522         * lib/getdate.y (tORDINAL): New token.
85523         (day, relunit): Allow it for relative times.
85524         (relative_time_table): Use tORDINAL for ordinals.
85525
85526 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
85527
85528         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
85529         Document that "second" isn't allowed as an ordinal number.
85530
85531 2004-11-16  Jim Meyering  <jim@meyering.net>
85532
85533         * modules/closeout (Depends-on): Add fpending.
85534
85535 2004-11-15  Jim Meyering  <jim@meyering.net>
85536
85537         * lib/closeout.c: Include "__fpending.h" once again.
85538         Include <stdbool.h>.
85539         (close_stdout): Don't fail just because stdout was closed initially,
85540         since some programs don't write to stdout in the normal course of
85541         operation (other than --version and --help), and we don't want this
85542         function to make e.g. `touch file >&-' fail.
85543         But do fail if it was closed and someone has tried to write to it.
85544         E.g., `printf foo >&-' must fail.
85545
85546 2004-11-13  Jim Meyering  <jim@meyering.net>
85547
85548         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
85549
85550 2004-11-12  Simon Josefsson  <jas@extundo.com>
85551
85552         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
85553         small doc fix is still pending.
85554
85555 2004-11-11  Simon Josefsson  <jas@extundo.com>
85556
85557         * modules/strtok_r: New file.
85558
85559         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85560         strtok_r.
85561
85562 2004-11-11  Simon Josefsson  <jas@extundo.com>
85563
85564         * m4/strtok_r.m4: New file.
85565
85566         * m4/getopt.m4: Replace opterr.
85567
85568 2004-11-11  Simon Josefsson  <jas@extundo.com>
85569
85570         * lib/strtok_r.h, strtok_r.c: New file.
85571
85572 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85573
85574         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
85575         of replacing opterr, getopt, etc.  This should handle the
85576         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
85577
85578 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
85579
85580         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
85581         we can stop lying to compilers about the constness of argv when we
85582         are compiled outside glibc.
85583         (getopt, getopt_long, getopt_long_only): Use it.
85584         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
85585         _getopt_internal, getopt): Likewise.
85586         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
85587         _getopt_long_only_r): Likewise.
85588         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
85589         _getopt_long_r, _getopt_long_only_r): Likewise.
85590
85591         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
85592         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
85593         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
85594         the other external symbols.
85595         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
85596         declaration, since the above renaming now works around collisions.
85597
85598 2004-11-11  Jim Meyering  <jim@meyering.net>
85599
85600         * lib/linebreak.c: Remove trailing blanks.
85601         * lib/alloca_.h: Likewise.
85602         * lib/acosl.c: Likewise.
85603         * lib/euidaccess.c: Likewise.
85604         * lib/allocsa.h: Likewise.
85605
85606 2004-11-10  Simon Josefsson  <jas@extundo.com>
85607
85608         * m4/getaddrinfo.m4: New file.
85609
85610 2004-11-10  Simon Josefsson  <jas@extundo.com>
85611
85612         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
85613
85614 2004-11-10  Simon Josefsson  <jas@extundo.com>
85615
85616         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85617         getaddrinfo.
85618
85619         * modules/getaddrinfo: New file.
85620
85621 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85622
85623         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
85624
85625 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
85626
85627         * lib/mktime.c (SHR): New macro, which is a portable
85628         substitute for >> that should work even on Crays.
85629         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
85630         Problem reported by Mark D. Baushke in
85631         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
85632         * lib/getdate.y (SHR): Likewise.
85633         (tm_diff): Use it.
85634         * lib/strftime.c (SHR): Likewise.
85635         (tm_diff): Use it.
85636         * lib/quotearg.c (struct quoting_options): Use unsigned int for
85637         quote_these_too, so that right shifts are well defined.  All uses
85638         changed.
85639
85640 2004-11-10  Jim Meyering  <jim@meyering.net>
85641
85642         Ensure that no close failure goes unreported.
85643         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
85644         return early when it seems there's nothing to flush.
85645         Don't include __fpending.h.
85646
85647 2004-11-10  Jim Meyering  <jim@meyering.net>
85648
85649         * modules/closeout (Depends-on): Remove fpending.
85650
85651 2004-11-10  Jim Meyering  <jim@meyering.net>
85652
85653         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
85654
85655 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85656
85657         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
85658         gl_FUNC_STRFTIME.
85659         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
85660         and AC_REQUIRE when possible, to avoid duplicate checks.
85661         Check for <wchar.h>.
85662
85663 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
85664
85665         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
85666
85667 2004-11-09  Bruno Haible  <bruno@clisp.org>
85668
85669         * m4/sockpfaf.m4: New file.
85670
85671 2004-11-05  Bruno Haible  <bruno@clisp.org>
85672
85673         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
85674         Reported by Mark D. Baushke <mdb@cvshome.org>.
85675
85676 2004-11-04  Bruno Haible  <bruno@clisp.org>
85677
85678         2004-09-11  Bruno Haible  <bruno@clisp.org>
85679                 * allocsa.valgrind: New file.
85680         2004-02-06  Bruno Haible  <bruno@clisp.org>
85681                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
85682                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
85683                 Reported by Christopher Seip <chris.seip@hp.com>.
85684
85685 2004-11-04  Bruno Haible  <bruno@clisp.org>
85686
85687         * modules/allocsa (Files): Add lib/allocsa.valgrind.
85688         (Makefile.am): Distribute it.
85689
85690 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
85691
85692         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
85693         with errno == ERANGE if the buffer is too small.
85694         Problem reported by Mark D. Baushke.
85695
85696 2004-11-03  Albert Chin  <china@thewrittenword.com>
85697             Paul Eggert  <eggert@cs.ucla.edu>
85698
85699         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
85700         equivalent, substitute $ac_type for equivalent type rather than
85701         blindly using uint32_t *always* which won't work if uint32_t is not
85702         available.  Define _UINT32_T to work around typedef of uint32_t if
85703         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
85704         2.5.1.
85705
85706 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85707
85708         * m4/jm-macros.m4: Sync from coreutils.
85709         (gl_MACROS): Check for mbrlen, for pathchk.
85710         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
85711
85712 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85713
85714         * lib/xreadlink.c (MAXSIZE): New macro.
85715         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
85716         size does not exceed MAXSIZE.  Avoid cast.
85717         As suggested by Mark D. Baushke in
85718         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
85719         if readlink fails with buffer size just under MAXSIZE, try again
85720         with MAXSIZE.
85721
85722 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
85723
85724         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
85725
85726 2004-11-02  Derek R. Price  <derek@ximbiot.com>
85727         and  Paul Eggert  <eggert@cs.ucla.edu>
85728
85729         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
85730         (get_date): Overparenthesize to avoid GCC warning.
85731
85732 2004-11-02  Bruno Haible  <bruno@clisp.org>
85733
85734         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
85735         returns void.
85736
85737 2004-11-02  Bruno Haible  <bruno@clisp.org>
85738
85739         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
85740         function returns void.
85741
85742 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85743
85744         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
85745         fflush_unlocked, flockfile, funlockfile, funlockfile,
85746         fputs_unlocked, putc_unlocked.
85747
85748 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
85749
85750         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85751         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
85752         already declared.
85753
85754 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85755
85756         * modules/getdate (Files): Add doc/getdate.texi.
85757         (Depends-on): Add setenv, xalloc.
85758
85759 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85760
85761         * lib/getdate.y: Add support for TZ="foo" within a date string.
85762         Fix some bugs near time_t boundaries.  Reject dates with
85763         out-of-range components, e.g., "Sept 31".
85764         Include <stdlib.h>, "setenv.h", "xalloc.h".
85765         (ISDIGIT_LOCALE): Remove; unused.
85766         Note that the TZ and time functions used here are not reentrant.
85767         (mktime_ok, get_tz): New functions.
85768         (TZBUFSIZE): New constant.
85769         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
85770         This requires that we sometimes generate our own TZ="XXX..." setting.
85771
85772 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
85773
85774         * doc/getdate.texi: New file, from coreutils with modifications for
85775         the new TZ parsing.
85776
85777 2004-10-27  Derek R. Price  <derek@ximbiot.com>
85778
85779         * lib/mktime.c (not_equal_tm): Remove redundant check.
85780
85781 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85782
85783         * modules/regex (lib_SOURCES): Add regex.c.
85784         Reported by James Youngman in
85785         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
85786
85787 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
85788
85789         * lib/getdate.y: Use Bison 1.875 features, and some minor
85790         code cleanups.  This change does not affect semantics.
85791         Don't include <stdlib.h>; no longer needed.
85792         Don't include unlocked-io.h; only the "#if TEST" code uses
85793         stdio, and performance isn't crucial there.
85794         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
85795         Bison 1.875 features as described below.
85796         All uses of "PC." replaced by "pc->".
85797         (YYSTYPE): Add a forward declaration.
85798         (yylex, yyerror): Use full prototypes in forward decls.
85799         Use "%pure-parser" rather than obsolescent "%pure_parser".
85800         Use %parse-param and %lex-param instead of obsolescent
85801         YYPARSE_PARAM and YYLEX_PARAM.
85802         (meridian_table, month_and_day_table, time_units_table,
85803         relative_time_table, time_zone_table, military_table,
85804         lookup_zone, lookup_word, get_date):
85805         Use NULL instead of 0 where appropriate.
85806         (to_hour): Avoid abort (), to avoid a dependency on
85807         stdlib.h.
85808         (yyerror, yylex): Now accepts parser_control * arg.
85809         (main) [TEST]: Use '\0' rather than 0 for char.
85810
85811 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85812
85813         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
85814
85815 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
85816
85817         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
85818         It's now the caller's responsibility to handle the case where
85819         !HAVE_GETPAGESIZE && !defined getpagesize.
85820
85821         * lib/mktime.c (leapyear): Arg is long int, not int.
85822
85823 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
85824
85825         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
85826
85827 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
85828
85829         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
85830         missing.  Problem reported by James Youngman.
85831
85832 2004-10-16  Simon Josefsson  <jas@extundo.com>
85833
85834         * gnulib-tool: Fix comments.  Fix parse problem.
85835         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
85836
85837 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
85838
85839         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
85840         implementation of getopt_long.  Problem reported by Alexander Taler in:
85841         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
85842
85843 2004-10-15  Bruno Haible  <bruno@clisp.org>
85844
85845         * gnulib-tool: Untabify. Initialize supplied_libname.
85846         (func_usage): More homogenous output.
85847         (func_modules_transitive_closure, func_modules_to_filelist,
85848         func_emit_lib_Makefile_am): New functions.
85849         (func_import): New function, extracted from big case statement. Use
85850         func_get_license, func_modules_transitive_closure,
85851         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
85852         opt_lgpl. Don't use test -a, as it's not portable.
85853         (func_create_testdir): Use func_modules_transitive_closure,
85854         func_modules_to_filelist, func_emit_lib_Makefile_am.
85855
85856 2004-10-15  Bruno Haible  <bruno@clisp.org>
85857
85858         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
85859
85860 2004-10-15  Bruno Haible  <bruno@clisp.org>
85861
85862         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
85863         the portions belonging to each module.
85864         Suggested by Derek Robert Price <derek@ximbiot.com>.
85865
85866 2004-10-12  Simon Josefsson  <jas@extundo.com>
85867
85868         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
85869         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
85870         to real functions.
85871
85872 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85873
85874         * modules/vsnprintf: New file.
85875
85876 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85877
85878         * m4/vsnprintf.m4: New file.
85879
85880 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
85881
85882         * lib/vsnprintf.h: New file.
85883         * lib/vsnprintf.c: New file.
85884
85885 2004-10-11  Bruno Haible  <bruno@clisp.org>
85886
85887         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
85888         vsnprintf.
85889
85890 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
85891
85892         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
85893
85894 2004-10-07  Bruno Haible  <bruno@clisp.org>
85895
85896         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
85897         fits into the provided buffer.
85898
85899 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
85900
85901         * lib/diacrit.c, diacrit.h: Add GPL notice.
85902
85903         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
85904         notice.
85905         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
85906         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
85907         This avoids a potential constant-folding bug.
85908
85909 2004-10-05  Bruno Haible  <bruno@clisp.org>
85910
85911         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
85912         for the declaration of strsep.
85913
85914 2004-10-05  Bruno Haible  <bruno@clisp.org>
85915
85916         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
85917
85918 2004-10-04  Simon Josefsson  <jas@extundo.com>
85919
85920         * modules/memmem: New file.
85921         * tests/test-memmem.c: New file.
85922         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
85923
85924 2004-10-04  Simon Josefsson  <jas@extundo.com>
85925
85926         * m4/memmem.m4: New file.
85927
85928 2004-10-04  Simon Josefsson  <jas@extundo.com>
85929
85930         * lib/memmem.h: New file.
85931         * lib/memmem.c: New file, taken from glibc.
85932
85933 2004-10-04  Simon Josefsson  <jas@extundo.com>
85934
85935         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
85936         '#ifdef USE_UNLOCKED_IO'.
85937
85938 2004-10-04  Simon Josefsson  <jas@extundo.com>
85939
85940         * config/srclist.txt: Add memmem from glibc.
85941
85942 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85943
85944         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
85945
85946         * modules/argmatch, modules/argp, modules/closeout, modules/error,
85947         modules/exclude, modules/getdate, modules/getline,
85948         modules/getndelim2, modules/getpass, modules/getpass-gnu,
85949         modules/getusershell, modules/linebuffer, modules/md5,
85950         modules/mountlist, modules/posixtm, modules/readtokens,
85951         modules/readutmp, modules/regex, modules/sha1,
85952         modules/version-etc, modules/yesno:
85953         Remove dependency on unlocked-io.
85954
85955 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85956
85957         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
85958
85959         * m4/unlocked-io.m4: Add copyright notice.
85960         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
85961
85962 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85963
85964         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
85965         * lib/xmalloc.c (xmemdup): Likewise.
85966         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
85967         XFREE): Remove these long-obsolescent macros.
85968         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
85969         * lib/xstrdup.c: Remove.
85970
85971         * lib/regex.c (re_comp): Cast gettext return value to char *,
85972         Problem reported by Martin Neitzel via Mark D. Baushke.
85973
85974 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
85975
85976         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
85977         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
85978         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
85979         regex.c, sha1.c, version-etc.c, yesno.c:
85980         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
85981         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
85982         the includer's responsibility.
85983
85984         Sync from coreutils.
85985
85986         * lib/modechange.c (mode_compile): Don't decrement a pointer that
85987         points to the start of a string, as the C Standard says the
85988         resulting behavior is undefined.
85989
85990         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
85991         simple -> simple_backups, numbered_existing ->
85992         numbered_existing_backups, numbered -> numbered_backups
85993         to avoid shadowing problems.  All uses changed.
85994         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
85995         * lib/backupfile.c (check_extension, numbered_backup):
85996         Rename locals to avoid shadowing 'basename'.
85997         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
85998         once.
85999
86000         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86001         * lib/.cvsignore: Add getopt.h.
86002
86003 2004-10-04  Bruno Haible  <bruno@clisp.org>
86004
86005         * modules/README: New file.
86006         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86007         not a module.
86008
86009 2004-10-02  Jim Meyering  <jim@meyering.net>
86010
86011         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86012
86013 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86014
86015         * modules/strsep: New file.
86016
86017 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86018
86019         * m4/strsep.m4: New file.
86020
86021 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86022
86023         * lib/strsep.h: New file.
86024         * lib/strsep.c: New file.
86025
86026 2004-10-01  Simon Josefsson  <jas@extundo.com>
86027
86028         * lib/snprintf.c (snprintf): Handle size==0.
86029
86030 2004-10-01  Simon Josefsson  <jas@extundo.com>
86031             Bruno Haible  <bruno@clisp.org>
86032
86033         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86034         (snprintf): Declare 'args'.
86035
86036 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86037
86038         * lib/snprintf.c: Remove comments as to why each header is needed.
86039
86040 2004-10-01  Bruno Haible  <bruno@clisp.org>
86041
86042         * MODULES.html.sh: Add strsep.
86043
86044 2004-09-30  Simon Josefsson  <jas@extundo.com>
86045
86046         * modules/snprintf: New file.
86047
86048 2004-09-30  Simon Josefsson  <jas@extundo.com>
86049
86050         * m4/snprintf.m4: New file.
86051
86052 2004-09-30  Simon Josefsson  <jas@extundo.com>
86053
86054         * lib/snprintf.h, lib/snprintf.c: New files.
86055
86056 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86057
86058         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86059         (hol_entry_help): Never translate an empty string.
86060         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86061         * lib/argp.h (OPTION_NO_TRANS): New option.
86062
86063 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86064
86065         * modules/argp (Maintainer): Replace Simon Josefsson
86066         by Sergey Poznyakoff.
86067
86068 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86069
86070         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86071         changes merged back into glibc.
86072
86073 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86074
86075         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86076
86077 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86078
86079         * lib/xvasprintf.c: Include xalloc.h.
86080         (xvasprintf): Use xalloc_die, not xmalloc_die.
86081
86082 2004-09-29  Bruno Haible  <bruno@clisp.org>
86083
86084         * modules/alloca-opt: New file, derived from modules/alloca.
86085         * modules/allocsa: Depend on alloca-opt instead of alloca.
86086         * modules/setenv: Likewise.
86087         * modules/vasnprintf: Likewise.
86088         * MODULES.html.sh: Add alloca-opt.
86089
86090 2004-09-28  Simon Josefsson  <jas@extundo.com>
86091
86092         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86093         LGPL, and to replace license template from GPL to LGPL.
86094
86095 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86096
86097         * modules/dummy: Change license to LGPL.
86098
86099 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86100
86101         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86102
86103 2004-09-24  Simon Josefsson  <jas@extundo.com>
86104
86105         * modules/minmax (License): Change from GPL to LGPL.
86106
86107 2004-09-23  Simon Josefsson  <jas@extundo.com>
86108
86109         * gnulib-tool (--import): Typo.
86110
86111 2004-09-23  Simon Josefsson  <jas@extundo.com>
86112
86113         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86114
86115 2004-09-22  Bruno Haible  <bruno@clisp.org>
86116
86117         * modules/*: Add 'License' field.
86118         * gnulib-tool: Accept --extract-license option.
86119         (func_get_license): New function.
86120
86121 2004-09-21  Bruno Haible  <bruno@clisp.org>
86122
86123         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86124         Reported by Simon Josefsson.
86125
86126 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86127
86128         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86129         gl_AC_TYPE_LONG_LONG.
86130
86131 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86132
86133         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86134
86135 2004-09-18  Simon Josefsson  <jas@extundo.com>
86136         and  Paul Eggert  <eggert@cs.ucla.edu>
86137
86138         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86139         calls with autoreconf.  Define GL_LIB.
86140
86141 2004-09-14  Karl Berry  <karl@gnu.org>
86142
86143         * config/srclist.txt: unsync setenv.c, sigh.
86144
86145 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86146
86147         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86148         Problem reported by Bruno Haible in:
86149         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86150
86151 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86152
86153         * config/srclist.txt: Comment out argp-pvh.c.
86154
86155 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86156
86157         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86158         in case some system header has #define'd it.  Problem reported by
86159         Soeren D. Schulze in
86160         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86161
86162 2004-09-09  Karl Berry  <karl@gnu.org>
86163
86164         * regex.[ch]: delete from the root.  These were supposed to be
86165                 synced with emacs cvs, but this has not happened for about
86166                 a year, and anyway nothing else uses emacs regex.[ch].
86167                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86168                 lib/regex[.ch] is untouched.
86169
86170 2004-09-09  Bruno Haible  <bruno@clisp.org>
86171
86172         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
86173
86174 2004-09-09  Bruno Haible  <bruno@clisp.org>
86175
86176         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
86177         modifications.
86178         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
86179
86180 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86181
86182         * modules/xvasprintf: New file.
86183         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
86184
86185 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
86186
86187         * lib/xvasprintf.h: New file.
86188         * lib/xvasprintf.c: New file.
86189         * lib/xasprintf.c: New file.
86190
86191 2004-09-08  Bruno Haible  <bruno@clisp.org>
86192
86193         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
86194
86195 2004-09-08  Bruno Haible  <bruno@clisp.org>
86196
86197         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
86198         length is > INT_MAX.
86199         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
86200         more.
86201
86202 2004-09-08  Bruno Haible  <bruno@clisp.org>
86203
86204         * lib/stdint_.h: New file, taken from GNU clisp.
86205
86206 2004-09-08  Bruno Haible  <bruno@clisp.org>
86207             Oskar Liljeblad  <oskar@osk.mine.nu>
86208
86209         * modules/stdint: New file.
86210         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
86211
86212 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86213
86214         Import from coreutils.
86215         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
86216         strings on unbounded length.  alloca's performance benefits aren't
86217         that important here.
86218         (V_STRDUP): Remove.
86219         (parse_with_separator): New function, with most of the internals
86220         of the old parse_user_spec.  Allow user to omit both user and group,
86221         for compatibility with FreeBSD.
86222         Clone only the user name, not the entire spec.
86223         Do not set *uid, *gid unless entirely successful.
86224         Avoid memory leak in some failing cases.
86225         Fix regression for USER.GROUP reported by Dmitry V. Levin in
86226         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
86227         (parse_user_spec): Rewrite to use parse_with_separator.
86228
86229 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86230
86231         * modules/userspec: Don't depend on alloca.
86232
86233 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86234
86235         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
86236
86237 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86238
86239         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
86240         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
86241         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
86242
86243 2004-08-16  Simon Josefsson  <jas@extundo.com>
86244
86245         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
86246         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
86247         Add --dry-run for --import.
86248         Let user provided command line parameters override configure.ac
86249         settings.
86250
86251 2004-08-12  Simon Josefsson  <jas@extundo.com>
86252
86253         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
86254         as discussed with Paul Eggert in threads rooted at
86255         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
86256         and
86257         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
86258         Before, the test was empty, and relied on ELIDE_CODE in source
86259         code.)
86260         (gl_PREREQ_GETOPT): New macro.
86261         (gl_GETOPT): Use them.
86262
86263 2004-08-12  Simon Josefsson  <jas@extundo.com>
86264
86265         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
86266         * lib/getopt_.h: Renamed from getopt.h.
86267
86268 2004-08-12  Simon Josefsson  <jas@extundo.com>
86269
86270         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
86271         Change default library name from libfoo to libgnu.
86272         Now, if you have a configure.ac that says:
86273                 gl_SOURCE_BASE(gl)
86274                 gl_M4_BASE(gl/m4)
86275                 gl_MODULES(error getopt etcetera)
86276                 gl_INIT
86277         you can import all you need by running:
86278                 ../gnulib/gnulib-tool --import
86279
86280         * modules/getopt (Files): Rename getopt.h to getopt_.h.
86281         (Makefile.am): Rewrite, use logic from argz.
86282         (Include): Use <getopt.h> instead of "getopt.h".
86283
86284 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86285
86286         * modules/argp (Files): Add m4/unlocked-io.m4.
86287         (Depends-on): Add extensions.
86288
86289 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86290
86291         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
86292         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
86293         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
86294         Check for program_invocation_name, program_invocation_short_name,
86295         flockfile, funlockfile, features.h, _getopt_long_only_r.
86296
86297 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86298
86299         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
86300         its complicated substitute.
86301         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
86302         and program_invocation_name.
86303         (__argp_basename) [!_LIBC]: Remove; the only use was
86304         replaced by its body.
86305         (__argp_short_program_name): Change condition from
86306         !defined __argp_short_program_name to
86307         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
86308         to match argp-namefrob.h.
86309         (__argp_failure): Don't assume strerror_r returns char *.
86310         * lib/argp-parse.c (N_): Define unconditionally.
86311         (argp_default_options): Fill out initializers with 0 to avoid
86312         gcc warnings.
86313
86314 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
86315
86316         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
86317         getopt1.c.
86318
86319 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86320
86321         Merge from coreutils.
86322
86323         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
86324
86325         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
86326         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
86327
86328 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86329
86330         Merge from coreutils.
86331
86332         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
86333         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
86334         for Reliant Unix 5.43.
86335
86336         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
86337         (union fooround): Use uintmax_t, not long int.
86338         The rest is a merge from libc:
86339         [defined _LIBC]: Include <shlib-compat.h>.
86340         (_obstack) [defined _LIBC]: Remove after 2.3.4.
86341
86342         * lib/settime.c (settime): Recode to avoid warning with
86343         Sun Forte C 6U2.
86344
86345         * lib/strverscmp.c: Convert to UTF-8.
86346
86347 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
86348
86349         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
86350         m4/uintmax_t.m4.
86351
86352 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86353
86354         * modules/xalloc-die: New file.
86355         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
86356
86357         * modules/md5 (Files): Add m4/uint32_t.m4.
86358         * modules/sha1: Renamed from modules/sha.
86359         (Files):
86360         Rename lib/sha.h to lib/sha1.h.
86361         Rename lib/sha.c to lib/sha1.c.
86362         Rename m4/sha.m4 to m4/sha1.m4.
86363         (lib_SOURCES): Likewise.
86364         (configure.ac): Rename gl_SHA to gl_SHA1.
86365         (Include): sha.h -> sha1.h.
86366
86367 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86368
86369         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
86370         * m4/sha1.m4: Renamed from sha.m4.
86371         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
86372
86373 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
86374
86375         * lib/obstack.h (obstack_empty_p):
86376         Don't assume that chunk->contents is suitably aligned.
86377         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
86378         Likewise. Problem reported by Benno in
86379         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
86380
86381         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
86382         readable.  This could be improved further but it'd take some work.
86383
86384 2004-08-08  Simon Josefsson  <jas@extundo.com>
86385
86386         * modules/xgethostname (Depends-on): Remove exit and error (not
86387         used).
86388
86389         * modules/getpass-gnu: Add getpass.h.
86390         (Depends-on): Add stdbool.
86391         * modules/getpass: Add getpass.h.
86392
86393 2004-08-08  Simon Josefsson  <jas@extundo.com>
86394
86395         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
86396         Check getpass declaration.
86397
86398 2004-08-08  Simon Josefsson  <jas@extundo.com>
86399
86400         * lib/xgethostname.c: Don't include error.h (not used).
86401
86402         * lib/getpass.h: Add.
86403         * lib/getpass.c: Include getpass.h first.
86404
86405 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
86406
86407         * lib/xalloc-die.c: New file.
86408         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
86409         All uses removed.
86410         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
86411         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
86412         xalloc-die.c.
86413         (_, N_, xalloc_die): Move to xalloc-die.c.
86414         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
86415         so that we needn't mess with xalloc_msg_memory_exhausted.
86416
86417         * lib/sha1.h: Renamed from sha.h.
86418         (SHA1_H): Renamed from _SHA_H.
86419         (sha1_ctx): Renamed from sha_ctx.
86420         (sha1_init_ctx): Renamed from sha_init_ctx.
86421         (sha1_process_block): Renamed from sha_process_block.
86422         (sha1_process_bytes): Renamed from sha_process_bytes.
86423         (sha1_finish_ctx): Renamed from sha_finish_ctx.
86424         (sha1_read_ctx): Renamed from sha_read_ctx.
86425         (sha1_stream): Renamed from sha_stream.
86426         (sha1_buffer): Renamed from sha_buffer.
86427         * lib/sha1.c: Likewise; renamed from sha.c.
86428         Do not include <sys/types.h>.
86429         Include <stddef.h> rather than <stdlib.h>.
86430
86431 2004-08-08  Bruno Haible  <bruno@clisp.org>
86432
86433         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
86434         FILESYSTEM_PREFIX_LEN.
86435         * lib/progreloc.c: Likewise.
86436         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
86437
86438 2004-08-06  Simon Josefsson  <jas@extundo.com>
86439
86440         * modules/progname (Depends-on): Don't depend on stdbool.
86441
86442 2004-08-06  Simon Josefsson  <jas@extundo.com>
86443
86444         * modules/getsubopt: New file.
86445         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86446         getsubopt.
86447
86448 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86449
86450         More merge from coreutils.
86451
86452         * m4/utimens.m4, m4/utimecmp.m4: New files.
86453         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
86454         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
86455         prereq.m4, sha.m4: Import changes from coreutils.
86456
86457 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86458
86459         More merge from coreutils.
86460         * modules/raise, modules/readtokens0, modules/utimens:
86461         * modules/utimecmp, module/xnanosleep: New files.
86462         * modules/strftime: Add lib/strftime.h.
86463         Change include from <time.h> to "strftime.h".
86464         * modules/yesno: Add lib/yesno.h.
86465         * modules/backupfile: Remove lib/addext.c.
86466         * modules/euidaccess: Add stat-macros.h.
86467         * modules/canonicalize, modules/euidaccess,
86468         modules/filemode, modules/lchown, modules/makepath,
86469         modules/rmdir, modules/stat: Likewise.
86470
86471 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86472
86473         Merge from tar.
86474         * lib/argp-help.c (make_hol, hol_append): Don't assume that
86475         SIZE_MAX is a valid preprocessor constant.
86476         (__argp_basename): Change from "#ifndef _LIBC"
86477         to "#ifndef __argp_short_program_name", so that
86478         we don't compile these functions for tar.
86479
86480         More merges from coreutils.
86481         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
86482         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
86483         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
86484         * lib/addext.c: Remove; no longer needed.
86485         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
86486         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
86487         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
86488         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
86489         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
86490         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
86491         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
86492         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
86493         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
86494         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86495         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
86496         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
86497         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
86498         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
86499         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
86500         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
86501         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
86502         Import changes from coreutils.
86503
86504 2004-08-05  Simon Josefsson  <jas@extundo.com>
86505
86506         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
86507
86508 2004-08-05  Simon Josefsson  <jas@extundo.com>
86509
86510         * m4/getsubopt.m4: New file.
86511
86512 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86513
86514         Merge from coreutils.
86515
86516         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
86517         * m4/getcwd-path-max.m4: New files.
86518
86519         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
86520         FILESYSTEM_PREFIX_LEN ->
86521         FILE_SYSTEM_PREFIX_LEN.
86522         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
86523         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
86524         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
86525         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
86526
86527         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
86528         prerequisite modules now handle the DOS stuff.
86529         Don't check for unistd.h.
86530
86531 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86532
86533         Merge from coreutils.
86534
86535         * lib/.gdb-history: Remove; this doesn't belong here.
86536
86537         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
86538         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
86539         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
86540         * lib/getcwd.c: New files.
86541
86542         * lib/dirname.h: Include <stdbool.h>.
86543         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
86544         for consistency with POSIX terminology.  All uses changed.
86545         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
86546         (strip_trailing_slashes): Use bool for booleans.
86547         * lib/stripslash.c (strip_trailing_slashes): Likewise.
86548
86549         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
86550         sometimes returns a positive errno value even when it succeeds.
86551         (print_errno_message) [!LIBC]: Fall back on strerror if
86552         __strerror_r fails.
86553
86554         * lib/path-concat.c (mempcpy): Don't define if a system header defines
86555         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
86556         (longest_relative_suffix): New function.
86557         (path_concat): Use it.  Assume first argument is not NULL.
86558         Port to DOS.  Omit redundant separators.
86559         Report an error instead of returning NULL.
86560         Use mempcpy instead of memcpy.
86561         (xpath_concat): Remove: not declared or used.
86562
86563         * lib/same.h: Include <stdbool.h>
86564         (same_name): Return bool, not int.
86565         * lib/same.c (same_name): Likewise.
86566         (errno): Don't declare; we assume C89 or better now.
86567
86568         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
86569         if not already defined.
86570
86571         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
86572         * lib/dup-safer.c (errno): Likewise.
86573
86574 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
86575
86576         Merge from coreutils.
86577         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
86578         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
86579         * modules/path-concat: Don't depend on strdup.
86580
86581 2004-08-03  Simon Josefsson  <jas@extundo.com>
86582
86583         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
86584         * lib/progname.h: Don't include stdbool.h.
86585
86586 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86587
86588         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
86589         * MODULES.html.sh (func_all_modules): Remove fatal.
86590
86591 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86592
86593         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
86594
86595 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
86596
86597         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
86598         working.
86599
86600 2004-08-02  Simon Josefsson  <jas@extundo.com>
86601
86602         * lib/getsubopt.h: New file, with comments from Bruno Haible.
86603         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
86604         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
86605
86606 2004-08-01  Simon Josefsson  <jas@extundo.com>
86607
86608         * lib/xgetdomainname.c: Include stdlib.h, for free().
86609
86610 2004-07-19  Bruno Haible  <bruno@clisp.org>
86611
86612         * MODULES.html.sh (func_all_modules): Add dummy.
86613
86614 2004-07-16  Simon Josefsson  <jas@extundo.com>
86615
86616         * modules/dummy: New file.
86617
86618 2004-07-16  Simon Josefsson  <jas@extundo.com>
86619
86620         * lib/dummy.c: New file.
86621
86622 2004-07-16  Bruno Haible  <bruno@clisp.org>
86623
86624         * lib/backupfile.h: Add extern "C" for C++.
86625         * lib/closeout.h: Likewise.
86626         * lib/copy-file.h: Likewise.
86627         * lib/findprog.h: Likewise.
86628         * lib/full-write.h: Likewise.
86629         * lib/pathname.h: Likewise.
86630         * lib/progname.h: Likewise.
86631         * lib/stpcpy.h: Likewise.
86632         * lib/stpncpy.h: Likewise.
86633         * lib/strcase.h: Likewise.
86634         * lib/strstr.h: Likewise.
86635         * lib/xalloc.h: Likewise.
86636
86637         * lib/mbswidth.h: Add extern "C" for C++.
86638         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
86639
86640 2004-07-13  Robert Millan  <robertmh@gnu.org>
86641
86642         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
86643
86644 2004-07-09  Simon Josefsson  <jas@extundo.com>
86645
86646         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
86647         failed without this.)
86648
86649 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86650
86651         * modules/chown (Files): Add lib/fchown-stub.c, since
86652         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
86653
86654 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
86655
86656         * lib/fchown-stub.c: New file.
86657
86658 2004-06-24  Jim Meyering  <jim@meyering.net>
86659
86660         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
86661
86662 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86663
86664         * modules/argz: Omit "#include".
86665
86666         * MODULES.html.sh (func_all_modules): Add calloc, to match
86667         2004-06-01 addition of calloc module.
86668
86669 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86670
86671         * m4/argz.m4: New file, which is autoupdated from libtool.
86672
86673 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86674
86675         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
86676         libtool.
86677
86678 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86679
86680         * config/srclist-update: Don't insist on "USA." before the
86681         close-comment, as libtool omits the period and puts the */ on a
86682         separate line.
86683         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
86684         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
86685
86686 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
86687
86688         * modules/argz: New file.
86689         * MODULES.html.sh (func_all_modules): Add argz.
86690
86691 2004-06-12  Jim Meyering  <jim@meyering.net>
86692         and  Paul Eggert  <eggert@cs.ucla.edu>
86693
86694         * modules/hash (Files): Add lib/xalloc.h.
86695         * modules/pipe (Depends-on): Add wait-process.
86696         * modules/stat (Depends-on): Add xalloc.
86697         * modules/userspec (Files): Add lib/userspec.h.
86698         * modules/xstrto
86699
86700         Upgrade from gettext-0.13.
86701         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
86702         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
86703         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
86704
86705 2004-06-10  Jim Meyering  <jim@meyering.net>
86706
86707         * lib/calloc.c: New file.
86708
86709 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
86710
86711         * lib/getdate.y (yylex): Allow space between sign and number.
86712         Problem reported by Dan Jacobson.
86713
86714 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86715
86716         Merge from coreutils CVS.
86717
86718         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
86719         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
86720         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
86721         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
86722         xstrtol.m4: Fix copyright date and/or serial number.
86723
86724         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
86725         See if we need an fchown replacement.
86726         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
86727         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
86728         and use the replacement function if we detect either defect.
86729
86730         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
86731         gl_UTIMECMP.
86732
86733 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
86734         and  Jim Meyering  <jim@meyering.net>
86735
86736         Merge from coreutils CVS.
86737
86738         * lib/stat-macros.h: New file, with contents from file-type.h
86739         and coreutils' system.h.
86740         * lib/file-type.c: Include "stat-macros.h".
86741         * lib/file-type.h (file_type): Move all macro definitions to new file,
86742         stat-macros.h.
86743
86744         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
86745         Wrap old code with this conditional.
86746         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
86747         function that does not dereference symlinks.
86748         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
86749
86750         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
86751         dependency problems.
86752         (xreadlink): Accept new arg SIZE, for efficiency.
86753         All decls and uses changed.
86754         * lib/xreadlink.h: Include <stddef.h>, for size_t.
86755
86756         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
86757         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
86758
86759         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
86760         sysexits.h.
86761
86762 2004-06-01  Jim Meyering  <jim@meyering.net>
86763
86764         * m4/calloc.m4: New file.
86765
86766 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
86767
86768         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
86769         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
86770         Also, fix a typo in a diagnostic.
86771
86772 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86773
86774         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
86775         or AC_FUNC_REALLOC.
86776
86777 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
86778
86779         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
86780         macros to be defined.
86781         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
86782         the allocator returns NULL because the requested size is zero.
86783
86784 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86785
86786         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
86787         var.  Add comment explaining why libc still defines it.  This
86788         merges the following patch from glibc:
86789         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
86790
86791 2004-05-20  Andreas Schwab  <schwab@suse.de>
86792
86793         * m4/free.m4: Replace free if it not known to work, not the other
86794         way round.
86795
86796 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
86797
86798         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
86799         present in glibc since revision 1.1 of this file.
86800         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
86801         obstack_alignment_mask, obstack_alloc, obstack_base,
86802         obstack_blank, obstack_blank_fast, obstack_chunk_size,
86803         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
86804         obstack_grow0, obstack_init, obstack_int_grow,
86805         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
86806         obstack_next_free, obstack_object_size, obstack_ptr_grow,
86807         obstack_ptr_grow_fast, obstack_room): Remove declarations of
86808         nonexistent functions.
86809
86810 2004-05-18  Karl Berry  <karl@gnu.org>
86811
86812         * config/srclist.txt: break link for vasnprintf.c.
86813
86814 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86815
86816         Port obstack to the AS/400, where pointers are 16 bytes wide and
86817         you cannot cast an integer to a valid pointer.  This patch is
86818         currently waiting to be integrated into glibc; see
86819         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
86820
86821         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
86822         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
86823         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
86824         (struct obstack): temp member is now a union of a pointer and
86825         an integer, instead of an integer.  All integer uses changed.
86826         This does not affect the physical layout of struct obstack,
86827         except on hosts (like the AS/400) where the size or alignment of
86828         void * is greater than that of ptrdiff_t.
86829         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
86830         __STDC__)]: Store temporary in pointer member of union, not
86831         integer member.
86832         * lib/obstack.c: Include <stddef.h>, for offsetof.
86833         (struct fooalign): Remove; it doesn't need a name.
86834         (union fooround): Change double to long double, and add void *.
86835         (DEFAULT_ALIGNMENT): Use offsetof to compute.
86836         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
86837         not a macro.  Hence the values are always int; so remove all
86838         casts-to-int in uses.
86839
86840 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
86841
86842         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
86843         we can get this patch merged into glibc.
86844
86845 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86846             Paul Eggert  <eggert@cs.ucla.edu>
86847
86848         * m4/argp: Depend on alloca.
86849
86850 2004-05-17  Derek R. Price  <derek@ximbiot.com>
86851             Paul Eggert  <eggert@cs.ucla.edu>
86852
86853         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
86854         freecoding.
86855
86856 2004-05-17  Bruno Haible  <bruno@clisp.org>
86857
86858         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
86859         precision that consists of a '.' followed by an empty digit string.
86860         Patch by Tor Lillqvist <tml@iki.fi>.
86861
86862 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86863
86864         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
86865         for backward compatibility with older code.  We need our own
86866         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
86867         it under some other name, and our alloca.h will define it.
86868
86869 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
86870             Derek Price  <derek@ximbiot.com>
86871
86872         * lib/alloca.c: Include <alloca.h>, to get our interface.
86873         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
86874         include <alloca.h> first.  Use C89 prototype for alloca; this
86875         requires including <stddef.h> for size_t.  Use extern "C" if C++.
86876         Use #elif for simplicity, since we can assume C89 now.
86877         Don't try to source the system alloca.h since it will not be found
86878         and to prevent recursively including its replacement.
86879         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
86880         * lib/regex.c: Likewise.
86881
86882 2004-05-16  Derek Price  <derek@ximbiot.com>
86883             Paul Eggert  <eggert@cs.ucla.edu>
86884
86885         getline cleanup.  This changes the getndelim2 API: both order of
86886         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
86887         no delimiter).
86888
86889         * lib/getline.c: Don't include stddef.h or stdio.h, since our
86890         interface does that.
86891         (getline): Always use getdelim, so that we don't have two
86892         copies of this code.
86893         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
86894         if available.
86895         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
86896         (GETNDELIM2_MAXIMUM): New macro.
86897         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
86898         instead of the old practice of delim2==0.  All callers changed.
86899         Return -1 on overflow, instead of returning junk.
86900         Do not set *linesize unless allocation succeeds.
86901         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
86902         that we include sys/types.h.
86903         * lib/getnline.h: Likewise.
86904         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
86905         (getndelim2): Reorder arguments.
86906         * lib/getnline.c (getnline, getndelim):
86907         Don't discard the NMAX argument.
86908         (getnline): Invoke getndelim, to avoid code duplication.
86909         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
86910         of (size_t) -1 by callers of the getnline family.
86911
86912 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86913
86914         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
86915         Check for gettimeofday.
86916         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
86917         Check for settimeofday, stime.
86918
86919 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86920
86921         * lib/nanosleep.c (suspended): Change its type from int to
86922         sig_atomic_t volatile.
86923         (first_call): Make it private to rpl_nanosleep, and have it
86924         be zero initially as that's a bit faster.
86925         (my_usleep): Round up fractional times instead of truncating them,
86926         as this is the usual meaning for 'sleep'.
86927
86928         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
86929         doesn't work.
86930         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
86931         (ENOSYS): Define if not defined.
86932         (settime): Fall back on stime if it exists and settimeofday fails.
86933         But don't bother with fallbacks if a method fails with errno == EPERM.
86934
86935 2004-05-11  Jim Meyering  <jim@meyering.net>
86936
86937         Prior to this change, the save_cwd caller required read access to the
86938         current directory on most systems (ones with the fchdir function).
86939
86940         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
86941         fails, try write-only, and finally, resort to using xgetcwd.
86942
86943 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86944
86945         * lib/obstack.c, obstack.h: Import changes from libc.
86946
86947 2004-04-28  Bruno Haible  <bruno@clisp.org>
86948
86949         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
86950         also implicitly appends .exe to executables.
86951         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
86952         accepts Windows pathnames.
86953         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86954         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86955         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
86956         Treat Cygwin like Windows, since it now accepts Windows pathnames.
86957         Reported by Derek Robert Price <derek@ximbiot.com>.
86958
86959 2004-04-21  Karl Berry  <karl@gnu.org>
86960
86961         * config/srclist.txt (localcharset.c): break sync.
86962
86963 2004-04-20  Paul Eggert  <eggert@twinsun.com>
86964
86965         * m4/host-os.m4: Add a copyright notice.
86966
86967 2004-04-20  Jim Meyering  <jim@meyering.net>
86968
86969         Change UTILS_ to gl_ in AC_DEFINE'd names.
86970         Change utils_- and jm_-prefixed variables, too.
86971         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
86972         UTILS_FUNC_MKDIR_TRAILING_SLASH.
86973         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
86974
86975         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
86976         Don't emit trailing blanks.
86977         Also rename jm_-prefixed variables to have gl_ prefix.
86978
86979         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
86980         Also rename jm_-prefixed variables to have gl_ prefix.
86981
86982         * m4/jm-macros.m4: Reflect the renamings.
86983         * m4/prereq.m4: Likewise.
86984
86985 2004-04-20  Jim Meyering  <jim@meyering.net>
86986
86987         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
86988         memory.
86989
86990 2004-04-20  Jim Meyering  <jim@meyering.net>
86991             Bruno Haible  <bruno@clisp.org>
86992
86993         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
86994         memory when realloc fails.
86995
86996 2004-04-19  Jim Meyering  <jim@meyering.net>
86997
86998         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
86999         now that readutmp.c may call `free (0)'.
87000
87001 2004-04-19  Bruno Haible  <bruno@clisp.org>
87002
87003         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87004         * m4/inttypes_h.m4: Likewise.
87005         * m4/stdint_h.m4: Likewise.
87006         * m4/intmax_t.m4: Likewise.
87007         * m4/uintmax_t.m4: Likewise.
87008
87009 2004-04-18  Jim Meyering  <jim@meyering.net>
87010
87011         * m4/prereq.m4: Don't forbid jm_ prefix.
87012
87013         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87014         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87015         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87016         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87017         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87018         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87019         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87020         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87021         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87022         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87023         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87024         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87025         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87026         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87027         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87028         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87029         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87030         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87031         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87032
87033 2004-04-18  Jim Meyering  <jim@meyering.net>
87034
87035         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87036         failure, don't leak memory and do call END_UTMP_ENT.
87037
87038 2004-04-16  Jim Meyering  <jim@meyering.net>
87039
87040         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87041         coreutils' stat program.
87042         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87043
87044 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87045
87046         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87047         C89.
87048         (CHAR_BIT): Remove, since we assume C89.
87049         Include <stdint.h> if available, as per current Autoconf CVS advice.
87050
87051 2004-03-31  Jim Meyering  <jim@meyering.net>
87052
87053         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87054         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87055         * m4/xalloc.m4: Likewise.
87056
87057 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87058
87059         Merge from coreutils.
87060
87061         * m4/inttostr.m4: New file.
87062         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87063         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87064         Require gl_CLOCK_TIME.
87065         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87066
87067 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87068
87069         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87070         not bool, to be more consistent with Unix conventions.
87071         Suggested by Bruno Haible.
87072
87073         Merge from coreutils.
87074
87075         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87076         * lib/umaxtostr.c: New files.
87077
87078         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87079         the usual <time.h> dance.
87080         (get_date): Change signature to support fractional time stamps.
87081         All callers changed.
87082         * lib/getdate.y: Include "getdate.h" first, as we can now
87083         assume C89 and don't need to worry about 'const'.
87084         Similarly, include "unlocked-io.h" near start, not in middle.
87085         Include <limits.h>.
87086         (textint.value): Use long int rather than int.
87087         (textint.digits): Use size_t rather than int.
87088         (BILLION, LOG10_BILLION): New constants.
87089         (parser_control): New member rel_ns.  Members day_ordinal,
87090         time_zone, month, day, hour, minutes, rel_year, rel_month,
87091         rel_day, rel_hour, rel_minutes, rel_seconds
87092         are now long int, not int.  Member seconds is now struct timespec,
87093         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87094         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87095         not int.
87096         (%union.intval): Now long int, not int.
87097         New member timespec.
87098         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87099         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87100         (spec): Now is a timespec or an item list.
87101         (timespec, items): New nonterminals.
87102         (time, rel, relunit, number, get_date):
87103         Add support for fractional seconds.
87104         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87105         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87106         (to_hour): First arg is now long int, not int.
87107         (to_year): Returns long int, not int.
87108         Don't treat year -70 like 70.
87109         (tm_diff): Returns long int, not int.
87110         (lookup_word): Use bool instead of int when appropriate.
87111         (yylex): Use size_t for count, not int.
87112         Detect overflow when parsing large integer constants.
87113         Add support for fractions.
87114         (get_date): Make pointers 'const' if possible.
87115         Use more-portable code to detect integer overflow.
87116         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87117         Don't use ctime; it's not reliable if the year has >4 digits.
87118
87119         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87120         This is for compatibility with BSD.
87121
87122         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87123         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87124         From coreutils' system.h.
87125
87126         * lib/userspec.c: Don't include "posixver.h".
87127         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87128         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87129         compatible extension.  Simplify code by removing a boolean int
87130         that was always nonzero if a string was nonnull.
87131
87132 2004-03-30  Jim Meyering  <jim@meyering.net>
87133
87134         Merge from coreutils.
87135
87136         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87137         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87138         on some systems one must include <grp.h> before it.
87139         Reported by Christian Krackowizer.
87140
87141 2004-03-30  Jim Meyering  <jim@meyering.net>
87142
87143         Merge from coreutils.
87144
87145         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87146
87147         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87148         an empty input stream.
87149
87150         * lib/readtokens.c: Include <stdbool.h>.
87151         (readtoken): Use `size_t' rather than int/long.
87152         All callers adjusted.
87153         Use `bool' rather than `int' where appropriate.
87154         Use memset rather than an explicit loop.
87155         Use x2nrealloc rather than xrealloc.
87156         Allow the use of `\0' as a delimiter.
87157         (readtokens): Likewise.
87158         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87159
87160 2004-03-30  Jim Meyering  <jim@meyering.net>
87161
87162         * m4/realloc.m4: Remove file, since now it does no more than
87163         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87164         the `configure.ac' section of module/realloc.
87165         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87166
87167 2004-03-30  Bruno Haible  <bruno@clisp.org>
87168
87169         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87170         nonnull.
87171
87172 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87173
87174         Merge changes to getloadavg.c from coreutils and Emacs.
87175
87176         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
87177         Define to an expression, not to the empty string.
87178         Include cloexec.h and xalloc.h.
87179         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
87180         Use set_cloexec_flag rather than rolling our own.
87181         * lib/cloexec.c, lib/cloexec.h: New files.
87182
87183 2004-03-29  Paul Eggert  <eggert@twinsun.com>
87184
87185         * m4/cloexec.m4: New file.
87186
87187 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87188
87189         * lib/getopt.h: Sync with libc CVS.
87190
87191 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87192             Bruno Haible  <bruno@clisp.org>
87193
87194         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
87195         mbswidth.
87196
87197 2004-03-18  Paul Eggert  <eggert@twinsun.com>
87198             Bruno Haible  <bruno@clisp.org>
87199
87200         * lib/mbswidth.h: Include <wchar.h> only if
87201         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
87202         <wchar.h>.
87203         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
87204
87205 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87206
87207         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
87208         Sync with libc CVS.
87209         * lib/getopt_int.h: New file, also synced from libc.
87210
87211 2004-03-09  Paul Eggert  <eggert@twinsun.com>
87212
87213         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
87214         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
87215         Bring back getopt.c, getopt.h, getopt1.c.
87216
87217 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87218
87219         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
87220         All uses changed.  Check for sa_sigaction member; this fixes
87221         a bug first reported by Jason Andrade in
87222         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87223
87224 2004-03-07  Paul Eggert  <eggert@twinsun.com>
87225
87226         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
87227         '#if' expressions.  Unlike the code it replaces, it does not
87228         depend on (defined _SC_PAGESIZE).  However, it does depend on
87229         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
87230         first reported by Jason Andrade in
87231         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
87232
87233 2004-02-25  Simon Josefsson  <jas@extundo.com>
87234
87235         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
87236
87237 2004-02-25  Simon Josefsson  <jas@extundo.com>
87238
87239         * lib/strdup.h: New file.
87240         * lib/strdup.c: Include it.
87241         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
87242         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
87243
87244 2004-02-23  Karl Berry  <karl@gnu.org>
87245
87246         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
87247         (from fencepost.gnu.org:/gd/gnuorg).
87248
87249 2004-02-23  Karl Berry  <karl@gnu.org>
87250
87251         * config/srclistvars.sh (GNUORG) [karl]: redefine.
87252         * config/srclist.txt: add maintain/standards documents.
87253
87254 2004-02-18  Bruno Haible  <bruno@clisp.org>
87255
87256         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
87257         Reported by Derek Robert Price <derek@ximbiot.com>.
87258
87259 2004-02-16  Karl Berry  <karl@gnu.org>
87260
87261         * config/mkinstalldirs, install-sh: update from automake.
87262
87263 2004-02-06  Karl Berry  <karl@gnu.org>
87264
87265         * m4/po.m4: update from gettext 0.14.1.
87266
87267 2004-02-06  Karl Berry  <karl@gnu.org>
87268
87269         * lib/config.charset: update from gettext 0.14.1.
87270
87271 2004-02-05  Paul Eggert  <eggert@twinsun.com>
87272
87273         Add comments and code, prompted by suggestions from Bruno Haible
87274         for sh-quote.
87275         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
87276         describing the enum quoting_style values.
87277         * lib/quotearg.c (quotearg_alloc): New function.
87278         (quotearg_buffer_restyled): Treat lone { and } as special.
87279         Treat = as special.  Work around bug with older shells
87280         that "see" a '\' that is really the 2nd byte of a multibyte char.
87281         Quote empty string with shell_quoting_style.
87282
87283 2004-02-03  Bruno Haible  <bruno@clisp.org>
87284
87285         * m4/pipe.m4: New file, from GNU gettext.
87286
87287 2004-02-03  Bruno Haible  <bruno@clisp.org>
87288
87289         * lib/pipe.h: New file, from GNU gettext.
87290         * lib/pipe.c: New file, from GNU gettext.
87291
87292 2004-01-27  Bruno Haible  <bruno@clisp.org>
87293
87294         * m4/execute.m4: New file, from GNU gettext.
87295
87296 2004-01-27  Bruno Haible  <bruno@clisp.org>
87297
87298         * lib/execute.h: New file, from GNU gettext.
87299         * lib/execute.c: New file, from GNU gettext.
87300         * lib/w32spawn.h: New file, from GNU gettext.
87301
87302 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87303
87304         Merge from diffutils.
87305
87306         * lib/file-type.c (file_type): Add typed memory objects.
87307         * lib/file-type.h (S_TYPEISTMO): New macro.
87308
87309         * lib/c-stack.h (c_stack_action): Remove argv argument.
87310         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
87311         (die): Don't calculate message unless segv_action returns.
87312         (get_stack_location, min_address_from_argv, max_address_from_argv,
87313         volatile stack_base, volatile_stack_size): Remove.
87314         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
87315         that every segmentation violation is a stack overflow.  (Ouch!)
87316         See Debian bug 136249 (still outstanding) for more info about why
87317         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
87318
87319 2004-01-24  Paul Eggert  <eggert@twinsun.com>
87320
87321         Exit-status fix from coreutils.
87322
87323         Use exit_failure consistently in place of EXIT_FAILURE,
87324         so that program exit statuses are consistent on failure.
87325
87326         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
87327         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
87328         * lib/argmatch.h: Comment fix to match the above.
87329         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
87330         Now a macro referring to exit_failure, instead of a separate
87331         variable.  Include "exitfail.h" to get it.
87332         * lib/xstrtol.h: Include "exitfail.h".
87333         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
87334
87335         * lib/long-options.c (parse_long_options): Use prototype
87336         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
87337         for clarity.
87338
87339 2004-01-21  Jim Meyering  <jim@meyering.net>
87340
87341         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
87342         so as not to conflict with a different-sized __mktime_internal
87343         function in GNU libc.
87344         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
87345         Problem building statically-linked `ls' reported by Michael Brunnbauer.
87346
87347 2004-01-20  Karl Berry  <karl@gnu.org>
87348
87349         * config/config.guess: update from config.
87350
87351         * config/srclistvars.sh: GNUWWWLICENSES for karl.
87352
87353 2004-01-20  Bruno Haible  <bruno@clisp.org>
87354
87355         Safer stack allocation.
87356         * lib/setenv.c: Include allocsa.h.
87357         (alloca): Remove fallback definition.
87358         (freea): Remove macro.
87359         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
87360         instead of freea.
87361
87362 2004-01-20  Bruno Haible  <bruno@clisp.org>
87363
87364         * m4/eealloc.m4: New file, from GNU gettext.
87365
87366 2004-01-20  Bruno Haible  <bruno@clisp.org>
87367
87368         * m4/allocsa.m4: New file, from GNU gettext.
87369
87370 2004-01-20  Bruno Haible  <bruno@clisp.org>
87371
87372         * lib/xallocsa.h: New file, from GNU gettext.
87373         * lib/xallocsa.c: New file, from GNU gettext.
87374
87375 2004-01-20  Bruno Haible  <bruno@clisp.org>
87376
87377         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
87378
87379 2004-01-20  Bruno Haible  <bruno@clisp.org>
87380
87381         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
87382         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
87383         specially.
87384
87385 2004-01-20  Bruno Haible  <bruno@clisp.org>
87386
87387         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
87388         patch.
87389
87390 2004-01-20  Bruno Haible  <bruno@clisp.org>
87391
87392         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
87393
87394 2004-01-20  Bruno Haible  <bruno@clisp.org>
87395
87396         * lib/eealloc.h: New file.
87397
87398 2004-01-20  Bruno Haible  <bruno@clisp.org>
87399
87400         * lib/binary-io.h: Avoid warnings on Cygwin.
87401
87402 2004-01-20  Bruno Haible  <bruno@clisp.org>
87403
87404         * lib/allocsa.h: New file, from GNU gettext.
87405         * lib/allocsa.c: New file, from GNU gettext.
87406
87407 2004-01-18  Karl Berry  <karl@gnu.org>
87408
87409         * doc/gpl.texi, doc/lgpl.texi: new files.
87410
87411 2004-01-18  Karl Berry  <karl@gnu.org>
87412
87413         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
87414         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
87415
87416 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87417
87418         Merge from coreutils.
87419
87420         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
87421         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
87422         (gl_DEFAULT_POSIX2_VERSION): Move
87423         the documentation from 'configure' into 'config.hin',
87424         so that 'configure --help' isn't burdened by it and
87425         we don't have to worry about its formatting there.
87426         Reword the documentation so that it's more succinct
87427         and can be run together into a single paragraph.
87428         * m4/same.m4 (gl_SAME): Check for pathconf.
87429
87430 2004-01-15  Paul Eggert  <eggert@twinsun.com>
87431
87432         Merge from coreutils.
87433
87434         * lib/posixver.c: Include posixver.h.
87435
87436         * lib/same.c: Include <stdbool.h>, <limits.h>.
87437         (_POSIX_NAME_MAX): Define if not defined.
87438         (MIN): New macro.
87439         (same_name): If file names are silently truncated, report
87440         that the file names are the same if they are the same after
87441         the silent truncation.
87442
87443         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
87444         conversion function.
87445         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
87446         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
87447         longer needed.
87448
87449 2004-01-15  Jim Meyering  <jim@meyering.net>
87450
87451         Merge from coreutils.
87452
87453         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
87454         if no library is required.
87455         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
87456         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
87457         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
87458         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
87459         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
87460         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
87461         value, $ac_cv_search_crypt, if it's "none required".
87462         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
87463         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
87464         not gl_FUNC_GETLOADAVG.
87465         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
87466         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
87467
87468 2004-01-15  Jim Meyering  <jim@meyering.net>
87469
87470         Merge from coreutils.
87471
87472         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
87473         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
87474         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
87475
87476         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
87477         optional configure-time default.
87478
87479         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87480
87481         * lib/xreadlink.c (xreadlink): Correct outdated comment.
87482
87483 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
87484
87485         Merge from coreutils.
87486
87487         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
87488         value, $ac_cv_search_nanosleep, if it's "none required".
87489
87490 2004-01-14  Paul Eggert  <eggert@twinsun.com>
87491
87492         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
87493         with like-named macro in fnmatch.c.
87494         (EXT): Use an internal constant instead.
87495
87496         Merge fnmatch patches from glibc.
87497         * lib/fnmatch.c (mbsinit): Remove define.
87498         Add libc_hidden_ver (__fnmatch, fnmatch).
87499         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
87500         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
87501
87502 2004-01-14  Karl Berry  <karl@gnu.org>
87503
87504         * config/install-sh: update from automake.
87505
87506 2004-01-13  Karl Berry  <karl@gnu.org>
87507
87508         * config/install-sh: update from automake.
87509
87510 2004-01-09  Karl Berry  <karl@gnu.org>
87511
87512         * config/install-sh: update from automake.
87513
87514 2004-01-05  Karl Berry  <karl@gnu.org>
87515
87516         * config/config.{sub,guess}: update from config.
87517
87518 2003-12-31  Karl Berry  <karl@gnu.org>
87519
87520         * config/depcomp: update from automake.
87521
87522 2003-12-14  Karl Berry  <karl@gnu.org>
87523
87524         * lib/config.charset: update from gettext-runtime.
87525
87526 2003-12-03  Paul Eggert  <eggert@twinsun.com>
87527
87528         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
87529         Bug reported by Alfred M. Szmidt.
87530
87531 2003-12-03  Bruno Haible  <bruno@clisp.org>
87532
87533         * m4/gettext.m4: Upgrade from gettext-0.13.
87534         * m4/po.m4: Upgrade from gettext-0.13.
87535         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
87536         * m4/intmax.m4: New file, from gettext-0.13.
87537         * m4/printf-posix.m4: New file, from gettext-0.13.
87538
87539 2003-11-29  Karl Berry  <karl@gnu.org>
87540
87541         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
87542
87543 2003-11-25  Paul Eggert  <eggert@twinsun.com>
87544             Bruno Haible  <bruno@clisp.org>
87545
87546         * lib/printf-parse.h: Don't include sys/types.h.
87547         (ARG_NONE): New macro.
87548         (char_directive): Change type of *arg_index fields to size_t.
87549         * lib/printf-parse.c: Don't include sys/types.h.
87550         (SSIZE_MAX): Remove macro.
87551         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
87552         Remove unnecessary overflow check.
87553         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
87554         fields.
87555
87556 2003-11-25  Bruno Haible  <bruno@clisp.org>
87557
87558         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
87559
87560 2003-11-25  Bruno Haible  <bruno@clisp.org>
87561
87562         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
87563         gt_TYPE_SSIZE_T.
87564
87565 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87566
87567         * modules/alloca: Remove dependency on xalloc.
87568
87569 2003-11-24  Paul Eggert  <eggert@twinsun.com>
87570
87571         * lib/alloca.c: Remove dependency on xalloc module.
87572         (xalloc_die): Remove.
87573         (memory_full) [!defined emacs]: New macro.
87574         [!defined emacs]: Don't include xalloc.h.
87575         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
87576         address arithmetic overflows.  Change datatypes a bit to avoid
87577         unnecessary casts.
87578
87579 2003-11-22  Jim Meyering  <jim@meyering.net>
87580
87581         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
87582         s/size/size_t/.
87583
87584 2003-11-21  Karl Berry  <karl@gnu.org>
87585
87586         * config/config.{sub,guess}: update from config.
87587
87588 2003-11-18  Karl Berry  <karl@gnu.org>
87589
87590         * config/config.{sub,guess}: update from config.
87591
87592         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
87593
87594 2003-11-17  Paul Eggert  <eggert@twinsun.com>
87595
87596         * README: Mention that S+T cannot overflow if S is the size of
87597         an existing object and T is sufficiently small.
87598
87599 2003-11-17  Jim Meyering  <jim@meyering.net>
87600
87601         On systems without utime and without a utimes function capable of
87602         dealing with a NULL struct utimbuf* argument, this utime replacement
87603         could -- in unusual circumstances -- leak a file descriptor.
87604         * lib/utime.c: Include <unistd.h> and <errno.h>.
87605         (utime_null): Be sure to close `fd' and to preserve errno.
87606         Reported by Geoff Collyer via Arnold Robbins.
87607
87608 2003-11-17  Bruno Haible  <bruno@clisp.org>
87609
87610         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
87611         (Depends-on): Add xsize.
87612
87613 2003-11-17  Bruno Haible  <bruno@clisp.org>
87614
87615         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
87616
87617 2003-11-17  Bruno Haible  <bruno@clisp.org>
87618
87619         * lib/vasnprintf.c (alloca): Remove fallback definition.
87620         (freea): Remove definition.
87621         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
87622         Reported by Paul Eggert.
87623
87624 2003-11-16  Paul Eggert  <eggert@twinsun.com>
87625             Bruno Haible  <bruno@clisp.org>
87626
87627         Protect against address arithmetic overflow.
87628         * lib/printf-args.h: Include stddef.h.
87629         (arguments): Change type of field 'count' to size_t.
87630         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
87631         'unsigned int' where appropriate.
87632         * lib/printf-parse.h: Include sys/types.h.
87633         (char_directive): Change type of *arg_index fields to ssize_t.
87634         (char_directives): Change type of fields 'count', max_*_length to
87635         size_t.
87636         * lib/printf-parse.c: Include sys/types.h and xsize.h.
87637         (SSIZE_MAX): Define fallback value.
87638         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
87639         instead of 'int' where appropriate. Check a_allocated, d_allocated
87640         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
87641         * lib/vasnprintf.c: Include xsize.h.
87642         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
87643         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
87644         overflow. Avoid wraparound when converting a width or precision from
87645         decimal to binary.
87646
87647 2003-11-16  Bruno Haible  <bruno@clisp.org>
87648
87649         Update from GNU gettext.
87650         * lib/printf-parse.c: Generalize to it can be compiled for wide
87651         strings.
87652         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
87653         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
87654         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
87655         SNPRINTF): New macros.
87656         Don't include <alloca.h> if the file is used inside libintl.
87657         (local_wcslen): New function, for Solaris 2.5.1.
87658         (VASNPRINTF): Use it instead of wcslen.
87659
87660 2003-11-16  Bruno Haible  <bruno@clisp.org>
87661
87662         * lib/xsize.h (xmax): New function.
87663         (xsum, xsum3, xsum4): Declare as "pure" functions.
87664
87665 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87666
87667         * modules/xalloc (Files): Undo latest change, since xalloc.h
87668         no longer needs SIZE_MAX or PTRDIFF_MAX.
87669
87670 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87671
87672         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
87673         gl_PTRDIFF_MAX.
87674
87675 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87676
87677         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
87678         "return", to pacify some unknown compiler.  Problem reported
87679         by Joerg Schilling.
87680
87681 2003-11-12  Paul Eggert  <eggert@twinsun.com>
87682
87683         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
87684         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
87685         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
87686         heuristic is just as accurate as far as we know, and it removes a
87687         dependency on size_max.m4 and ptrdiff_max.m4.
87688
87689 2003-11-11  Bruno Haible  <bruno@clisp.org>
87690
87691         * modules/xsize (Files): Add m4/size_max.m4.
87692         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
87693
87694 2003-11-11  Bruno Haible  <bruno@clisp.org>
87695
87696         * m4/size_max.m4: New file.
87697         * m4/ptrdiff_max.m4: New file.
87698         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
87699         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
87700         (gl_XALLOC): Invoke it.
87701
87702 2003-11-11  Bruno Haible  <bruno@clisp.org>
87703
87704         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
87705         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
87706         defined.
87707
87708 2003-11-10  Paul Eggert  <eggert@twinsun.com>
87709
87710         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
87711         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
87712         rejected some allocations of exactly SIZE_MAX - 2 bytes.
87713         From Bruno Haible.
87714         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
87715         not (size_t) -1, since it's defined here.
87716
87717 2003-11-09  Karl Berry  <karl@gnu.org>
87718
87719         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
87720
87721 2003-11-06  Paul Eggert  <eggert@twinsun.com>
87722
87723         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
87724         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
87725         Reject sizes of exactly SIZE_MAX bytes.
87726         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
87727         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
87728
87729 2003-11-05  Bruno Haible  <bruno@clisp.org>
87730
87731         * lib/xsize.h: Include limits.h, to avoid a possible collision with
87732         SIZE_MAX defined in <limits.h> on Solaris.
87733
87734 2003-11-04  Jim Meyering  <jim@meyering.net>
87735
87736         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
87737         variable names, rather than @VAR@.
87738         * modules/poll: Likewise.
87739
87740 2003-11-04  Bruno Haible  <bruno@clisp.org>
87741
87742         * modules/xsize: New file.
87743         * modules/linebreak: Depend on xsize.
87744         * MODULES.html.sh (func_all_modules): Add xsize.
87745
87746 2003-11-04  Bruno Haible  <bruno@clisp.org>
87747
87748         * m4/xsize.m4: New file.
87749
87750 2003-11-04  Bruno Haible  <bruno@clisp.org>
87751
87752         * lib/xsize.h: New file.
87753         * lib/linebreak.c: Include xsize.h.
87754         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
87755         argument for overflow.
87756         Suggested by Paul Eggert.
87757
87758 2003-11-03  Karl Berry  <karl@gnu.org>
87759
87760         * config/config.{guess,sub}: update from config.
87761
87762 2003-11-03  Jim Meyering  <jim@meyering.net>
87763
87764         * modules/userspec (lib_SOURCES): Add userspec.h.
87765         (Include): Add "userspec.h".
87766         Improve description.
87767
87768 2003-11-03  Jim Meyering  <jim@meyering.net>
87769
87770         * lib/userspec.c: Include "userspec.h".
87771         * lib/userspec.h: New file.
87772
87773 2003-11-03  Bruno Haible  <bruno@clisp.org>
87774
87775         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
87776
87777 2003-11-03  Bruno Haible  <bruno@clisp.org>
87778
87779         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
87780         available, to avoid (extremely rare) race condition.
87781         Suggested by Paul Eggert.
87782
87783 2003-11-02  Karl Berry  <karl@gnu.org>
87784
87785         * config/srclist.txt (vasprintf.c): sync broken, sigh.
87786
87787 2003-10-31  Paul Eggert  <eggert@twinsun.com>
87788
87789         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
87790         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
87791         (read_filesystem_list): Set and use me_type_malloced.
87792         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
87793         whatever the type happens to be), for brevity and consistency.
87794         Check for size calculation overflow on Alphas running OSF/1.
87795
87796 2003-10-31  Jim Meyering  <jim@meyering.net>
87797
87798         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
87799
87800         * lib/linebuffer.c: Include <string.h> for declaration of memset.
87801
87802 2003-10-30  Paul Eggert  <eggert@twinsun.com>
87803             Bruno Haible  <bruno@clisp.org>
87804
87805         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
87806         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
87807
87808 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
87809
87810         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
87811         netbsd*-gnu*.  Suggested by Robert Millan.
87812
87813 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87814
87815         * modules/group-member: Depend on stdbool.
87816
87817 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87818
87819         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
87820
87821 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87822
87823         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
87824         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
87825         after the 'gnu' in these cases.  This fixes some bugs in the
87826         previous change, and is based on suggestions by Robert Millan.
87827
87828 2003-10-29  Paul Eggert  <eggert@twinsun.com>
87829
87830         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
87831         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
87832         no longer needed.
87833         * lib/quotearg.c (quotearg_n_options): Use it.
87834         * lib/group-member.c: Include <stdbool.h>.
87835         (free_group_info): Arg is now const *; don't free arg.
87836         (get_group_info): Now returns bool and accepts struct group_info *,
87837         rather than returning a malloc'ed struct group_info *.
87838         All uses changed.  Check for overflow in internal size calculation.
87839
87840         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
87841         rather than xmalloc/xrealloc.
87842         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
87843         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
87844         conformance bug: the old code used a pointer after freeing the
87845         storage that it addressed.
87846         * lib/hash.c (hash_initialize): Simplify the code by using
87847         xalloc_oversized rather than doing it by hand.
87848         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
87849         the buffer preserved.  Use free and xmalloc instead.
87850         * lib/quotearg.c (quotearg_n_options): Likewise.
87851         Use a simpler test for size overflow.  Don't use xalloc_oversized
87852         because unsigned int might be wider than size_t (!); this suggests
87853         that we should switch from unsigned int to size_t for slot numbers.
87854
87855 2003-10-28  Paul Eggert  <eggert@twinsun.com>
87856
87857         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
87858         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
87859         NetBSD kernels.  Requested by Richard Stallman.
87860
87861 2003-10-27  Paul Eggert  <eggert@twinsun.com>
87862
87863         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
87864         to allocate the returned structure.  Do not allocate a subarray,
87865         as x2nrealloc will do that.
87866         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
87867         instead of xnrealloc.
87868         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
87869
87870 2003-10-27  Bruno Haible  <bruno@clisp.org>
87871
87872         * lib/stdbool_.h: Better support for BeOS.
87873
87874 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87875
87876         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
87877         now uses inline.
87878
87879 2003-10-26  Paul Eggert  <eggert@twinsun.com>
87880
87881         * lib/xalloc.h (xalloc_oversized): New static inline function, for
87882         callers that want to do their own size-overflow checking.  Include
87883         <stdbool.h>, since xalloc_oversized returns bool.
87884         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
87885         to use xalloc_oversized.
87886
87887         Add two functions x2realloc, x2nrealloc, for programs that grow
87888         arrays dynamically by doubling their sizes.
87889         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
87890         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
87891         New functions.
87892
87893         Port to C99 semantics for 'inline' of external functions.
87894         Bug reported by Bruno Haible.
87895         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
87896         with the old contents of xnmalloc.
87897         (xnmalloc, xmalloc): Use it.
87898         (xnrealloc_inline): New static inline function,
87899         with the old contents of xnrealloc.
87900         (xnrealloc, xrealloc): Use it.
87901
87902         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
87903         that.
87904
87905 2003-10-26  Karl Berry  <karl@gnu.org>
87906
87907         * config/srclist.txt (COPYING.DOC): no longer available from
87908         /gd/gnuorg; don't know where the ultimate source is.
87909
87910 2003-10-25  Paul Eggert  <eggert@twinsun.com>
87911
87912         Fix several address-calculation bugs in the hash modules,
87913         plus some minor code cleanup.
87914
87915         * lib/hash.h: Include <stdbool.h>, for bool.
87916         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
87917         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
87918         hash_get_n_entries, hash_get_max_bucket_length,
87919         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
87920         hash_rehash): Use size_t rather than unsigned.
87921         * lib/hash.c (struct hash_table, hash_get_n_buckets,
87922         hash_get_n_buckets_used, hash_get_n_entries,
87923         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
87924         hash_get_entries, hash_do_for_each, hash_string, is_prime,
87925         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
87926         Likewise.
87927         (SIZE_MAX): Define if not defined.
87928         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
87929         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
87930         hash_print):
87931         Use const * when possible.
87932         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
87933         (check_tuning): Fix bug: if tuning parameters were very close to
87934         0 or 1, rounding errors could have caused subscript violations.
87935         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
87936         (hash_initialize): Add 'fail:' label
87937         to free table and return NULL, and use it to simplify code.
87938         Use calloc rather than clearing the storage ourself.
87939         (hash_initialize, hash_rehash): Check for arithmetic overflow in
87940         buffer size calculations.
87941         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
87942         Include <stddef.h>, for size_t.
87943         * lib/hash-pjw.c (hash_pjw): Likewise.
87944         Switch to method described by Bruno Haible.
87945         Include <limits.h>, for CHAR_BIT.
87946         (SIZE_BITS): New macro.
87947
87948 2003-10-23  Paul Eggert  <eggert@twinsun.com>
87949
87950         * m4/getline.m4 (AM_FUNC_GETLINE):
87951         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
87952         hosts.  Problem reported by Derek Robert Price in
87953         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
87954         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
87955         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
87956
87957 2003-10-21  Paul Eggert  <eggert@twinsun.com>
87958
87959         * lib/getndelim2.c (getndelim2): When size calculation overflows,
87960         ceiling the allocation at NMAX bytes rather than silently
87961         discarding input bytes before NMAX is reached.  This makes
87962         a difference only if NMAX exceeds SIZE_MAX / 2.
87963
87964         * lib/obstack.c: Merge from glibc.
87965         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
87966         Add libc_hidden_def (_obstack_newchunk).
87967         (_obstack_free) [! defined _LIBC]: Remove.
87968         [defined _LIBC]: Make a strong alias from obstack_free, rather than
87969         a clone of the function body.
87970         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
87971         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
87972
87973         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
87974         glibc.
87975         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
87976         arg to memcpy.
87977
87978         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
87979         (obstack_ptr_grow_fast, obstack_int_grow_fast):
87980         Don't use lvalue casts, as GCC plans to remove support for them
87981         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
87982         was also present in the non-GCC version, indicating that this
87983         code had always been buggy and had never been widely used.
87984         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
87985         Use the fast variant of each macro, rather than copying the
87986         definiens of the fast variant; that way, we'll be more likely to
87987         catch future bugs in the fast variants.
87988
87989 2003-10-20  Bruno Haible  <bruno@clisp.org>
87990
87991         * modules/wait-process: New file.
87992         * MODULES.html.sh (func_all_modules): Add wait-process.
87993
87994 2003-10-20  Bruno Haible  <bruno@clisp.org>
87995
87996         * m4/wait-process.m4: New file.
87997
87998 2003-10-20  Bruno Haible  <bruno@clisp.org>
87999
88000         * lib/wait-process.h: New file, from GNU gettext.
88001         * lib/wait-process.c: New file, from GNU gettext.
88002
88003 2003-10-19  Jim Meyering  <jim@meyering.net>
88004
88005         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88006         HPUX 10.20.
88007
88008 2003-10-18  Karl Berry  <karl@gnu.org>
88009
88010         * config/config.guess: update from config.
88011
88012 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88013
88014         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88015         (getgroups): First arg is int, not size_t.
88016         Don't let 'free' mangle errno.
88017
88018 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88019
88020         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88021
88022 2003-10-16  Karl Berry  <karl@gnu.org>
88023
88024         * config/config.{guess,sub}: update from config.
88025
88026 2003-10-16  Jim Meyering  <jim@meyering.net>
88027
88028         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88029         memcpy.
88030
88031 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88032
88033         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88034         (SIZE_MAX): Remove.
88035         (new_exclude, add_exclude_file): Initial size no longer needs to
88036         be a power of 2.
88037         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88038         our own address arithmetic overflow checking.
88039
88040         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88041         (fnmatch): Do not alloca more than 2000 wide characters;
88042         instead, use malloc for large buffers.
88043         Check for address arithmetic overflow, and return -1
88044         with errno set to ENOMEM in that case.
88045         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88046         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88047         instead, return -1.  Check for address arithmetic overflow.
88048
88049 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88050
88051         Handle invalid suffixes and overflow independently, so that
88052         callers can treat them independently as needed.  Fix some bugs in
88053         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88054         suffix for a human-readable blocksize.  The major caller-visible
88055         change is the addition of a new
88056         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88057         that both overflow and suffix chars were found.
88058
88059         * lib/human.c (humblock): Don't check separately for invalid suffix
88060         char; that is xstrtoumax's job (now that its bug is fixed).
88061         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88062         INTMAX_MAX]: New macros.
88063         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88064         TYPE_MAXIMUM): New macros.
88065         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88066         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88067         if overflow occurs, as it's what __strtol does and it's more useful
88068         in practice.
88069         (__xstrtol): If __strtol reports some error other than ERANGE,
88070         reflect it to the caller as LONGINT_INVALID.  If it reports
88071         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88072         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88073         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88074         value.
88075         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88076         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88077         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88078         [defined UINTMAX_MAX]: New macros.
88079
88080 2003-10-14  Bruno Haible  <bruno@clisp.org>
88081
88082         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88083
88084 2003-10-14  Bruno Haible  <bruno@clisp.org>
88085
88086         * m4/sig_atomic_t: New file, from GNU gettext.
88087         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88088
88089 2003-10-14  Bruno Haible  <bruno@clisp.org>
88090
88091         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88092         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88093         Also use volatile where needed.
88094
88095 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88096
88097         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88098         Change maintainer from Bruno Haible to 'all'.
88099
88100 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88101
88102         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88103
88104 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88105
88106         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88107         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88108         and define in terms of the other primitives.
88109         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88110         (SIZE_MAX): Define if not already defined.
88111         (array_size_overflow): New function.
88112         (xalloc_die): Abort instead of exiting if 'error' returns.
88113         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88114         (xmalloc, xrealloc): Use them.
88115         (xcalloc): Check for address arithmetic overflow.
88116         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88117         a bit faster than strcpy.
88118
88119 2003-10-10  Simon Josefsson  <jas@extundo.com>
88120
88121         * modules/argp (Depends-on): Add restrict and strcase.
88122
88123 2003-10-10  Simon Josefsson  <jas@extundo.com>
88124
88125         * m4/argp.m4: Add AC_C_INLINE.
88126
88127 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88128
88129         Merge getpass from libc, plus a few fixes.
88130
88131         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88132         Include <stdbool.h>.
88133         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88134         __fsetlocking to empty.
88135         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88136         do include <bits/libc-lock.h>.
88137         Do not include <fcntl.h>; not needed.
88138         [_LIBC]: Include <wchar.h>.
88139         (NOTCANCEL_MODE): New macro.
88140         (flockfile, funlockfile) [_LIBC]: New macros.
88141         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88142         [!_LIBC]: New macros.
88143         (call_fclose): New function.
88144         (getpass): Use it.  Save tty stream separately; this simplifies the
88145         code and makes it more reliable if stdin happens to equal stdout.
88146         Invoke __fsetlocking on tty.
88147         Handle thread cancellation if needed.
88148         Namespace cleanup (use __tcgetattr, __getline).
88149         Use bool for Booleans.
88150         [USE_IN_LIBIO]: Handle wide streams.
88151         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88152         stream might go where.
88153
88154         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88155         doesn't have to include <stdio.h> before us.
88156         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88157         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88158         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88159         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88160         if not declared, so that we can use getpass.c code from libc without
88161         rewriting it.
88162         (flockfile, ftrylockfile, funlockfile): New macros.
88163
88164 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88165
88166         * modules/getpass: Depend on stdbool.
88167
88168 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88169
88170         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
88171
88172 2003-10-07  Karl Berry  <karl@gnu.org>
88173
88174         * config/config.{guess,sub}: update from config.
88175
88176 2003-10-06  Jim Meyering  <jim@meyering.net>
88177             Bruno Haible  <bruno@clisp.org>
88178
88179         This lets translators provide better translations for the
88180         "Written by ..." part of --version output.
88181         * lib/version-etc.h: Include stdarg.h.
88182         (version_etc_copyright): Declare as readonly.
88183         (version_etc): Make this function variadic with a NULL-terminated list
88184         of author name strings.
88185         (version_etc_va): New declaration.
88186         * lib/version-etc.c: Include stdarg.h, stdlib.h.
88187         (version_etc_copyright): Declare as readonly.
88188         (version_etc_va): New function. Provide a different translatable string
88189         for each possible number of authors < 10. Abbreviate when there are 10
88190         authors or more.
88191         (version_etc): Make this function variadic. Call version_etc_va.
88192         Suggestion from Gary V. Vaughan.
88193
88194         * lib/long-options.h (parse_long_options): Change prototype: the
88195         authors string is moved to the end and becomes variadic.
88196         * lib/long-options.c: Include stdarg.h.
88197         (parse_long_options): Make this function variadic, too.
88198         Call version_etc_va, not version_etc.
88199
88200 2003-10-06  Bruno Haible  <bruno@clisp.org>
88201
88202         * modules/version-etc-2: Remove file.
88203         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
88204
88205 2003-10-06  Bruno Haible  <bruno@clisp.org>
88206
88207         * modules/fatal-signal: New file.
88208         * MODULES.html.sh (func_all_modules): Add fatal-signal.
88209
88210 2003-10-06  Bruno Haible  <bruno@clisp.org>
88211
88212         * m4/fatal-signal.m4: New file.
88213         * m4/signalblocking.m4: New file, from GNU gettext.
88214
88215 2003-10-06  Bruno Haible  <bruno@clisp.org>
88216
88217         * lib/version-etc-2.h: Remove file.
88218         * lib/version-etc-2.c: Remove file.
88219
88220 2003-10-06  Bruno Haible  <bruno@clisp.org>
88221
88222         * lib/fatal-signal.h: New file, from GNU gettext.
88223         * lib/fatal-signal.c: New file, from GNU gettext.
88224
88225 2003-10-05  Paul Eggert  <eggert@twinsun.com>
88226
88227         * README: Rework advice for preventing empty .o files.
88228         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
88229         not <sys/types.h>.
88230
88231 2003-10-04  Karl Berry  <karl@gnu.org>
88232
88233         * lib/argp*: update from libc.
88234
88235 2003-10-04  Karl Berry  <karl@gnu.org>
88236
88237         * config/config.{guess,sub}: update from config.
88238
88239 2003-10-02  Bruno Haible  <bruno@clisp.org>
88240
88241         * modules/lchown (Include): Add lchown.h.
88242         * modules/time_r (Include): Use "..." syntax.
88243         * modules/xgetdomainname (Include): Add xgetdomainname.h.
88244
88245 2003-10-01  Simon Josefsson  <jas@extundo.com>
88246
88247         * MODULES.html.sh (func_all_modules): Move gethostname from section
88248         'based on' to section 'lacking' POSIX:2001.
88249
88250 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
88251
88252         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
88253         to output mode on the same stream.
88254
88255 2003-09-29  Paul Eggert  <eggert@twinsun.com>
88256
88257         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
88258         Fix arg typo in previous patch.
88259
88260 2003-09-28  Jim Meyering  <jim@meyering.net>
88261
88262         * lib/error.c: Correct cpp indentation.
88263
88264 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88265
88266         * modules/free: New file.
88267
88268 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88269
88270         * m4/free.m4: New file.
88271
88272 2003-09-27  Paul Eggert  <eggert@twinsun.com>
88273
88274         * lib/minmax.h (MIN, MAX)
88275         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
88276         Omit the special code that used __typeof__, since we worry that
88277         it could be more trouble than it's worth.  See:
88278         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
88279         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
88280
88281         * lib/free.c: New file.
88282
88283 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
88284
88285         Trivial fixes to Makefile.am parts of module listings.
88286         * modules/strstr: Append strstr.h to lib_SOURCES.
88287         * modules/strcase: Likewise, for strcase.h.
88288
88289 2003-09-27  Karl Berry  <karl@gnu.org>
88290
88291         * config/mkinstalldirs: update from automake.
88292
88293 2003-09-26  Paul Eggert  <eggert@twinsun.com>
88294
88295         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
88296         (error_tail): Do not loop, reallocating temporary buffer, since
88297         the output cannot contain more wide characters than the input
88298         contains bytes, the size must be big enough already.  This avoids
88299         one potential size overflow calculation.  Check for size overflow
88300         when calculating temporary buffer size.  Free temporary buffer
88301         when done, if it was allocated with malloc; this plugs a memory
88302         leak.  Remove casts from void * to pointers, that are no longer
88303         needed now that we're assuming C89 or better.
88304
88305         Merge error changes from glibc.
88306
88307         * lib/error.c, error.h: Update copyright notice header to match glibc.
88308         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
88309         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
88310         Disable cancellation while printing error.
88311         * lib/error.h: Prepend __ to parameter names.
88312
88313 2003-09-26  Jim Meyering  <jim@meyering.net>
88314
88315         * lib/error.c (error_tail): Move some declarations
88316         into inner scope where the local variables are used.
88317
88318 2003-09-26  Bruno Haible  <bruno@clisp.org>
88319
88320         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
88321         stpncpy().
88322         Don't define stpncpy through config.h; it's now done through stpncpy.h.
88323
88324 2003-09-26  Bruno Haible  <bruno@clisp.org>
88325
88326         * lib/stpncpy.h (gnu_stpncpy): New declaration.
88327         (stpncpy): Define as alias for gnu_stpncpy.
88328         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
88329
88330 2003-09-25  Simon Josefsson  <jas@extundo.com>
88331
88332         * lib/xgetdomainname.h: New file.
88333         * lib/xgetdomainname.c: New file.
88334
88335 2003-09-25  Simon Josefsson  <jas@extundo.com>
88336             Bruno Haible  <bruno@clisp.org>
88337
88338         * modules/getdomainname: New file.
88339         * modules/xgetdomainname: New file.
88340         * MODULES.html.sh (func_all_modules): Add getdomainname,
88341         xgetdomainname.
88342
88343 2003-09-25  Simon Josefsson  <jas@extundo.com>
88344             Bruno Haible  <bruno@clisp.org>
88345
88346         * m4/getdomainname.m4: New file.
88347
88348 2003-09-25  Simon Josefsson  <jas@extundo.com>
88349             Bruno Haible  <bruno@clisp.org>
88350
88351         * lib/getdomainname.h: New file.
88352         * lib/getdomainname.c: New file.
88353
88354 2003-09-25  Karl Berry  <karl@gnu.org>
88355
88356         * lib/argp-fmtstream.c, argp-help.c: update from libc.
88357
88358 2003-09-25  Karl Berry  <karl@gnu.org>
88359
88360         * config/install-sh: update from automake.
88361
88362 2003-09-25  Bruno Haible  <bruno@clisp.org>
88363
88364         * modules/version-etc-2: New file, from modules/version-etc with
88365         modifications.
88366         * MODULES.html.sh (func_all_modules): Add version-etc-2.
88367
88368 2003-09-25  Bruno Haible  <bruno@clisp.org>
88369
88370         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
88371         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
88372
88373 2003-09-24  Simon Josefsson  <jas@extundo.com>
88374
88375         * modules/xgethostname: Add xgethostname.h.
88376
88377 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88378
88379         * lib/linebuffer.c (freebuffer): Don't free the argument, just
88380         the buffer associated with the argument.  Bug reported by
88381         Simon Josefsson.
88382
88383 2003-09-24  Paul Eggert  <eggert@twinsun.com>
88384
88385         * README: Document assumptions that 'int' is at least 32 bits
88386         wide, that integer arithmetic is 2's complement without overflow,
88387         that there are no holes in integer values, that adding sizes of
88388         two nonoverlapping objects can't overflow, and that all-bits-zero
88389         yields scalar zero.  Fix spelling and capitalization typos.
88390
88391 2003-09-19  Karl Berry  <karl@gnu.org>
88392
88393         * lib/argp.h: update from libc.
88394
88395 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88396
88397         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
88398         to avoid spurious warnings like "AC_RUN_IFELSE was called before
88399         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
88400
88401 2003-09-17  Paul Eggert  <eggert@twinsun.com>
88402
88403         * gnulib-tool: Use "test -h", not "test -L", for portability
88404         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
88405         (tags_regexp): Remove, since \| doesn't conform to POSIX.
88406         (sed_extract_prog): Issue s commands one-by-one, rather than
88407         using \| in one s command.
88408
88409 2003-09-16  Paul Eggert  <eggert@twinsun.com>
88410
88411         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
88412         input error, instead of returning NULL the next time we are called
88413         (and therefore losing track of errno).
88414
88415 2003-09-16  Bruno Haible  <bruno@clisp.org>
88416
88417         * gnulib-tool (func_create_testdir): Warn about duplicated
88418         dependencies.
88419
88420 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88421
88422         * modules/argmatch, modules/fatal, modules/obstack,
88423         modules/xalloc, modules/xgethostname: Sort dependencies by
88424         importance, not alphabetically.
88425
88426 2003-09-15  Paul Eggert  <eggert@twinsun.com>
88427
88428         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
88429         fails, so that the caller gets the proper errno.
88430
88431         * lib/readutmp.c (read_utmp): Likewise.
88432         Check for fstat error.  Close stream and free storage
88433         when failing.
88434
88435 2003-09-14  Karl Berry  <karl@gnu.org>
88436
88437         * config/srclist.txt (strdup.c): disable for c89 changes.
88438
88439 2003-09-14  Jim Meyering  <jim@meyering.net>
88440
88441         * lib/getloadavg.c: Correct cpp indentation.
88442         * lib/strdup.c: Likewise.
88443         * lib/vasnprintf.c: Likewise.
88444
88445 2003-09-14  Bruno Haible  <bruno@clisp.org>
88446
88447         * modules/fwriteerror: New file.
88448         * MODULES.html.sh (func_all_modules): Add fwriteerror.
88449
88450 2003-09-14  Bruno Haible  <bruno@clisp.org>
88451
88452         * lib/fwriteerror.h: New file.
88453         * lib/fwriteerror.c: New file.
88454
88455 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88456
88457         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
88458         modules/xgethostname, modules/xalloc: Depend on exit.
88459
88460 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88461
88462         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
88463
88464         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
88465         and AC_MINIX, too, so that their extensions are available.
88466
88467         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
88468         This macro has been superseded by gl_BACKUPFILE.
88469
88470         More patches to assume C89 or better.
88471
88472         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
88473
88474         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
88475         unconditionally.
88476         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
88477         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
88478         Include <string.h>, <stdlib.h> unconditionally.
88479         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
88480         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
88481         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
88482         headers or for string.h.
88483         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
88484         or strtoul.
88485
88486         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
88487         headers.
88488         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
88489         * m4/userspec.m4 (gl_USERSPEC): Likewise.
88490         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
88491         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
88492         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
88493         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
88494         memcpy, memset.
88495         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
88496         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
88497         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
88498         strtol.
88499         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
88500         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
88501         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
88502         strtoul.
88503
88504 2003-09-12  Paul Eggert  <eggert@twinsun.com>
88505
88506         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
88507         * lib/obstack.c [!defined _LIBC]: Likewise.
88508         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
88509         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
88510         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
88511
88512         More changes to assume C89 or better.
88513
88514         * lib/error.c (error_tail): Assume vprintf.
88515
88516         * lib/argmatch.c (getenv): Remove decl.
88517         * lib/progreloc.c (get_full_program_name): Define via prototype.
88518         * lib/setenv.c (clearenv): Likewise.
88519         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
88520         needed.
88521         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
88522         (malloc, memcpy): Remove decls.
88523         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
88524         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
88525         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88526         (memcpy): Remove macro.
88527         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
88528         (__P): Remove.  All uses removed.
88529         (PTR): Remove.  All uses changed to void *.
88530         (CHAR_BIT, NULL): Remove.
88531         (spaces, zeros, memset_space, memset_zero)
88532         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
88533         Remove.
88534         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
88535         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
88536         Define with prototype.
88537         Remove now-unnecessary prototype decl.
88538         (extra_args_spec): Assume ANSI C.  All uses changed.
88539         (extra_args_spec_iso): Remove.
88540         (my_strftime, emacs_strftimeu): Define via prototype.
88541         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
88542         unconditionally.
88543         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
88544         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
88545         (strtoul, strtol): Remove decls.
88546         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
88547         LONG_MAX): Remove.
88548         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
88549         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
88550         (LOCALE_PARAM_PROTO): New macro.
88551         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
88552         (INTERNAL (strtol), strtol): Define with a prototype.
88553         (PARAMS): Remove.  All uses removed.
88554         * lib/tempname.c: Include <string.h> unconditionally.
88555         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
88556         * lib/xgethostname.c (main): Define with a prototype.
88557         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
88558         Include <stdlib.h> unconditionally.
88559         (calloc, malloc, realloc, free): Remove decls.
88560         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
88561         Include <stdlib.h> unconditionally.  Sort include file names.
88562         (strtod): Remove.
88563         (xstrtod): Define with a prototype.
88564         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
88565         (strtol, strtoul): Remove decls.
88566
88567 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88568
88569         More patches to assume C89 or better.
88570         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
88571         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
88572         string.h, memchr, STDC_HEADERS.
88573
88574 2003-09-11  Paul Eggert  <eggert@twinsun.com>
88575
88576         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
88577         Include <stdlib.h>, <string.h> unconditionally.
88578         Remove now-unnecessary cast to char *.
88579         * lib/strnlen.c: Include <string.h> unconditionally.
88580         * lib/yesno.c (yesno): Define with a prototype.
88581
88582 2003-09-11  Bruno Haible  <bruno@clisp.org>
88583
88584         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
88585
88586 2003-09-10  Jim Meyering  <jim@meyering.net>
88587
88588         * lib/error.c: Correct indentation of cpp directives.
88589
88590 2003-09-10  Bruno Haible  <bruno@clisp.org>
88591
88592         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
88593         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
88594         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
88595         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
88596         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
88597         <stdlib.h> and <string.h> checks.
88598         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
88599         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
88600
88601 2003-09-10  Bruno Haible  <bruno@clisp.org>
88602
88603         * lib/strcspn.c: Include <string.h> unconditionally.
88604         * lib/strpbrk.c: Include <string.h> unconditionally.
88605         * lib/strstr.c: Include <string.h> unconditionally.
88606         * lib/unicodeio.c: Include <string.h> unconditionally.
88607         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
88608         * lib/unsetenv.c: Likewise.
88609         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
88610         * lib/yesno.c: Include <stdlib.h> unconditionally.
88611         (rpmatch): Add prototype.
88612
88613 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88614
88615         More patches to assume C89 or better.
88616         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
88617         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
88618         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
88619         or for string.h.
88620         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
88621         stdlib.h.
88622         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
88623         C headers.
88624         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
88625         string.h.
88626         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
88627         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
88628         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
88629         or for string.h.
88630         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
88631         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
88632         C headers.
88633         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
88634         memcpy.
88635         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
88636         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
88637         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
88638         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
88639         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
88640         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
88641         string.h, free.
88642         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
88643         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
88644         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
88645         C headers, or for string.h.
88646         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
88647         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
88648         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
88649         headers, memory.h, stdlib.h, string.h, strings.h.
88650         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
88651         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
88652         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
88653         strchr.
88654         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
88655         headers, memory.h, string.h.
88656         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
88657         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
88658         free.
88659         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
88660         headers.
88661         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
88662         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
88663         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
88664         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
88665         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
88666
88667 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88668
88669         More K&R removal.
88670
88671         * lib/acosl.c (main): Use a prototype.
88672         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
88673         tanl.c: Likewise.
88674
88675         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
88676
88677         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
88678         (getopt, etopt_long, getopt_long_only, _getopt_internal)
88679         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
88680         with a prototype.
88681         * lib/getopt.c (const): Remove macro.
88682         Include <string.h> unconditionally.
88683         (my_index): Remove; all uses changed to strchr.
88684         (strlen): Remove decl.
88685         (exchange): Remove forward decl; no longer needed.
88686         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
88687         Define with prototype.
88688         * lib/getopt1.c (const): Remove macro.
88689         (getopt_long, getopt_long_only, main): Define with prototype.
88690
88691         * lib/getugroups.c: Include <string.h> unconditionally.
88692
88693         * lib/getusershell.c: Include <stdlib.h> unconditionally.
88694         (getusershell, setusershell, endusershell, readname, main):
88695         Define with prototypes.
88696
88697         * lib/group-member.c: Include group-member.h first.
88698         Include <stdlib.h> unconditionally.
88699
88700         * lib/hard-locale.c: Include hard-locale.h first.
88701         Include <stdlib.h>, <string.h> unconditionally.
88702
88703         * lib/hash.c (free, malloc): Remove decls.
88704         Include <stdlib.h> unconditionally.
88705
88706         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
88707         (getenv): Do not declare.
88708
88709         * lib/idcache.c: Include <string.h> unconditionally.
88710
88711         * lib/long-options.c: Include long-options.h first, to test interface.
88712         Include <stdlib.h> unconditionally.
88713
88714         * lib/makepath.c: Include makepath.h first, to test interface.
88715         Include <stdlib.h> and <string.h> unconditionally.
88716
88717         * lib/linebuffer.c: Include <stdlib.h>.
88718         (free): Remove decl.
88719
88720         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
88721         stddef.h. rpl_malloc returns void *, not char *.
88722         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
88723         prototype.
88724
88725         * lib/md5.h: Include <limits.h> unconditionally.
88726         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
88727         (__P): Remove; all uses removed.
88728         * lib/md5.c: Include "md5.h" first.
88729         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
88730         md5_buffer, md5_process_bytes, md5_process_block):
88731         Define with prototypes.
88732         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
88733         * lib/sha.c: Include "sha.h" first.
88734         Include <stdlib.h>, <string.h> unconditionally.
88735
88736         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
88737         * lib/memcmp.c (__ptr_t): Likewise.
88738         * lib/memrchr.c (__ptr_t): Likewise.
88739         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
88740         Include <string.h> unconditionally.
88741         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
88742         * lib/memchr.c: Include <stdlib.h> unconditionally.
88743         * lib/memchr.c (LONG_MAX): Remove.
88744         * lib/memrchr.c (LONG_MAX): Likewise.
88745         * lib/memchr.c (__memchr): Define via a prototype.
88746         * lib/memrchr.c (__memrchr): Likewise.
88747         * lib/memcmp.c (__P): Remove, and remove all uses.
88748         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
88749         Remove forward decls; no longer needed.
88750         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
88751         Use types required by C89 in prototype.
88752
88753         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
88754         * lib/savedir.c: Likewise.
88755         * lib/mkdir.c (free): Remove decl.
88756         * lib/rmdir.c (rmdir): Define with a prototype.
88757         * lib/savedir.c: Include savedir.h first, to test interface.
88758
88759         * lib/mktime.c (STDC_HEADERS): Remove.
88760         Include <stdlib.h>, <string.h> unconditionally.
88761
88762         * lib/modechange.c: Include <stdlib.h> unconditionally.
88763         (malloc): Remove decl.
88764
88765         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
88766         (free): Remove decl.
88767
88768         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
88769         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
88770         (This type really should be intptr_t, but that's a C99ism.)
88771         (_obstack_memcpy): Remove: all uses changed to memcpy.
88772         Include <string.h> unconditionally.
88773         (struct obstack): Assume __STDC__ for types of members
88774         chunkfun, freefun, extra_arg.
88775         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
88776         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
88777         obstack_begin, obstack_specify_allocation,
88778         obstack_specify_allocation_with_arg, obstack_chunkfun,
88779         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
88780         Remove unprototyped decls and the macros that use them.
88781         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
88782         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
88783         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
88784         (defined __STDC__ && __STDC__)]:
88785         Remove nonprototyped code.
88786         Include <stdlib.h> unconditionally.
88787         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
88788         _obstack_allocated_p, _obstack_free, obstack_free,
88789         _obstack_memory_used, print_and_abort):
88790         Define using prototypes.
88791         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
88792         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
88793         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
88794         obstack_next_free, obstack_object_size, obstack_room) [0]:
88795         Remove unused, unprototyped code.
88796
88797         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
88798
88799         * lib/physmem.c (physmem_total, physmem_available, main): Define
88800         with prototypes.
88801
88802         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
88803         (main): Define with a prototype.
88804
88805         * lib/posixver.c (getenv): Remove decl.
88806
88807         * lib/putenv.c (malloc): Returns void *, not char *.
88808         Include <string.h> unconditionally.
88809         (strchr, memcpy, NULL): Do not define.
88810
88811         * lib/readtokens.c: Include readtokens.h first, to test interface.
88812         Include <stdlib.h>, <string.h> unconditionally.
88813         (init_tokenbuffer): Define with a prototype.
88814
88815         * lib/regex.c (PARAMS): Remove.  All uses removed.
88816         All uses of _RE_ARGS removed, too.
88817         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88818         unconditionally.
88819         (bzero): Assume memset exists.
88820         (memcmp, memcpy, NULL): Remove.
88821         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
88822         char, or assignments to local vars of type signed char.
88823         (init_syntax_once, PREFIX(extract_number_and_incr),
88824         PREFIX(print_partial_compiled_pattern),
88825         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
88826         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
88827         PREFIX(regex_grow_registers), PREFIX(regex_compile),
88828         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
88829         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
88830         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
88831         wcs_compile_range, byte_compile_range, truncate_wchar,
88832         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
88833         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
88834         count_mbs_length, wcs_re_match_2_internal,
88835         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
88836         PREFIX(alt_match_null_string_p),
88837         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
88838         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
88839         regfree, PREFIX(extract_number)): Define with prototype.  Remove
88840         now-unnecessary declaration, if any.
88841         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
88842         regcomp, regexec):
88843         Remove now-unnecessary casts among pointer types.
88844         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
88845
88846         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
88847         (free): Remove decl.
88848
88849         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
88850
88851         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
88852         (free): Remove decl.
88853
88854         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
88855         * lib/xgetcwd.c: Likewise.
88856
88857         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
88858         (free): Remove decl.
88859
88860         * lib/strchrnul.c (strchrnul): Define with a prototype.
88861         Fix bug: c_in was not converted to char before searching.
88862
88863         The following changes are not K&R related:
88864
88865         * lib/group-member.h: Include <sys/types.h>, so that this file is
88866         self-contained.
88867         * lib/makepath.h: Likewise.
88868
88869         * lib/getusershell.c (readname, default_index, line_size, readname):
88870         Use size_t, not int, for sizes.
88871         (readname): If the size overflows, report an error instead of
88872         looping forever.
88873
88874 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88875
88876         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
88877         libc.
88878
88879 2003-09-09  Paul Eggert  <eggert@twinsun.com>
88880
88881         * README: New section: portability guidelines.
88882
88883 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88884
88885         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
88886         C89 spec.
88887
88888 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
88889
88890         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
88891
88892 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88893
88894         Assume C89 or better; remove K&R cruft.
88895         A few of these changes were first proposed by Derek Robert Price
88896         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
88897
88898         * lib/addext.c: Include <string.h> unconditionally.
88899         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
88900         Don't declare getenv or malloc.
88901
88902         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
88903         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
88904         (NULL): Remove.
88905         (find_stack_direction, alloca): Use prototypes.
88906
88907         * lib/atexit.c (atexit): Define using a prototype.
88908
88909         * lib/basename.c, dirname.c, stripslash.c:
88910         Include <string.h> unconditionally.
88911
88912         * lib/bcopy.c: Include <stddef.h>.
88913         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
88914
88915         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
88916
88917         * lib/error.h (error, error_at_line, error_print_progname)
88918         [! (defined (__STDC__) && __STDC__)]: Remove decls.
88919         * lib/error.c: Include error.h first, to check interface.
88920         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88921         (VA_START): Remove; all uses changeed to va_start.
88922         (exit, strerror): Remove decls.
88923         (error_print_progname): Prototype uncondionally.
88924         Don't include <errno.h>; no longer needed.
88925         (private_strerror): Remove.
88926         (error_tail): Always define.
88927         (error, error_at_line): Assume C89 or better; always use prototypes.
88928         * lib/fatal.c: Include "fatal.h" first, to test interface.
88929         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
88930         (VA_START): Remove; all uses changed to va_start.
88931         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
88932         this case.
88933         (exit): Remove decl.
88934         (fatal): Prototype unconditionally.  Assume va_start works.
88935         Abort at end, to pacify gcc.
88936
88937         * lib/euidaccess.c (main): Define with a prototype.
88938
88939         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
88940
88941         * lib/exitfail.c: Include <stdlib.h> unconditionally.
88942
88943         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
88944         prototypes.
88945         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
88946         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
88947         (getenv): Remove decl.
88948         (fnmatch): Define using a prototype.
88949         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
88950         (FCT): Define using a prototype.
88951
88952         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
88953
88954         * lib/gethostname.c: Include <stddef.h>.
88955         (gethostname): Define with prototype.  Length is size_t, not int.
88956
88957 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88958
88959         Assume C89 or better; remove K&R cruft.
88960         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
88961         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
88962         string.h, getenv, malloc.
88963         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
88964         headers.
88965         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
88966         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
88967         do not check for strerror.
88968         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
88969         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
88970         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
88971         do not check for doprnt or vprintf.
88972         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
88973         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
88974
88975 2003-09-08  Paul Eggert  <eggert@twinsun.com>
88976
88977         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
88978         getversion.c should have been removed then, but was accidentally
88979         preserved.
88980
88981         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
88982         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
88983
88984 2003-09-08  Karl Berry  <karl@gnu.org>
88985
88986         * config/config.sub, config.guess, srclistvars.sh: update from savannah
88987                 config, forget about prep.
88988
88989         * config/depcomp, missing: update from automake.
88990
88991 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88992
88993         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
88994         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
88995
88996 2003-09-07  Paul Eggert  <eggert@twinsun.com>
88997
88998         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
88999         copy_tm_result.  Bug reported by Simon Josefsson in
89000         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89001
89002 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89003
89004         * m4/time_r.m4: New file.
89005         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89006         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89007         is. Check for timegm declaration.
89008         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89009         Do not check for gmtime_r.
89010         Replace mktime if __mktime_internal does not exist and if mktime
89011         hasn't been replaced already.
89012
89013 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89014
89015         * lib/time_r.c, lib/time_r.h: New files.
89016
89017         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89018         __localtime_r.
89019         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89020         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89021
89022         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89023         __gmtime_r.
89024         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89025         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89026         Include <time_r.h>.
89027
89028         * lib/timegm.c: Switch to glibc implementation, with the following
89029         changes:
89030         [defined HAVE_CONFIG_H]: Include <config.h>.
89031         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89032         (__mktime_internal) [!defined _LIBC]: New decl.
89033         (__gmtime_r) [!defined _LIBC]: New macro and function.
89034         (timegm): Use a prototype, since gnulib assumes C89.
89035         Do not bother declaring tmp to be const, as it's not really usefu.
89036         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89037         (timegm): Declare only if HAVE_DECL_TIMEGM.
89038
89039 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89040
89041         * MODULES.html.sh (func_all_modules): Add time_r.
89042         * modules/time_r: New file.
89043         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89044         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89045
89046 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89047
89048         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89049         Bug reported by Lute Kamstra in
89050         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89051
89052         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89053         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89054         course with correspondingly smaller numbers for tomorrow and
89055         yesterday.  From Tadayoshi Funaba.  Originally installed into
89056         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89057         coreutils merge?).
89058
89059 2003-08-31  Simon Josefsson  <jas@extundo.com>
89060
89061         * modules/timegm: New file.
89062         * MODULES.html.sh (func_all_modules): Add timegm.
89063
89064 2003-08-31  Simon Josefsson  <jas@extundo.com>
89065
89066         * m4/timegm.m4: New file.
89067
89068 2003-08-31  Simon Josefsson  <jas@extundo.com>
89069
89070         * lib/timegm.h: New file.
89071         * lib/timegm.c: New file.  Based on
89072         wget-1.8.2/src/http.c:mktime_from_utc.
89073
89074 2003-08-31  Karl Berry  <karl@gnu.org>
89075
89076         * lib/argp.h: update from libc.
89077
89078 2003-08-28  Bruno Haible  <bruno@clisp.org>
89079
89080         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89081         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89082         followed by '#define fnmatch fnmatch_posix' gives an error.
89083
89084 2003-08-28  Bruno Haible  <bruno@clisp.org>
89085
89086         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89087         warning on QNX, which defines O_BINARY to 000000.
89088
89089 2003-08-27  Jim Meyering  <jim@meyering.net>
89090
89091         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89092         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89093         would fail after 32.  Reported by Danny Levinson.  Details here:
89094         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89095
89096 2003-08-24  Bruno Haible  <bruno@clisp.org>
89097
89098         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89099         MSVC7 <stdio.h> is included later.
89100
89101 2003-08-22  Simon Josefsson  <jas@extundo.com>
89102
89103         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89104
89105 2003-08-20  Karl Berry  <karl@gnu.org>
89106
89107         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89108
89109 2003-08-20  Bruno Haible  <bruno@clisp.org>
89110
89111         * modules/progname: New file.
89112         * MODULES.html.sh (func_all_modules): Add progname.
89113
89114 2003-08-20  Bruno Haible  <bruno@clisp.org>
89115
89116         * lib/progname.h: New file, from GNU gettext.
89117         * lib/progname.c: New file, from GNU gettext.
89118         * lib/progreloc.c: New file, from GNU gettext.
89119
89120 2003-08-19  Jim Meyering  <jim@meyering.net>
89121
89122         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89123         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89124
89125 2003-08-19  Bruno Haible  <bruno@clisp.org>
89126
89127         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89128         more.
89129
89130 2003-08-19  Bruno Haible  <bruno@clisp.org>
89131
89132         * lib/xstrdup.c: Assume <string.h> exists.
89133
89134 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89135
89136         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89137         in makefile rules.
89138
89139 2003-08-18  Jim Meyering  <jim@meyering.net>
89140
89141         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89142         * m4/lib-ld.m4: Likewise.
89143
89144 2003-08-18  Jim Meyering  <jim@meyering.net>
89145
89146         * lib/setenv.h: Indent nested cpp directive.
89147         * lib/vasnprintf.c: Remove trailing blanks.
89148
89149 2003-08-17  Simon Josefsson  <jas@extundo.com>
89150
89151         * modules/xstrndup: New file.
89152         * MODULES.html.sh (func_all_modules): Add xstrndup.
89153
89154 2003-08-17  Simon Josefsson  <jas@extundo.com>
89155
89156         * modules/argp: Fix autoconf macro name. Add more dependencies.
89157
89158 2003-08-17  Simon Josefsson  <jas@extundo.com>
89159
89160         * m4/xstrndup.m4: New file.
89161
89162 2003-08-17  Simon Josefsson  <jas@extundo.com>
89163
89164         * m4/argp.m4: New file.
89165
89166 2003-08-17  Simon Josefsson  <jas@extundo.com>
89167             Bruno Haible  <bruno@clisp.org>
89168
89169         * lib/xstrndup.h: New file.
89170         * lib/xstrndup.c: New file.
89171
89172 2003-08-17  Bruno Haible  <bruno@clisp.org>
89173
89174         * modules/strndup (Files, Include): Add lib/strndup.h.
89175
89176 2003-08-17  Bruno Haible  <bruno@clisp.org>
89177
89178         * modules/euidaccess (Files): Add lib/euidaccess.h.
89179
89180 2003-08-17  Bruno Haible  <bruno@clisp.org>
89181
89182         * lib/strndup.h: New file.
89183
89184 2003-08-17  Bruno Haible  <bruno@clisp.org>
89185
89186         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
89187         like AC_GNU_SOURCE.
89188         * modules/extensions (configure.ac): Comment out the invocation of
89189         gl_USE_SYSTEM_EXTENSIONS.
89190
89191 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89192
89193         Merges from coreutils, etc.
89194         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
89195         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
89196         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
89197         fixing a typo.
89198         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
89199         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
89200
89201 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89202
89203         Document merge from coreutils.
89204         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
89205         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
89206         * modules/utime: Add m4/utimes-null.m4.
89207
89208 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89209
89210         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
89211         space, undoing this 2003-08-12 change:
89212         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89213
89214 2003-08-16  Paul Eggert  <eggert@twinsun.com>
89215
89216         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
89217         strtoul.c from libc, undoing this 2003-08-12 change:
89218         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
89219
89220 2003-08-16  Jim Meyering  <jim@meyering.net>
89221
89222         Merges from coreutils.
89223         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
89224         prefix.  Adjust cache variables similarly.  Create 500 rather than
89225         just 300 files, to exercise bug on Darwin6.5, too.
89226         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
89227         $missing_dir.
89228         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
89229         AM_SYS_POSIX_TERMIOS.
89230         Reported by mkc@mathdogs.com.
89231         Also change use of $am_cv_sys_posix_termios
89232         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
89233         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
89234         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
89235         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
89236         in /proc/mounts until it finds one with matching device number.  This
89237         is unnecessary when the FILE argument *is* a mount point.  No stat call
89238         is necessary in that case.  So, disable the statvfs-testing code on
89239         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
89240         as RedHat bug# 84846.
89241         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89242         to 1MB, so as not to render systems with no stack size limit (e.g.,
89243         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89244         Include <unistd.h>.  On some systems,
89245         it is required for the definition of _SC_PAGESIZE.
89246
89247 2003-08-16  Jim Meyering  <jim@meyering.net>
89248
89249         Merge from coreutils.
89250         * lib/xstrtoimax.c: #else #if -> #elif.
89251         * lib/xstrtoumax.c: Likewise.
89252
89253 2003-08-16  Jim Meyering  <jim@meyering.net>
89254
89255         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
89256         * m4/utimes.m4: Removed.
89257         * m4/utimes-null.m4: Renamed from utimes.m4.
89258
89259         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
89260         to 1MB, so as not to render systems with no stack size limit (e.g.,
89261         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
89262         Include <unistd.h>.  On some systems,
89263         it is required for the definition of _SC_PAGESIZE.
89264
89265 2003-08-16  Jim Meyering  <jim@meyering.net>
89266         and Paul Eggert  <eggert@cs.ucla.edu>
89267
89268         Merges from coreutils, etc.
89269
89270         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
89271         using the latest version from cvs.  This avoids problems with #line
89272         directives using a vendor (Sun) compiler.
89273         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
89274         Don't set GETGROUPS_LIB here; now it's
89275         done via getgroups.m4's wrapper function.
89276         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
89277         rather than just in sh-util/configure.in, so that the
89278         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
89279         same.
89280         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
89281         AC_FUNC_GETLOADAVG where to find getloadavg.c.
89282         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
89283         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
89284         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
89285         Remove code that is now done by the newly-required macros.
89286         Append $(EXEEXT) to DF_PROG.
89287         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
89288         Do not invoke or require the following here,
89289         since prereq.m4 or some gnulib .m4 now does this for us:
89290         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
89291         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
89292         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
89293         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
89294         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
89295         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
89296         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
89297         AC_FUNC_OBSTACK.
89298         Do not replace the following functions, as this is now the job
89299         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
89300         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
89301         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
89302         atexit getpass, strdup, getpagesize.
89303         Replace 'raise'.
89304         Do not check for the following functions, as this is now the job
89305         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
89306         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
89307         setregid.
89308         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
89309         Check for sys/sysctl.h.
89310         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
89311         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
89312         of checking for ssize_t ourselves.
89313
89314         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
89315         Require every macro that gnulib/modules/* suggests for us.
89316         (jm_PREREQ_ADDEXT): New macro.
89317         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
89318         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
89319
89320         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
89321         (gl_PHYSMEM): Use it.
89322         Also check for `table' function.
89323         Check for new headers and functions.
89324         Add check for sys/sysmp.h.
89325         With suggestions from Kaveh Ghazi.
89326         Ignore headers that are present but cannot be compiled.  This
89327         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
89328         C 5.4.
89329
89330 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89331
89332         Document merge from coreutils.
89333         * modules/userspec: Depend on posixver.
89334         * modules/strftime: Depend on tzset.
89335
89336 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89337
89338         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
89339         rather than tab, after '#' in shell-script copyright notices.
89340         Suggested by Bruno Haible.
89341
89342 2003-08-15  Paul Eggert  <eggert@twinsun.com>
89343
89344         * config/srclist-update: Use three spaces, rather than tab, after '#'
89345         in shell-script copyright notices.  Suggested by Bruno Haible.
89346         Remove unnecessary parenthesization in regular expression.
89347
89348 2003-08-15  Jim Meyering  <jim@meyering.net>
89349
89350         Merge from coreutils.
89351         * lib/xgethostname.c: Include <stdlib.h>.
89352         (xghostname): Don't exit for anything other than memory-related
89353         failure; just return NULL.
89354         * lib/userspec.c: Include "posixver.h".
89355         (parse_user_spec): Accept `.' as a separator only
89356         in pre-POSIX-200112 mode.
89357         * lib/strtoimax.c: Use #elif rather than #else #if.
89358         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
89359         Remove function, now that we can rely on a working tzset function.
89360         [!_LIBC]: Ensure that the required autoconf test has been run.
89361         [!defined _NL_CURRENT && HAVE_STRFTIME]:
89362         Use underlying_strftime for %r.
89363         * lib/sha.c: Merge in some clean-up and optimization changes from
89364         glibc.
89365         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
89366         Ensure that it is a multiple of 64.
89367         Rearrange loop exit tests so as to avoid performing an
89368         additional fread after encountering an error or EOF.
89369         * lib/realloc.c: Update copyright date.
89370
89371 2003-08-15  Jim Meyering  <jim@meyering.net>
89372         and Paul Eggert  <eggert@twinsun.com>
89373
89374         Merge from coreutils.
89375         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
89376         member but strut utmpx does not.  Needed for AIX 4.3.3.
89377         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
89378
89379 2003-08-15  Jim Meyering  <jim@meyering.net>
89380         and Paul Eggert  <eggert@cs.ucla.edu>
89381
89382         Merges from coreutils, etc.
89383         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
89384         Require gl_FUNC_TZSET_CLOBBER.
89385         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
89386         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
89387         members.
89388
89389 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89390
89391         Help the merge from coreutils.
89392         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
89393         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
89394         * m4/tzset.m4: Use it too.
89395
89396 2003-08-14  Paul Eggert  <eggert@twinsun.com>
89397
89398         * modules/tzset: New file.
89399
89400 2003-08-14  Jim Meyering  <jim@meyering.net>
89401
89402         Merges from coreutils.
89403         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
89404         variable names, rather than @FNMATCH_H@.
89405         * modules/alloca: Likewise for $(ALLOCA_H).
89406
89407         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
89408         the three copies of the literal target, `fnmatch.h'.
89409         * modules/alloca (alloca.h): Likewise.
89410
89411 2003-08-14  Jim Meyering  <jim@meyering.net>
89412
89413         Merge from coreutils.
89414         * m4/tzset.m4: New file.
89415         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
89416         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
89417         otherwise, AIX 5.1 systems would end up using the latter.
89418         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
89419         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
89420         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
89421         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
89422
89423 2003-08-14  Jim Meyering  <jim@meyering.net>
89424
89425         Merge from coreutils.
89426         * lib/obstack.h: Whitespace changes.
89427         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
89428         and xcalloc return values.
89429         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
89430         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
89431         hang on OSF/1 5.1 for DIR on both local and remote file systems.
89432         Reported by (and fix confirmed by) Nelson H. F. Beebe.
89433         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
89434         error from mntctl.
89435         Use mntctl's return value to drive the entry-processing loop, since
89436         we can't rely on the value of the vmt_length member in the last
89437         entry.  On some systems doing so could result in exhausting
89438         virtual memory.  Based in part on a patch from Mike Jetzer.
89439
89440 2003-08-14  Jim Meyering  <jim@meyering.net>
89441         and Paul Eggert  <eggert@twinsun.com>
89442
89443         Merges from coreutils, plus other fixes.
89444         * lib/physmem.c: Merge in portability changes from gcc/libiberty
89445         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
89446         for credits and details.  Thanks to Kaveh Ghazi for helping
89447         to keep these files in sync.
89448         (ARRAY_SIZE): Define it.
89449         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
89450         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
89451         (memcasecmp): Don't assume size_t fits in unsigned int.
89452         Remove casts and duplicate code.
89453         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
89454         (memcpy): Remove definition.
89455         Merge in some clean-up and optimization changes from glibc.
89456         [BLOCKSIZE]: Move definition to top of file.
89457         Ensure that it is a multiple of 64.
89458         Rearrange loop exit tests so as to avoid performing an
89459         additional fread after encountering an error or EOF.
89460         * lib/md5.h (md5_uintptr): Define.
89461         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
89462         return to the initial working directory.  Preserve errno
89463         for caller.
89464         * lib/idcache.c: Include "xalloc.h".
89465         (xmalloc, xrealloc): Remove decls.
89466         (getuser): Remove casts no longer required in C89.
89467         * lib/human.c: Include stdio.h, for sprintf.
89468         * lib/group-member.c: Include "xalloc.h".
89469         (xmalloc, xrealloc): Remove decls.
89470         (get_group_info): Remove casts no longer required in C89.
89471         * lib/getusershell.c (readname): Remove casts no longer required in
89472         C89.
89473         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
89474         * lib/getline.c: Whitespace fix, from coreutils.
89475
89476 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89477
89478         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
89479         Check for isascii.
89480
89481         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89482         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89483         Undo previous (whitespace-only) change.
89484
89485 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89486
89487         * lib/exclude.c: Include <ctype.h>
89488         (IN_CTYPE_DOMAIN): New macro.
89489         (is_space): New fn.
89490         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
89491         and empty lines.
89492
89493         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89494         Undo previous (whitespace-only) change.
89495
89496 2003-08-13  Paul Eggert  <eggert@twinsun.com>
89497
89498         * config/srclist-update: Change update back to the old behavior,
89499         leaving whitespace alone.  Use one 'sed' command rather than a
89500         pipeline.
89501         (fixlicense): Now a variable, not a function.
89502         (remove_trailing_blanks): Remove.
89503         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
89504         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89505         Undo previous (whitespace-only) change.
89506
89507 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89508
89509         Merge from coreutils.
89510         * modules/euidaccess: Add lib_SOURCES, include for new
89511         file euidaccess.h
89512
89513 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89514
89515         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
89516         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
89517         Normalize leading white space and remove trailing white space.
89518
89519         Merge from coreutils
89520         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
89521
89522         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
89523         0.12.1.  These files are now being upgraded automatically by
89524         ../config/srclist-update.
89525
89526 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89527
89528         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
89529         Normalize leading white space and remove trailing white space.
89530         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
89531         notice, as per ../config/srclist-update.
89532
89533         Merge from coreutils.
89534         * lib/euidaccess.h: New file.
89535         * lib/euidaccess.c: Include it.
89536         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
89537         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
89538         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
89539
89540 2003-08-12  Paul Eggert  <eggert@twinsun.com>
89541
89542         * config/srclist-update: Add copyright notice.
89543         (remove_id_lines, remove_trailing_blanks): New constants.
89544         (fixfile): Use them to normalize spacing a bit in copied files.
89545         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
89546         Normalize leading white space and remove trailing white space.
89547
89548         * config/texinfo.tex: Sync with texinfo.
89549
89550         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
89551         strtoul.c from libc, to merge coreutils whitespace changes.
89552
89553         * config/srclist.txt: Get the following m4 files from gettext:
89554         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
89555         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
89556         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
89557         wint_t.m4.
89558
89559 2003-08-12  Karl Berry  <karl@gnu.org>
89560
89561         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
89562         been made.
89563
89564 2003-08-11  Paul Eggert  <eggert@twinsun.com>
89565
89566         * modules/gnu-source, m4/gnu-source.m4:
89567         Remove; we're assuming Autoconf 2.54 or later now.
89568         Suggested by Bruno Haible.
89569         * MODULES.html.sh (func_all_modules): Remove gnu-source.
89570
89571 2003-08-11  Bruno Haible  <bruno@clisp.org>
89572
89573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
89574
89575 2003-08-11  Bruno Haible  <bruno@clisp.org>
89576
89577         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
89578         (vasnprintf): Use it instead of wcslen.
89579
89580 2003-08-11  Bruno Haible  <bruno@clisp.org>
89581
89582         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
89583         value to ensure that _Bool promotes to int. Use #define for _Bool when
89584         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
89585
89586 2003-08-10  Karl Berry  <karl@gnu.org>
89587
89588         * lib/regex.h: update from libc (whitespace fix).
89589
89590 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89591
89592         Merge some files from coreutils.  These changes were
89593         originally made by Jim Meyering.
89594         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
89595         many older Unixes require this.
89596         * lib/alloca.c (alloca): Remove cast to argument of free;
89597         no longer needed in C89.
89598         * lib/alloca_.h, regex.h: Fix white space to match
89599         what GNU indent does.
89600
89601 2003-08-09  Paul Eggert  <eggert@twinsun.com>
89602
89603         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
89604         apparently Emacs's Unicode mode got confused before my 2003-08-05
89605         checkin.
89606
89607 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89608
89609         * m4/extensions.m4: New file.
89610         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
89611         Require gl_USE_SYSTEM_EXTENSIONS.
89612         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
89613         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
89614
89615 2003-08-08  Paul Eggert  <eggert@twinsun.com>
89616
89617         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
89618         * modules/extensions, modules/gnu-source: New files.
89619         * modules/timespec, modules/unlocked-io: Depend on extensions.
89620
89621 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89622
89623         * modules/restrict: New file.
89624         * MODULES.html.sh (func_all_modules): Add restrict.
89625         * modules/regex: Depend on restrict.
89626
89627 2003-08-07  Paul Eggert  <eggert@twinsun.com>
89628
89629         * m4/restrict.m4: New file.
89630         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
89631
89632 2003-08-07  Bruno Haible  <bruno@clisp.org>
89633
89634         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
89635         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
89636
89637 2003-08-07  Bruno Haible  <bruno@clisp.org>
89638
89639         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
89640         makes the module 'getndelim2' compatible with the module 'getline'.
89641
89642 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89643
89644         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
89645         byte with "\201" to avoid glitches when editing that source file
89646         with multi-gnome-terminal.
89647
89648 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89649
89650         * lib/bumpalloc.h: Remove.
89651
89652 2003-08-05  Paul Eggert  <eggert@twinsun.com>
89653
89654         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
89655         * modules/bumpalloc: Remove.
89656
89657 2003-08-04  Paul Eggert  <eggert@twinsun.com>
89658
89659         * lib/getloadavg.c: Change copyright notice and spacing to conform to
89660         GNU coding style.
89661
89662         Merge from coreutils.
89663         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
89664         1. From glibc.
89665         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
89666         from Karl Berry, implemented by Jim Meyering.
89667         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
89668         from Dmitry V. Levin.
89669         Remove anachronistic cast of xrealloc.
89670         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
89671         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
89672         type. Otherwise, it wouldn't compile with at least /bin/cc on
89673         ymp-cray-unicos9.0.2.X.
89674         Combine two mostly-identical uses of alloca into one.
89675         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
89676
89677 2003-08-04  Dave Love  <d.love@dl.ac.uk>
89678
89679         [From Emacs.]
89680
89681         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
89682         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
89683         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
89684         obsolete NLIST_NAME_UNION.
89685         [__GNU__]: Undef BSD and FSCALE.
89686         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
89687
89688 2003-08-03  Paul Eggert  <eggert@twinsun.com>
89689
89690         * lib/stdbool_.h (_Bool): Make it signed char, instead of
89691         an enum type, so that it's guaranteed to promote to int.  See:
89692         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
89693
89694 2003-08-03  Karl Berry  <karl@gnu.org>
89695
89696         * config/depcomp: update from automake.
89697
89698 2003-07-31  Paul Eggert  <eggert@twinsun.com>
89699
89700         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
89701         (strerror): Don't assume that a printable int fits in 14 bytes.
89702
89703 2003-07-31  Bruno Haible  <bruno@clisp.org>
89704
89705         * modules/getpass-gnu: New file.
89706         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
89707
89708 2003-07-31  Bruno Haible  <bruno@clisp.org>
89709
89710         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
89711
89712 2003-07-24  Karl Berry  <karl@gnu.org>
89713
89714         * config/missing: update from automake.
89715
89716 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
89717             Bruno Haible  <bruno@clisp.org>
89718
89719         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
89720         * lib/getline.c (getline, getdelim): Likewise.
89721         Remove _GNU_SOURCE define; now it's defined in config.h through
89722         m4/getline.m4.
89723
89724 2003-07-23  Karl Berry  <karl@gnu.org>
89725
89726         * config/config.sub: update from prep.
89727
89728 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89729
89730         * modules/xalloc (Depends-on): Add exitfail.
89731         * modules/xmemcoll: Likewise.
89732
89733 2003-07-22  Paul Eggert  <eggert@twinsun.com>
89734
89735         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
89736         over-parenthesization in macros.
89737
89738         Sync with coreutils.
89739
89740         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
89741         required by C99.
89742
89743         Use `exit_failure' for xalloc and xmemcoll instead of their own
89744         private exit-failure variables.
89745         * lib/xalloc.h (xalloc_exit_failure): Remove.
89746         * lib/xmalloc.c: Likewise.  Include exitfail.h.
89747         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
89748         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
89749         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
89750         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
89751
89752 2003-07-20  Jim Meyering  <jim@meyering.net>
89753
89754         * modules/closeout (Depends-on): Add exitfail.
89755         Suggestion from Bruno Haible.
89756
89757 2003-07-19  Karl Berry  <karl@gnu.org>
89758
89759         * config/config.sub: update from prep.
89760
89761 2003-07-18  Paul Eggert  <eggert@twinsun.com>
89762
89763         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
89764         Remove.
89765         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
89766         to test that it can stand by itself.  Include "exitfail.h".
89767         Clients should set exit_failure instead.
89768         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
89769
89770 2003-07-18  Bruno Haible  <bruno@clisp.org>
89771
89772         * modules/getndelim2: New file.
89773         * modules/getline: Share files with module getndelim2.
89774         * modules/getnline: Depend on getndelim2 instead of sharing files with
89775         it. Add getnline.c to lib_SOURCES.
89776         * MODULES.html.sh (func_all_modules): Add getndelim2.
89777
89778 2003-07-18  Bruno Haible  <bruno@clisp.org>
89779
89780         * m4/getndelim2.m4: New file.
89781         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
89782         invoke gl_PREREQ_GETNDELIM2.
89783         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
89784         gl_PREREQ_GETNDELIM2.
89785         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
89786         gl_GETNDELIM2.
89787
89788 2003-07-18  Bruno Haible  <bruno@clisp.org>
89789
89790         * lib/getndelim2.h: New file.
89791         * lib/getndelim2.c: Make into a module of its own. Include config.h,
89792         getndelim2.h.
89793         (getndelim2): Make non-static. Change return type to ssize_t.
89794         * lib/getline.h: Change argument names.
89795         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
89796         * lib/getnline.c: Include getndelim2.h.
89797
89798 2003-07-18  Andreas Schwab  <schwab@suse.de>
89799
89800         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
89801
89802 2003-07-17  Karl Berry  <karl@gnu.org>
89803
89804         * config/config.sub: update from prep.
89805
89806 2003-07-17  Bruno Haible  <bruno@clisp.org>
89807
89808         * modules/getnline: New file.
89809         * modules/getline: Add lib/getndelim2.c to source file list.
89810         * MODULES.html.sh (func_all_modules): Add getnline.
89811
89812 2003-07-17  Bruno Haible  <bruno@clisp.org>
89813
89814         * m4/getnline.m4: New file.
89815
89816 2003-07-17  Bruno Haible  <bruno@clisp.org>
89817
89818         * m4/Makefile.am.in: Remove file.
89819         * m4/Makefile.am: Remove file.
89820         * m4/Makefile.in: Remove file.
89821
89822 2003-07-17  Bruno Haible  <bruno@clisp.org>
89823
89824         * lib/getnline.h: New file.
89825         * lib/getnline.c: New file.
89826         * lib/getndelim2.c: New file, extracted from getline.c.
89827         (getndelim2): Renamed from getdelim2, with added nmax argument.
89828         * lib/getline.c: Include getndelim2.c.
89829         (getdelim2): Moved out to getndelim2.c.
89830         (getline, getdelim): Update.
89831
89832 2003-07-17  Bruno Haible  <bruno@clisp.org>
89833
89834         * lib/Makefile.am: Remove file.
89835         * lib/Makefile.in: Remove file.
89836
89837 2003-07-17  Bruno Haible  <bruno@clisp.org>
89838
89839         * configure.in: Remove file.
89840         * Makefile.in: Remove file.
89841
89842 2003-07-17  Bruno Haible  <bruno@clisp.org>
89843
89844         * MODULES.html.sh: Put the </BODY> right before </HTML>.
89845
89846 2003-07-16  Karl Berry  <karl@gnu.org>
89847
89848         * config/srclist-update: was running fixlicense twice, which caused
89849                 texinfo.tex to be nullified for some reason.  Simplify,
89850                 $gplsrc is no longer needed as far as I can see?
89851
89852 2003-07-16  Jim Meyering  <jim@meyering.net>
89853
89854         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
89855
89856 2003-07-15  Paul Eggert  <eggert@twinsun.com>
89857
89858         * config/srclist.txt: Get the following files from gettext-runtime/intl
89859         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
89860         ref-del.sin.  From Bruno Haible.
89861         * config/srclist-update (fixfile): Change grep pattern again, since the
89862         previous fix didn't work (there was another trailing $).  Use
89863         '[$]' to escape the $s.
89864
89865 2003-07-15  Karl Berry  <karl@gnu.org>
89866
89867         * lib/vasnprintf.c: update from gettext.
89868
89869 2003-07-15  Karl Berry  <karl@gnu.org>
89870
89871         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
89872         gets expanded when surrounded by '$'.
89873
89874 2003-07-15  Jim Meyering  <jim@meyering.net>
89875
89876         * modules/save-cwd: Don't depend on error.  From Derek Price.
89877
89878 2003-07-15  Jim Meyering  <jim@meyering.net>
89879
89880         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
89881
89882 2003-07-14  Simon Josefsson  <jas@extundo.com>
89883
89884         * modules/mempcpy: New file.
89885         * MODULES.html.sh (func_all_modules): Add mempcpy.
89886
89887 2003-07-14  Simon Josefsson  <jas@extundo.com>
89888
89889         * m4/mempcpy.m4: New file.
89890
89891 2003-07-14  Simon Josefsson  <jas@extundo.com>
89892
89893         * lib/mempcpy.h: New file.
89894         * lib/mempcpy.c: New file.
89895
89896 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89897
89898         * modules/getdate, modules/posixtm: Depend on mktime.
89899
89900 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89901
89902         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
89903         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
89904         unicodeio.c, unicodeio.h, unlocked-io.h:
89905         Switch from LGPL to GPL.
89906
89907 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89908
89909         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
89910         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
89911         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
89912         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
89913         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
89914         updated automatically by ../config/srclist-update.  This changes
89915         their license from LPGL to GPL.
89916
89917 2003-07-14  Paul Eggert  <eggert@twinsun.com>
89918
89919         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
89920         assumed to refer to the root of the most recent stable gettext version.
89921         * config/srclistvars.sh: Add defaults for eggert.
89922         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
89923         Match "This program" as well as "The program".  This is needed
89924         for gettext.
89925
89926 2003-07-14  Jim Meyering  <jim@meyering.net>
89927
89928         Don't emit diagnostics.  Let callers do that.
89929         * lib/save-cwd.c: Don't include "error.h".
89930         (save_cwd): Don't call error.  Ensure that errno is valid
89931         when returning nonzero.
89932
89933         * lib/save-cwd.h (restore_cwd): Update prototype.
89934         * lib/save-cwd.c (restore_cwd): Remove two parameters.
89935         Simplify.  Don't call error upon failure.  Let callers do that.
89936         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
89937         when auditing is enabled.  But don't bother updating the #if.
89938
89939 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
89940
89941         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
89942         it breaks C++ compilation.
89943         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
89944
89945 2003-07-10  Simon Josefsson  <jas@extundo.com>
89946
89947         * modules/strchrnul (Makefile.am): Add strchrnul.h.
89948
89949 2003-07-10  Jim Meyering  <jim@meyering.net>
89950
89951         * m4/clock_time.m4: Remove trailing blank.
89952         * m4/intmax_t.m4: Likewise.
89953
89954 2003-07-10  Jim Meyering  <jim@meyering.net>
89955
89956         * lib/vasnprintf.c: Remove trailing blanks.
89957         Make cpp indentation consistent.
89958
89959 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89960
89961         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
89962         posixver.c, strftime.c, strnlen.c, strverscmp.c:
89963         Switch from LGPL to GPL.
89964
89965 2003-07-09  Paul Eggert  <eggert@twinsun.com>
89966
89967         * config/srclist.txt: Sort sublists.  Add
89968         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
89969         that differ from gnulib for one reason or another; we'd like this list
89970         to be smaller but for now let's document what we have.
89971
89972 2003-07-08  Paul Eggert  <eggert@twinsun.com>
89973
89974         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
89975         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
89976         and sweeter "eval x=$x".
89977         * config/srclist.txt: Get lib/argp* from glibc.
89978
89979 2003-07-07  Paul Eggert  <eggert@twinsun.com>
89980
89981         * lib/mktime.c: Fix some boundary cases and remove need for floating
89982         point.
89983
89984         Issue a compile-time diagnostic if time_t is floating point, or if
89985         two's complement arithmetic is not in effect, or if arithmetic
89986         right shift does not propagate the sign.  These assumptions were
89987         all in the original code but they weren't checked.
89988
89989         (TIME_T_MIDPOINT, verify): New macros.
89990         (__isleap): Remove; it has integer overflow problems.
89991         (leapyear): New function, without those problems.
89992         (ydhms_tm_diff): Remove; splitting into two parts.
89993         (ydhms_diff): New function, containing the arithmetic part of
89994         the old ydhms_tm_diff function.  Issue a compile-time
89995         diagnostic if we are not using C99 integer division.
89996         Avoid casts when possible.
89997         (guess_time_tm): New function, containing the checking part of
89998         the old ydhms_tm_diff function.  Return the new value, rather than
89999         the difference between it and the old.  Accept a new argument T
90000         so that *T specifies the old value.  Check for overflow in the result.
90001
90002         (__mktime_internal): Use a time_t offset, not a long int offset.
90003         This undoes the 2003-06-04 change, which is no longer needed now
90004         that we have better overflow checking.
90005         (localtime_offset): Likewise.
90006
90007         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90008         and long are 64-bit but int is only 32-bit.
90009         (ydhms_diff): Use long int to store year1 and yday1.
90010         Issue a compile-time diagnostic if long int is not wide enough.
90011
90012         (__mktime_internal): Use long int to store adjusted year and yday.
90013         Use plain C rather than preprocessor commands, if that doesn't
90014         affect efficiency.
90015         Check for overflow (and try to repair) after each probe
90016         rather than checking only at the very end.  This avoids some bugs
90017         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90018         does not equal GMT offset at maximum time).
90019         Use integer to check for overflow rather than floating point; this
90020         is more portable to non-IEEE hosts, and is a tad faster.
90021         When we detect that we are oscillating between two values,
90022         don't check whether tm_isdst has the requested value, since
90023         we already know the answer.  When tm_isdst has the wrong value,
90024         use a different heuristic to find the right one, based on the
90025         extreme values actually observed in practice in tz2003a,
90026         rather than the (overly optimistic) "previous 3 calendar quarters".
90027
90028         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90029         "T const" to accommodate glibc style.
90030         (check_result): Use less-confusing report format.  "long" -> "long int.
90031         (main): Likewise.
90032         Don't loop if the iteration overflows time_t.
90033         Allow a negative step in the iteration.
90034
90035 2003-07-06  Karl Berry  <karl@gnu.org>
90036
90037         * config/depcomp: update from automake.
90038         * config/config.sub: update from prep.
90039
90040 2003-07-03  Karl Berry  <karl@gnu.org>
90041
90042         * config/config.guess: update from prep.
90043
90044 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90045
90046         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90047         xreadlink.c now includes it unconditionally.
90048
90049 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90050
90051         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90052         having it depend on HAVE_SYS_TYPES_H.
90053
90054 2003-07-01  Bruno Haible  <bruno@clisp.org>
90055
90056         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90057         <sys/types.h> should be sufficient.
90058         Reported by Paul Eggert.
90059
90060 2003-06-26  Karl Berry  <karl@gnu.org>
90061
90062         * config/depcomp: update from automake.
90063
90064 2003-06-26  Bruno Haible  <bruno@clisp.org>
90065
90066         * modules/human: Depend on module stdbool.
90067
90068 2003-06-25  Bruno Haible  <bruno@clisp.org>
90069
90070         * modules/readlink: New file.
90071         * modules/xreadlink: Depend on it.
90072         * MODULES.html.sh (func_all_modules): Add readlink.
90073
90074 2003-06-25  Bruno Haible  <bruno@clisp.org>
90075
90076         * m4/readlink.m4: New file.
90077
90078 2003-06-25  Bruno Haible  <bruno@clisp.org>
90079
90080         * lib/readlink.c: New file.
90081
90082 2003-06-22  Karl Berry  <karl@gnu.org>
90083
90084         * config/srclist.txt: update mkinstalldirs from automake.
90085         * config/mkinstalldirs: update.
90086
90087 2003-06-22  Bruno Haible  <bruno@clisp.org>
90088
90089         Portability to mingw32.
90090         * m4/ssize_t.m4: New file, from GNU gettext.
90091         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90092         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90093
90094 2003-06-22  Bruno Haible  <bruno@clisp.org>
90095
90096         * modules/safe-read: Add m4/ssize_t.m4.
90097         * modules/xreadlink: Add m4/ssize_t.m4.
90098
90099 2003-06-20  Bruno Haible  <bruno@clisp.org>
90100
90101         Assume C89, so PARAMS isn't needed.
90102         * lib/unicodeio.h (PARAMS): Remove.
90103         * lib/unicodeio.c: Don't use PARAMS.
90104
90105 2003-06-18  Karl Berry  <karl@gnu.org>
90106
90107         * config/config.{guess,sub}: update from prep.
90108
90109 2003-06-18  Jim Meyering  <jim@meyering.net>
90110
90111         Merge changes from coreutils.
90112         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90113         Remove explicit declarations of xmalloc and realloc.
90114         Include xalloc.h.
90115         (read_utmp): Remove anachronistic cast of xmalloc.
90116
90117 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90118
90119         Assume C89, so PARAMS isn't needed.
90120         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90121         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90122         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90123         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90124         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90125         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90126         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90127         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90128         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90129         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90130         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90131         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90132         no longer needed. Anyway, config.h should always be included before any
90133         other file.
90134
90135 2003-06-11  Simon Josefsson  <jas@extundo.com>
90136
90137         * modules/sysexits: New file.
90138         * MODULES.html.sh (func_all_modules): Add sysexits.
90139
90140 2003-06-11  Simon Josefsson  <jas@extundo.com>
90141
90142         * lib/sysexit_.h: New file.
90143
90144 2003-06-11  Derek Price  <derek@ximbiot.com>
90145
90146         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90147         necessary.
90148
90149 2003-06-11  Bruno Haible  <bruno@clisp.org>
90150
90151         * m4/sysexits.m4: New file.
90152
90153 2003-06-10  Simon Josefsson  <jas@extundo.com>
90154
90155         * lib/argp.h: New file, from glibc.
90156         * lib/argp-ba.c: New file, from glibc.
90157         * lib/argp-eexst.c: New file, from glibc.
90158         * lib/argp-fmtstream.c: New file, from glibc.
90159         * lib/argp-fmtstream.h: New file, from glibc.
90160         * lib/argp-fs-xinl.c: New file, from glibc.
90161         * lib/argp-help.c: New file, from glibc.
90162         * lib/argp-namefrob.h: New file, from glibc.
90163         * lib/argp-parse.c: New file, from glibc.
90164         * lib/argp-pv.c: New file, from glibc.
90165         * lib/argp-pvh.c: New file, from glibc.
90166         * lib/argp-xinl.c: New file, from glibc.
90167
90168 2003-06-10  Simon Josefsson  <jas@extundo.com>
90169
90170         * modules/strchrnul: New file.
90171
90172 2003-06-10  Simon Josefsson  <jas@extundo.com>
90173
90174         * modules/argp: New file.
90175
90176 2003-06-10  Simon Josefsson  <jas@extundo.com>
90177
90178         * m4/strchrnul.m4: New file.
90179
90180 2003-06-10  Simon Josefsson  <jas@extundo.com>
90181
90182         * lib/strchrnul.h: New file.
90183         * lib/strchrnul.c: New file.
90184
90185 2003-06-10  Bruno Haible  <bruno@clisp.org>
90186
90187         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
90188
90189 2003-06-07  Karl Berry  <karl@gnu.org>
90190
90191         * config/config.{guess,sub}: update from prep.
90192
90193 2003-06-07  Jim Meyering  <jim@meyering.net>
90194
90195         * modules/strtod: Use $(...) notation, not @...@ for
90196         AC_REPLACE'd variables.
90197         * modules/localcharset: Likewise.
90198
90199 2003-06-07  Jim Meyering  <jim@meyering.net>
90200
90201         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
90202         in place of my name in the copyright comment.
90203         Remove definition and uses of __P.
90204
90205         From coreutils.
90206         * lib/stat.c: Don't declare xmalloc explicitly.
90207         Instead, include "xalloc.h".
90208         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
90209         xrealloc, and xcalloc return values.
90210         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
90211         Improve comment.
90212         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
90213
90214 2003-06-07  Bruno Haible  <bruno@clisp.org>
90215
90216         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
90217         avoid AC_CONFIG_LINKS.
90218         * modules/fnmatch (Makefile.am): Use explicit creation rule for
90219         fnmatch.h, to avoid AC_CONFIG_LINKS.
90220         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
90221
90222 2003-06-07  Bruno Haible  <bruno@clisp.org>
90223
90224         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
90225         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
90226         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90227         directory.
90228         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
90229         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
90230         directory.
90231
90232 2003-06-06  Jim Meyering  <jim@meyering.net>
90233
90234         Merge from coreutils.
90235         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
90236         Consolidate declarations and initializations of *_base* locals.
90237
90238         Merge from coreutils.
90239         This avoids a core dump on systems without GNU putenv,
90240         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
90241         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
90242         (unsetenv): New static function, from GNU libc.
90243         (rpl_putenv): Use it.
90244
90245         * lib/modechange.c: Remove trailing blanks.
90246
90247         Merge from coreutils.
90248         * lib/fsusage.c: Remove declaration of statfs.
90249         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
90250
90251         * lib/posixtm.c: Include <stdbool.h> unconditionally.
90252
90253 2003-06-06  Jim Meyering  <jim@meyering.net>
90254
90255         * lib/stdbool_.h: Renamed from stdbool.h.in.
90256
90257 2003-06-06  Jim Meyering  <jim@meyering.net>
90258             Bruno Haible  <bruno@clisp.org>
90259
90260         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
90261         Adjust Makefile.am snippet not to redirect directly to target.
90262         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
90263
90264 2003-06-05  Paul Eggert  <eggert@twinsun.com>
90265
90266         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
90267         mismatch, look in future quarters as well as past.  This fixes a
90268         bug when processing fall-backwards gaps immediately after a long
90269         period of daylight-saving time.
90270
90271         * lib/mktime.c: Assume freestanding C89 or better.
90272         (HAVE_LIMITS_H): Remove.  Assume it's 1.
90273         (__P): Remove; not used.
90274         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
90275         (mktime, not_equal_tm, print_tm, check_result,
90276         main): Use prototypes.  Use const * where appropriate.
90277         (main): Fix typo in testing code that uncovered by above changes.
90278         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
90279
90280 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90281
90282         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
90283         locale.h, localeconv.  This merges changes from coreutils.
90284
90285         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
90286         It can be removed after the next Autoconf is released.
90287         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
90288         needed.
90289
90290 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90291
90292         * lib/mktime.c: Fix Debian bug 177940
90293         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
90294         (localtime_offset): Now long int, not time_t, because we want it
90295         to be guaranteed to be signed.  All uses changed.
90296         (__mktime_internal): If overflow would occur when adding offset,
90297         don't add it.
90298
90299         Merge 'human' changes from coreutils.  Rewrite to support
90300         locale-specific notations like thousands separators.
90301         * lib/human.c: Simplify authorship notice.
90302         Include human.h immediately after config.h.
90303         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
90304         <limits.h>: Do not include, since human.h does.
90305         (SIZE_MAX, UINTMAX_MAX): New macros.
90306         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
90307         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
90308         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
90309         (power_letter): Renamed from suffixes.
90310         (generate_suffix_backwards): Remove.
90311         (adjust_value): Now takes int style (because of human.h changes)
90312         and long double value (for greater precision on some platforms).
90313         (group_number): New function.
90314         (human_readable): Use it.  Use integer options, not enum.
90315         Put the options before the sizes in the arg list.
90316         Support all the new options.
90317         The old human_readable function has been removed;
90318         use inttostr.h instead.
90319         (human_readable, default_block_size, humblock):
90320         Use uintmax_t, not int, for block sizes.
90321         (human_readable_inexact, block_size_types): Remove.
90322         (block_size_opts): New constant.
90323         (human_options): Renamed from human_block_size, with new signature
90324         that allows block sizes up to UINTMAX_MAX.  All callers changed.
90325         * lib/human.h: Add copyright and authorship notice.
90326         Include <limits.h> and <stdbool.h> unconditionally.
90327         (PARAMS): Remove.  All uses removed.
90328         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
90329         (enum human_inexact_style): Remove tag; now a nameless enum.
90330         (human_floor, human_ceiling, human_round_to_even): Now have
90331         values 2, 0, 1 rather than -1, 1, 0.
90332         (human_group_digits, human_suppress_point_zero, human_autoscale,
90333         human_base_1024, human_SI, human_B): New constants.
90334         (human_readable_inexact, human_block_size): Remove.
90335         (human_readable): Size args are now uintmax_t, not int.
90336         (human_options): New decl.
90337
90338         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
90339         unnecessary now that we assume C89 or better.  This change
90340         imported from coreutils.
90341
90342         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90343         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
90344         in the 2003-05-30 sync from glibc.
90345
90346         .h files should stand alone, but we shouldn't include <sys/types.h>
90347         if we can get away with just <stddef.h>.
90348
90349         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
90350         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
90351         rather than <sys/types.h>, as we merely need size_t.
90352         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
90353         to get size_t.
90354         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
90355         Include <stdio.h>, to get FILE.
90356         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
90357         memcasecmp.h has included <stddef.h> and all we need is size_t.
90358         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
90359         our interface, instead of including <sys/types.h>
90360
90361 2003-06-04  Paul Eggert  <eggert@twinsun.com>
90362
90363         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
90364         now, as glibc mktime is buggy on non-glibc systems.
90365
90366 2003-06-03  Karl Berry  <karl@gnu.org>
90367
90368         * config/config.sub: update from prep.
90369
90370 2003-06-02  Paul Eggert  <eggert@twinsun.com>
90371
90372         [from coreutils]
90373         Fix some minor time-related bugs with POSIX time arguments.
90374         Some valid time stamps were being rejected (notably -1, and
90375         time stamps before 1900 on 64-bit hosts).  And some invalid
90376         time stamps were being accepted, e.g. September 31.
90377
90378         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
90379         that we can return (time_t) -1 successfully.
90380         * lib/posixtm.c: Likewise.
90381         [HAVE_STDBOOL_H]: Include <stdbool.h>.
90382         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
90383         (t): Remove static var.
90384         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
90385         of static var.  All uses changed.
90386         (year): Do not reject years before 1900; they can occur with
90387         64-bit time_t.
90388         (posix_time_parse): Do not check for out-of-range components;
90389         that is now the caller's responsibility, since our checks were
90390         only approximations.
90391         (posixtime): Use mktime to check for out-of-range components,
90392         since it knows them exactly.
90393         If mktime returns (time_t) -1, check whether an error actually occurred
90394         by invoking localtime on -1.
90395         (main) [TEST_POSIXTIME]: Check for input data errors, and report
90396         posixtime failures better.
90397         Improve the test data (in comments only).
90398
90399 2003-06-02  Karl Berry  <karl@gnu.org>
90400
90401         * config/mkinstalldirs (version): new variable.
90402         (--version): new option.
90403         (usage): improve message.
90404
90405 2003-05-30  Karl Berry  <karl@gnu.org>
90406
90407         * lib/mktime.c: update from libc.
90408
90409 2003-05-30  Bruno Haible  <bruno@clisp.org>
90410
90411         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
90412         * config/config.rpath: Upgrade to gettext-0.12.1.
90413
90414 2003-05-30  Bruno Haible  <bruno@clisp.org>
90415
90416         * m4/gettext.m4: Upgrade to gettext-0.12.1.
90417         * m4/nls.m4: New file, from gettext-0.12.1.
90418         * m4/po.m4: New file, from gettext-0.12.1.
90419         * m4/progtest.m4: Upgrade to gettext-0.12.1.
90420
90421 2003-05-30  Bruno Haible  <bruno@clisp.org>
90422
90423         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
90424         * lib/localcharset.h: Likewise.
90425         * lib/localcharset.c: Likewise.
90426
90427 2003-05-29  Karl Berry  <karl@gnu.org>
90428
90429         * config/config.rpath: update from gettext.
90430
90431 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90432
90433         Assume the headers required for C89 freestanding compilers.
90434         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
90435         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
90436         * m4/human.m4 (gl_HUMAN): Likewise.
90437         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
90438         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
90439         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90440         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
90441         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90442         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
90443
90444 2003-05-28  Paul Eggert  <eggert@twinsun.com>
90445
90446         Assume the headers required for C89 freestanding compilers.
90447         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
90448         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
90449         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
90450         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
90451         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
90452         define, since <limits.h> is guaranteed to do that.
90453         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
90454         * lib/exclude.c: Include <stdbool.h> unconditionally.
90455         * lib/tempname.c: Include <stddef.h> unconditionally.
90456         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
90457         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
90458         <stddef.h> does that.
90459         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
90460         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
90461         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
90462         needed.
90463         * lib/xstrtol.c: Likewise.
90464         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
90465         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
90466
90467         * lib/addext.c (addext): Use assignment rather than cast, to avoid
90468         warnings on some platforms.
90469
90470         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
90471         arbitrarily.
90472
90473 2003-05-26  Jim Meyering  <jim@meyering.net>
90474
90475         Merge in a change from coreutils:
90476         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
90477         that is guaranteed to be `no'.  Use `no_such_member' to indicate
90478         that condition, rather than `-1' which is slightly misleading.
90479         Change the name of the cache variable to have the gl_ prefix.
90480         Prompted by a patch from Richard Dawe for DJGPP.
90481
90482 2003-05-24  Karl Berry  <karl@gnu.org>
90483
90484         * config/config.guess: update from prep.
90485
90486 2003-05-22  Karl Berry  <karl@gnu.org>
90487
90488         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
90489
90490 2003-05-20  Karl Berry  <karl@gnu.org>
90491
90492         * config/config.guess: update from prep.
90493
90494 2003-05-18  Karl Berry  <karl@gnu.org>
90495
90496         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
90497         might actually be set by the user.
90498
90499         * config/depcomp, install-sh, mdate-sh: update from automake.
90500
90501 2003-05-17  Bruno Haible  <bruno@clisp.org>
90502
90503         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
90504         invalid expansion for AC_EGREP_CPP.
90505         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
90506         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
90507         Suggested by Akim Demaille <akim@epita.fr> in
90508         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
90509
90510 2003-05-12  Jim Meyering  <jim@meyering.net>
90511
90512         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
90513         the space-padded-by-default conversion specifiers, %e, %k, %l.
90514
90515 2003-05-12  Bruno Haible  <bruno@clisp.org>
90516
90517         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
90518         the string is longer than 4 KB.
90519
90520 2003-05-11  Karl Berry  <karl@gnu.org>
90521
90522         * config/config.{guess,sub}: update from prep.
90523
90524 2003-05-09  Bruno Haible  <bruno@clisp.org>
90525
90526         * modules/error: Add m4/strerror_r.m4 to file list.
90527
90528 2003-05-03  Bruno Haible  <bruno@clisp.org>
90529
90530         Upgrade to Unicode-4.0.
90531         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
90532         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
90533         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
90534         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
90535         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
90536         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
90537         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
90538         Change width of U+E0100..U+E01EF from 1 to 0.
90539
90540 2003-04-25  Jim Meyering  <jim@meyering.net>
90541
90542         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
90543         of type size_t, not int.
90544
90545 2003-04-25  Bruno Haible  <bruno@clisp.org>
90546
90547         * lib/copy-file.c: Include <stddef.h>, for size_t.
90548
90549 2003-04-21  Paul Eggert  <eggert@twinsun.com>
90550
90551         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
90552         code which expansion is under static control.  Patch imported from
90553         Akim Demaille's patch to Bison; see
90554         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
90555
90556 2003-04-14  Bruno Haible  <bruno@clisp.org>
90557
90558         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
90559
90560 2003-04-11  Jim Meyering  <jim@meyering.net>
90561
90562         Merge changes from Coreutils.
90563
90564         2003-03-22  Jim Meyering  <jim@meyering.net>
90565
90566         * lib/strftime.c (widen): Cast alloca return value to proper type.
90567
90568         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
90569
90570         From GNU libc.
90571         * lib/strftime.c (my_strftime): Handle very large width
90572         specifications for numeric values correctly.  Improve checks for
90573         overflow.
90574
90575         2003-01-19  Jim Meyering  <jim@meyering.net>
90576
90577         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
90578         definitions.
90579         (nl_get_alt_digit) [! defined my_strftime]: Define.
90580         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
90581         _nl_get_alt_digit and _nl_get_walt_digit.
90582
90583         * lib/strftime.c (my_strftime): Merge in locale-related changes from
90584         libc. These changes have no effect outside of _LIBC.
90585
90586 2003-04-10  Bruno Haible  <bruno@clisp.org>
90587
90588         * modules/findprog: New file.
90589         * MODULES.html.sh (func_all_modules): Add it.
90590
90591 2003-04-10  Bruno Haible  <bruno@clisp.org>
90592
90593         * m4/findprog.m4: New file.
90594         * m4/eaccess.m4: New file.
90595
90596 2003-04-10  Bruno Haible  <bruno@clisp.org>
90597
90598         * lib/findprog.h: New file, from GNU gettext.
90599         * lib/findprog.c: New file, from GNU gettext.
90600
90601 2003-04-05  Jim Meyering  <jim@meyering.net>
90602
90603         Merge changes from Coreutils.
90604
90605         * lib/exclude.h (PARAMS): Remove definition and uses.
90606         * lib/exclude.c: Remove uses of `PARAMS'.
90607
90608         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
90609         Add test-cases for DOS filenames. Declare program_name.
90610         (main): Set up program_name.  Patch by Rich Dawe.
90611
90612         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90613         error from mntctl.
90614         Use mntctl's return value to drive the entry-processing loop, since
90615         we can't rely on the value of the vmt_length member in the last
90616         entry.  On some systems doing so could result in exhausting
90617         virtual memory.  Based in part on a patch from Mike Jetzer.
90618
90619 2003-04-04  Bruno Haible  <bruno@clisp.org>
90620
90621         * modules/linebreak: New file.
90622         * MODULES.html.sh (func_all_modules): Add it.
90623
90624 2003-04-04  Bruno Haible  <bruno@clisp.org>
90625
90626         * m4/linebreak.m4: New file.
90627
90628 2003-04-04  Bruno Haible  <bruno@clisp.org>
90629
90630         * lib/linebreak.h: New file, from GNU gettext.
90631         * lib/linebreak.c: New file, from GNU gettext with slight
90632         modifications.
90633         * lib/lbrkprop.h: New file, from GNU gettext.
90634
90635 2003-04-03  Bruno Haible  <bruno@clisp.org>
90636
90637         * modules/utf8-ucs4: New file.
90638         * modules/utf16-ucs4: New file.
90639         * modules/ucs4-utf8: New file.
90640         * modules/ucs4-utf16: New file.
90641         * MODULES.html.sh (func_all_modules): Add them.
90642
90643 2003-04-03  Bruno Haible  <bruno@clisp.org>
90644
90645         * m4/utf-ucs4.m4: New file.
90646         * m4/ucs4-utf.m4: New file.
90647
90648 2003-04-03  Bruno Haible  <bruno@clisp.org>
90649
90650         * lib/utf8-ucs4.h: New file, from GNU gettext.
90651         * lib/utf16-ucs4.h: New file, from GNU gettext.
90652         * lib/ucs4-utf8.h: New file, from GNU gettext.
90653         * lib/ucs4-utf16.h: New file, from GNU gettext.
90654
90655 2003-04-02  Bruno Haible  <bruno@clisp.org>
90656
90657         * modules/binary-io: New file.
90658         * MODULES.html.sh (func_all_modules): Add it.
90659
90660 2003-04-02  Bruno Haible  <bruno@clisp.org>
90661
90662         * lib/binary-io.h: New file, from GNU gettext.
90663
90664 2003-04-01  Bruno Haible  <bruno@clisp.org>
90665
90666         * modules/pathname: New file.
90667         * MODULES.html.sh (func_all_modules): Add it.
90668
90669 2003-04-01  Bruno Haible  <bruno@clisp.org>
90670
90671         * lib/pathname.h: New file, from GNU gettext.
90672         * lib/concatpath.c: New file, from GNU gettext.
90673
90674 2003-03-30  Bruno Haible  <bruno@clisp.org>
90675
90676         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
90677
90678 2003-03-30  Bruno Haible  <bruno@clisp.org>
90679
90680         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
90681         function chown() doesn't exist.
90682
90683 2003-03-28  Bruno Haible  <bruno@clisp.org>
90684
90685         * modules/copy-file: New file.
90686         * MODULES.html.sh (func_all_modules): Add it.
90687
90688 2003-03-28  Bruno Haible  <bruno@clisp.org>
90689
90690         * m4/copy-file.m4: New file.
90691
90692 2003-03-28  Bruno Haible  <bruno@clisp.org>
90693
90694         * lib/copy-file.h: New file, from GNU gettext.
90695         * lib/copy-file.c: New file, from GNU gettext.
90696
90697 2003-03-18  Jim Meyering  <jim@meyering.net>
90698
90699         * lib/quote.c (quote_n): Fix typo in comment.
90700
90701 2003-03-18  Bruno Haible  <bruno@clisp.org>
90702
90703         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
90704         checking.
90705         * m4/onceonly_2_57.m4: Likewise.
90706
90707 2003-03-17  Bruno Haible  <bruno@clisp.org>
90708
90709         * m4/onceonly.m4: Require autoconf 2.54 or newer.
90710         (m4_quote): Remove macro.
90711         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
90712
90713 2003-03-14  Jim Meyering  <jim@meyering.net>
90714
90715         Merge changes from Coreutils.
90716         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
90717         to be const, in order to avoid warnings.
90718         (obstack_room): Likewise.
90719         (obstack_empty_p): Likewise.
90720
90721 2003-03-14  Bruno Haible  <bruno@clisp.org>
90722
90723         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
90724         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
90725
90726 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90727
90728         Merge changes from Bison.
90729         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
90730         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
90731         when compiling Bison 1.875's `bitset bset = obstack_alloc
90732         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
90733         * lib/hash.c: Include <stdbool.h> unconditionally.
90734
90735 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90736
90737         * m4/onceonly.m4 (m4_quote): New macro.
90738         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
90739         Quote AC_FOREACH variable-expansions properly.
90740
90741 2003-03-13  Paul Eggert  <eggert@twinsun.com>
90742
90743         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
90744
90745 2003-03-09  Paul Eggert  <eggert@twinsun.com>
90746
90747         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
90748         Reported by Bruce Becker; see:
90749         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
90750
90751 2003-03-03  Paul Eggert  <eggert@twinsun.com>
90752             Bruno Haible  <bruno@clisp.org>
90753
90754         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
90755         Reported by John Hughes, see
90756         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
90757
90758 2003-02-20  Bruno Haible  <bruno@clisp.org>
90759
90760         * MODULES.html.sh (func_all_modules): Add poll.
90761
90762 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90763
90764         * modules/poll: New file.
90765
90766 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90767
90768         * lib/poll_.h: New file.
90769         * lib/poll.c: New file.
90770
90771 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
90772
90773         * m4/poll.m4: New file.
90774
90775 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90776
90777         * modules/mathl: New file.
90778
90779 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90780
90781         * lib/mathl.h: New file.
90782         * lib/acosl.c: New file.
90783         * lib/asinl.c: New file.
90784         * lib/atanl.c: New file.
90785         * lib/ceill.c: New file.
90786         * lib/cosl.c: New file.
90787         * lib/expl.c: New file.
90788         * lib/floorl.c: New file.
90789         * lib/frexpl.c: New file.
90790         * lib/ldexpl.c: New file.
90791         * lib/logl.c: New file.
90792         * lib/sincosl.c: New file.
90793         * lib/sinl.c: New file.
90794         * lib/sqrtl.c: New file.
90795         * lib/tanl.c: New file.
90796         * lib/trigl.c: New file.
90797         * lib/trigl.h: New file.
90798
90799 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
90800
90801         * m4/mathl.m4: New file.
90802
90803 2003-02-18  Bruno Haible  <bruno@clisp.org>
90804
90805         * MODULES.html.sh (func_all_modules): Add mathl.
90806
90807 2003-02-17  Bruno Haible  <bruno@clisp.org>
90808
90809         * modules/mkdtemp: New module.
90810         * MODULES.html.sh (func_all_modules): Add it.
90811
90812 2003-02-17  Bruno Haible  <bruno@clisp.org>
90813
90814         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
90815
90816 2003-02-17  Bruno Haible  <bruno@clisp.org>
90817
90818         * lib/mkdtemp.h: New file, from GNU gettext.
90819         * lib/mkdtemp.c: New file, from GNU gettext.
90820
90821 2003-02-02  Jim Meyering  <jim@meyering.net>
90822
90823         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
90824         e.g. glibc-2.2.93.
90825
90826 2003-01-31  Bruno Haible  <bruno@clisp.org>
90827
90828         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
90829         'rpl_rename'.
90830         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
90831         'rpl_strnlen'.
90832         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
90833         'rpl_strtod'.
90834         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
90835         'rpl_utime'.
90836
90837 2003-01-31  Bruno Haible  <bruno@clisp.org>
90838
90839         * lib/rename.c: #undef rename before defining rpl_rename.
90840         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
90841
90842 2003-01-30  Bruno Haible  <bruno@clisp.org>
90843
90844         * modules/vasnprintf, modules/vasprintf: New modules.
90845         * MODULES.html.sh (func_all_modules): Add them.
90846
90847 2003-01-30  Bruno Haible  <bruno@clisp.org>
90848
90849         * m4/signed.m4: New file, from GNU gettext.
90850         * m4/longdouble.m4: New file, from GNU gettext.
90851         * m4/wchar_t.m4: New file, from GNU gettext.
90852         * m4/wint_t.m4: New file, from GNU gettext.
90853         * m4/vasnprintf.m4: New file.
90854         * m4/vasprintf.m4: New file.
90855
90856 2003-01-30  Bruno Haible  <bruno@clisp.org>
90857
90858         * lib/printf-args.h: New file, from GNU gettext.
90859         * lib/printf-args.c: New file, from GNU gettext.
90860         * lib/printf-parse.h: New file, from GNU gettext.
90861         * lib/printf-parse.c: New file, from GNU gettext.
90862         * lib/vasnprintf.h: New file, from GNU gettext.
90863         * lib/vasnprintf.c: New file, from GNU gettext.
90864         * lib/asnprintf.c: New file, from GNU gettext.
90865         * lib/vasprintf.h: New file, from GNU gettext with modifications.
90866         * lib/vasprintf.c: New file, from GNU gettext.
90867         * lib/asprintf.c: New file, from GNU gettext.
90868
90869 2003-01-29  Bruno Haible  <bruno@clisp.org>
90870
90871         * modules/stpncpy: New module.
90872         * MODULES.html.sh (func_all_modules): Add it.
90873
90874 2003-01-29  Bruno Haible  <bruno@clisp.org>
90875
90876         * m4/stpncpy.m4: New file.
90877
90878 2003-01-29  Bruno Haible  <bruno@clisp.org>
90879
90880         * lib/stpncpy.h: New file, from GNU gettext with modifications.
90881         * lib/stpncpy.c: New file, from GNU gettext with modifications.
90882
90883 2003-01-28  Bruno Haible  <bruno@clisp.org>
90884
90885         * modules/c-ctype: New module.
90886         * MODULES.html.sh (func_all_modules): Add it.
90887
90888 2003-01-28  Bruno Haible  <bruno@clisp.org>
90889
90890         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
90891         Paul Eggert.
90892         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
90893         Paul Eggert.
90894
90895 2003-01-27  Bruno Haible  <bruno@clisp.org>
90896
90897         * modules/xsetenv: New module.
90898         * MODULES.html.sh (func_all_modules): Add it.
90899
90900 2003-01-27  Bruno Haible  <bruno@clisp.org>
90901
90902         * lib/xsetenv.h: New file, from GNU gettext.
90903         * lib/xsetenv.c: New file, from GNU gettext.
90904
90905 2003-01-23  Jim Meyering  <jim@meyering.net>
90906
90907         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
90908         from working on systems without dirfd (at least Irix and OSF1/Tru64).
90909
90910 2003-01-23  Bruno Haible  <bruno@clisp.org>
90911
90912         * modules/minmax: New module.
90913         * MODULES.html.sh (func_all_modules): Add it.
90914
90915 2003-01-23  Bruno Haible  <bruno@clisp.org>
90916
90917         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
90918         Eggert.
90919
90920 2003-01-22  Bruno Haible  <bruno@clisp.org>
90921
90922         * modules/exit: New module.
90923         * MODULES.html.sh (func_all_modules): Add it.
90924
90925 2003-01-22  Bruno Haible  <bruno@clisp.org>
90926
90927         * lib/exit.h: New file, from GNU gettext.
90928
90929 2003-01-19  Bruno Haible  <bruno@clisp.org>
90930
90931         * gnulib-tool: Recognize option --extract-maintainer.
90932         (func_get_maintainer): New function.
90933         * modules/*: Add Maintainer entry.
90934
90935 2003-01-16  Jim Meyering  <jim@meyering.net>
90936
90937         * m4/regex.m4: The `regex' struct is both input and output.
90938         Initialize it before each use.  Patch by Tim Waugh.
90939
90940 2003-01-16  Bruno Haible  <bruno@clisp.org>
90941
90942         * MODULES.html.sh: Add a table of contents. Add the module name as
90943         leftmost column. Add hyperlinks.
90944
90945 2003-01-15  Bruno Haible  <bruno@clisp.org>
90946
90947         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
90948
90949 2003-01-15  Bruno Haible  <bruno@clisp.org>
90950
90951         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
90952         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
90953         suffix.
90954
90955 2003-01-15  Bruno Haible  <bruno@clisp.org>
90956
90957         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
90958
90959 2003-01-15  Bruno Haible  <bruno@clisp.org>
90960
90961         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
90962         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
90963
90964 2003-01-14  Jim Meyering  <jim@meyering.net>
90965
90966         * lib/same.c (same_name): Tweak a comment.
90967
90968 2003-01-14  Bruno Haible  <bruno@clisp.org>
90969
90970         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
90971         when a string comparison is sufficient.
90972
90973 2003-01-14  Bruno Haible  <bruno@clisp.org>
90974
90975         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
90976         'unsigned int'.
90977
90978 2003-01-14  Bruno Haible  <bruno@clisp.org>
90979
90980         * lib/hash-pjw.c: Add comment about low quality of this function.
90981
90982 2003-01-13  Bruno Haible  <bruno@clisp.org>
90983
90984         * modules/stpcpy: Distribute lib/stpcpy.h.
90985         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
90986
90987 2003-01-13  Bruno Haible  <bruno@clisp.org>
90988
90989         * modules/*: Add a description.
90990         * modules/strpbrk: Fix Makefile.am snippet.
90991         * modules/strtoimax: Fix dependencies.
90992         * modules/strtoumax: Likewise.
90993
90994 2003-01-13  Bruno Haible  <bruno@clisp.org>
90995
90996         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
90997         * modules/alloca (Makefile.am): All object files depend on alloca.h.
90998         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
90999
91000 2003-01-13  Bruno Haible  <bruno@clisp.org>
91001
91002         * gnulib-tool (func_create_testdir): Store config/* files in the main
91003         directory.
91004         * config.rpath: Move to ...
91005         * config/config.rpath: ... here.
91006         * modules/gettext: Contains config/config.rpath, not config.rpath.
91007         * modules/iconv: Likewise.
91008
91009 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91010
91011         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91012         to avoid collisions with libcurses and libreadline.
91013
91014         * m4/getstr.m4: Remove.
91015         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91016
91017 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91018
91019         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91020         to avoid collisions with libcurses and libreadline.
91021
91022         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91023         * lib/getstr.h, getstr.c: Remove.
91024         * lib/getline.c: Include "getline.h", to check interface.
91025         Move body of old getstr.c here: this defines MIN_CHUNK and
91026         declares getdelim2, which is renamed from getstr.
91027         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91028
91029         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91030         All uses changed.
91031         * lib/linebuffer.h: Likewise.
91032         (readline): Remove backward-compatibility macro.
91033
91034 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91035
91036         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91037         to avoid collisions with libcurses and libreadline.
91038         * getstr: Remove.
91039         * MODULES.html.sh: Remove getstr.
91040         * modules/getline: Depend on unlocked-io, not getstr.
91041
91042 2003-01-12  Jim Meyering  <jim@meyering.net>
91043
91044         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91045
91046 2003-01-10  Bruno Haible  <bruno@clisp.org>
91047
91048         * modules/alloca: Change Makefile.am requirements. Simplify Include
91049         requirements. Add lib/alloca_.h to file list.
91050
91051 2003-01-10  Bruno Haible  <bruno@clisp.org>
91052
91053         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91054
91055 2003-01-10  Bruno Haible  <bruno@clisp.org>
91056
91057         * lib/alloca_.h: New file.
91058         * lib/getdate.y: Unconditionally include alloca.h.
91059         * lib/makepath.c: Likewise.
91060         * lib/setenv.c: Likewise.
91061         * lib/userspec.c: Likewise.
91062
91063 2003-01-09  Karl Berry  <karl@gnu.org>
91064
91065         * MODULES.html.sh: include `dirname $0` in PATH, to find
91066         gnulib-tool.
91067
91068 2003-01-09  Bruno Haible  <bruno@clisp.org>
91069
91070         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91071         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91072
91073 2003-01-09  Bruno Haible  <bruno@clisp.org>
91074
91075         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91076
91077 2003-01-09  Bruno Haible  <bruno@clisp.org>
91078
91079         * lib/stdbool.h.in: New file.
91080
91081 2003-01-09  Bruno Haible  <bruno@clisp.org>
91082
91083         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91084         * MODULES.html.sh: Likewise.
91085
91086 2003-01-08  Jim Meyering  <jim@meyering.net>
91087
91088         * lib/full-write.c: Undefine and define-away `const' after inclusion
91089         of errno.h, not before.  Suggestion from Bruno Haible.
91090
91091 2003-01-08  Bruno Haible  <bruno@clisp.org>
91092
91093         * modules/full-read: Depend on full-write.
91094
91095 2003-01-08  Bruno Haible  <bruno@clisp.org>
91096
91097         * lib/safe-read.c: Include specification header first, to ensure its
91098         selfcontainedness.
91099         * lib/full-write.c: Likewise.
91100
91101 2003-01-07  Jim Meyering  <jim@meyering.net>
91102
91103         * lib/full-write.c: Rework so that it may serve to define full_read,
91104         too.
91105         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91106
91107 2003-01-07  Bruno Haible  <bruno@clisp.org>
91108
91109         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91110         <inttypes.h>.
91111         * lib/xstrtol.h: Likewise.
91112         * lib/xstrtoimax.c: Likewise.
91113         * lib/xstrtoumax.c: Likewise.
91114         * lib/human.h: Likewise.
91115
91116         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91117         on systems that have <inttypes.h> but not <stdint.h>.
91118
91119 2003-01-07  Bruno Haible  <bruno@clisp.org>
91120
91121         * MODULES.html.sh: Add copyright notice.
91122         (missed_files): Omit CVS directory entries.
91123         (func_module): Make it work with sed-3.02.
91124         * MODULES.txt: Remove file.
91125
91126 2003-01-06  Jim Meyering  <jim@meyering.net>
91127
91128         * lib/version-etc.c: Update year in translatable copyright string.
91129
91130 2003-01-03  Karl Berry  <karl@gnu.org>
91131
91132         * config/config.{guess,sub}: update from prep.
91133
91134 2003-01-02  Karl Berry  <karl@gnu.org>
91135
91136         * doc/COPYING.DOC: belatedly updated to 1.2.
91137
91138 2003-01-01  Karl Berry  <karl@gnu.org>
91139
91140         * gnulib-tool (func_verify_module): report module name $module in
91141         error message, not $1.
91142         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91143         be created, only if it doesn't exist.
91144         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91145
91146 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91147
91148         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91149
91150 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91151
91152         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91153         memcmp if strcoll doesn't work.
91154
91155 2002-12-31  Bruno Haible  <bruno@clisp.org>
91156
91157         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91158         nonempty.
91159
91160 2002-12-31  Bruno Haible  <bruno@clisp.org>
91161
91162         * lib/memcoll.c (STRCOLL): New macro.
91163         (memcoll): Use it.
91164
91165 2002-12-31  Bruno Haible  <bruno@clisp.org>
91166
91167         * lib/localcharset.h: New file.
91168         * lib/localcharset.c: Include it.
91169         * lib/unicodeio.c: Likewise.
91170
91171 2002-12-31  Bruno Haible  <bruno@clisp.org>
91172
91173         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
91174         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
91175
91176 2002-12-31  Bruno Haible  <bruno@clisp.org>
91177
91178         * lib/getline.h: Include <stddef.h>, for size_t.
91179
91180         * lib/unicodeio.h: Include <stddef.h>, for size_t.
91181         * lib/unicodeio.c: Don't include <stddef.h>.
91182
91183 2002-12-31  Bruno Haible  <bruno@clisp.org>
91184
91185         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
91186         HAVE_TM_ZONE.
91187
91188 2002-12-24  Karl Berry  <karl@gnu.org>
91189
91190         * config/config.guess: update from prep.
91191
91192 2002-12-24  Bruno Haible  <bruno@clisp.org>
91193
91194         General infrasructure.
91195         * m4/README: Rewritten.
91196         * m4/onceonly.m4: New file.
91197         * m4/onceonly_2_57.m4: New file.
91198
91199         Module atexit.
91200         * m4/atexit.m4: New file.
91201
91202         Module strtod.
91203         * m4/strtod.m4: New file.
91204
91205         Module strtol.
91206         * m4/strtol.m4: New file.
91207
91208         Module strtoul.
91209         * m4/strtoul.m4: New file.
91210
91211         Module memchr.
91212         * m4/memchr.m4: New file.
91213
91214         Module memcmp.
91215         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
91216         (jm_FUNC_MEMCMP): Invoke it.
91217
91218         Module memcpy.
91219         * m4/memcpy.m4: New file.
91220
91221         Module memmove.
91222         * m4/memmove.m4: New file.
91223
91224         Module memset.
91225         * m4/memset.m4: New file.
91226
91227         Module strcspn.
91228         * m4/strcspn.m4: New file.
91229
91230         Module strpbrk.
91231         * m4/strpbrk.m4: New file.
91232
91233         Module strstr.
91234         * m4/strstr.m4: New file.
91235
91236         Module strerror.
91237         * m4/strerror.m4: New file.
91238
91239         Module mktime.
91240         * m4/mktime.m4: Renamed from jm-mktime.m4.
91241         (gl_PREREQ_MKTIME): New macro.
91242         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
91243
91244         Module malloc.
91245         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
91246         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
91247         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
91248
91249         Module realloc.
91250         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
91251         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
91252         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
91253
91254         Module strftime.
91255         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
91256         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
91257         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
91258         gl_TM_GMTOFF.
91259         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
91260
91261         Module xalloc.
91262         * m4/xalloc.m4: New file.
91263
91264         Module alloca.
91265         * m4/alloca.m4: New file.
91266
91267         Module putenv.
91268         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
91269         (jm_FUNC_PUTENV): Invoke it.
91270
91271         Module setenv.
91272         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
91273         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
91274         when invoked twice.
91275         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
91276         gt_FUNC_SETENV.
91277
91278         Module memrchr.
91279         * m4/memrchr.m4: New file.
91280
91281         Module stpcpy.
91282         * m4/stpcpy.m4: New file.
91283
91284         Module strcase.
91285         * m4/strcase.m4: New file.
91286
91287         Module strdup.
91288         * m4/strdup.m4: New file.
91289
91290         Module strnlen.
91291         * m4/strnlen.m4: New file.
91292
91293         Module strndup.
91294         * m4/strndup.m4: New file.
91295
91296         Module xstrtod.
91297         * m4/xstrtod.m4: New file.
91298
91299         Module xstrtol.
91300         * m4/xstrtol.m4: New file.
91301
91302         Module getdate.
91303         * m4/getdate.m4: New file.
91304
91305         Module unlocked-io.
91306         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
91307         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
91308         * m4/jm-glibc-io.m4n: Remove file.
91309
91310         Module long-options.
91311         * m4/long-options.m4: New file.
91312
91313         Module md5.
91314         * m4/md5.m4: New file.
91315
91316         Module sha.
91317         * m4/sha.m4: New file.
91318
91319         Module getstr.
91320         * m4/getstr.m4: New file.
91321
91322         Module getline.
91323         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
91324         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
91325         <sys/types.h>, for size_t. Use the function name gnu_getline, not
91326         simply getline. Infoke gl_PREREQ_GETLINE.
91327
91328         Module obstack.
91329         * m4/obstack.m4: New file.
91330
91331         Module hash.
91332         * m4/hash.m4: New file.
91333
91334         Module readtokens.
91335         * m4/readtokens.m4: New file.
91336
91337         Module strverscmp.
91338         * m4/strverscmp.m4: New file.
91339
91340         Module stdbool.
91341         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
91342         OSF/1.
91343
91344         Module strtoll.
91345         * m4/strtoll.m4: New file.
91346
91347         Module strtoull.
91348         * m4/strtoull.m4: New file.
91349
91350         Module strtoimax.
91351         * m4/strtoimax.m4: New file.
91352
91353         Module strtoumax.
91354         * m4/strtoumax.m4: New file.
91355
91356         Module xstrtoimax.
91357         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
91358         jm_AC_PREREQ_XSTRTOIMAX.
91359         Moved the strtol prerequisites to strtol.m4.
91360         Moved the strtoll prerequisites to strtoll.m4.
91361         Moved the strtoimax prerequisites to strtoimax.m4.
91362
91363         Module xstrtoumax.
91364         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
91365         jm_AC_PREREQ_XSTRTOUMAX.
91366         Moved the strtoul prerequisites to strtoul.m4.
91367         Moved the strtoull prerequisites to strtoull.m4.
91368         Moved the strtoumax prerequisites to strtoumax.m4.
91369
91370         Module chown.
91371         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
91372         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
91373
91374         Module dup2.
91375         * m4/dup2.m4: New file.
91376
91377         Module ftruncate.
91378         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
91379         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
91380
91381         Module getgroups.
91382         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
91383         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
91384
91385         Module gettimeofday.
91386         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
91387         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
91388         gl_PREREQ_GETTIMEOFDAY.
91389
91390         Module mkdir.
91391         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
91392         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
91393
91394         Module mkstemp.
91395         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
91396         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
91397         jm_AC_TYPE_UINTMAX_T.
91398         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
91399
91400         Module stat.
91401         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
91402         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
91403
91404         Module lstat.
91405         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
91406         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
91407
91408         Module timespec.
91409         * m4/timespec.m4 (gl_TIMESPEC): New macro.
91410         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
91411         * m4/st_mtim.m4: Indentation.
91412
91413         Module nanosleep.
91414         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
91415         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
91416         gl_PREREQ_NANOSLEEP.
91417
91418         Module regex.
91419         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
91420         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
91421         (gl_REGEX): New macro.
91422
91423         Module rename.
91424         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
91425         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
91426
91427         Module rmdir.
91428         * m4/rmdir.m4: New file.
91429
91430         Module utime.
91431         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
91432         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
91433         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
91434
91435         Module dirname.
91436         * m4/dirname.m4: New file.
91437
91438         Module getopt.
91439         * m4/getopt.m4: New file.
91440
91441         Module unistd-safer.
91442         * m4/unistd-safer.m4: New file.
91443
91444         Module fnmatch.
91445         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
91446         declaration.
91447         (gl_PREREQ_FNMATCH_EXTRA): New macro.
91448         (gl_FUNC_FNMATCH_POSIX): New macro.
91449         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
91450         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
91451         simply fnmatch.
91452
91453         Module exclude.
91454         * m4/exclude.m4: New file.
91455
91456         Module human.
91457         * m4/human.m4: New file.
91458
91459         Module acl.
91460         * m4/acl.m4: Nop.
91461
91462         Module backupfile.
91463         * m4/backupfile.m4: New file.
91464         * m4/d-ino.m4: Indentation.
91465
91466         Module fsusage.
91467         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
91468         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
91469         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
91470
91471         Module dirfd.
91472         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
91473         requirements.
91474
91475         Module euidaccess.
91476         * m4/euidaccess.m4: New file.
91477
91478         Module file-type.
91479         * m4/file-type.m4: New file.
91480
91481         Module fileblocks.
91482         * m4/fileblocks.m4: New file.
91483
91484         Module filemode.
91485         * m4/filemode.m4: New file.
91486
91487         Module isdir.
91488         * m4/isdir.m4: New file.
91489
91490         Module lchown.
91491         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
91492         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
91493
91494         Module makepath.
91495         * m4/makepath.m4: New file.
91496
91497         Module modechange.
91498         * m4/modechange.m4: New file.
91499
91500         Module mountlist.
91501         * m4/mountlist.m4: New file.
91502         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
91503         Indentation.
91504
91505         Module path-concat.
91506         * m4/path-concat.m4: New file.
91507
91508         Module pathmax.
91509         * m4/pathmax.m4: New file.
91510
91511         Module same.
91512         * m4/same.m4: New file.
91513
91514         Module save-cwd.
91515         * m4/save-cwd.m4: New file.
91516
91517         Module savedir.
91518         * m4/savedir.m4: New file.
91519
91520         Module xgetcwd.
91521         * m4/xgetcwd.m4: New file.
91522         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
91523
91524         Module xreadlink.
91525         * m4/xreadlink.m4: New file.
91526
91527         Module safe-read.
91528         * m4/safe-read.m4: New file.
91529
91530         Module safe-write.
91531         * m4/safe-write.m4: New file.
91532
91533         Module closeout.
91534         * m4/closeout.m4: New file.
91535
91536         Module stdio-safer.
91537         * m4/stdio-safer.m4: New file.
91538
91539         Module getpass.
91540         * m4/getpass.m4: New file.
91541
91542         Module getugroups.
91543         * m4/getugroups.m4: New file.
91544
91545         Module group-member.
91546         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
91547         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
91548
91549         Module idcache.
91550         * m4/idcache.m4: New file.
91551
91552         Module userspec.
91553         * m4/userspec.m4: New file.
91554
91555         Module gettime.
91556         * m4/clock_time.m4: New file.
91557         * m4/gettime.m4: New file.
91558
91559         Module settime.
91560         * m4/settime.m4: New file.
91561
91562         Module posixtm.
91563         * m4/posixtm.m4: New file.
91564
91565         Module gethostname.
91566         * m4/gethostname.m4: New file.
91567
91568         Module canon-host.
91569         * m4/canon-host.m4: New file.
91570
91571         Module gettext.
91572         * m4/codeset.m4: New file, from gettext-0.11.5.
91573         * m4/gettext.m4: New file, from gettext-0.11.5.
91574         * m4/glibc21.m4: New file, from gettext-0.11.5.
91575         * m4/iconv.m4: New file, from gettext-0.11.5.
91576         * m4/intdiv0.m4: New file, from gettext-0.11.5.
91577         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
91578         * m4/inttypes.m4: New file, from gettext-0.11.5.
91579         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
91580         * m4/isc-posix.m4: New file, from gettext-0.11.5.
91581         * m4/lcmessage.m4: New file, from gettext-0.11.5.
91582         * m4/lib-ld.m4: New file, from gettext-0.11.5.
91583         * m4/lib-link.m4: New file, from gettext-0.11.5.
91584         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
91585         * m4/progtest.m4: New file, from gettext-0.11.5.
91586         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
91587         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
91588         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
91589
91590         Module localcharset.
91591         * m4/localcharset.m4: New file.
91592
91593         Module hard-locale.
91594         * m4/hard-locale.m4: New file.
91595
91596         Module mbswidth.
91597         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
91598         onceonly macros.
91599         * m4/mbrtowc.m4: Add comment.
91600
91601         Module memcasecmp.
91602         * m4/memcasecmp.m4: New file.
91603
91604         Module memcoll.
91605         * m4/memcoll.m4: New file.
91606
91607         Module unicodeio.
91608         * m4/unicodeio.m4: New file.
91609
91610         Module rpmatch.
91611         * m4/rpmatch.m4: New file.
91612
91613         Module yesno.
91614         * m4/yesno.m4: New file.
91615
91616         Module exitfail.
91617         * m4/exitfail.m4: New file.
91618
91619         Module c-stack.
91620         * m4/c-stack.m4 (gl_C_STACK): New macro.
91621         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
91622
91623         Module error.
91624         * m4/error.m4 (gl_ERROR): New macro.
91625         (jm_PREREQ_ERROR): Use onceonly macros.
91626
91627         Module fatal.
91628         * m4/fatal.m4: New file.
91629
91630         Module getloadavg.
91631         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
91632         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
91633
91634         Module getpagesize.
91635         * m4/getpagesize.m4: New file.
91636
91637         Module getusershell.
91638         * m4/getusershell.m4: New file.
91639
91640         Module physmem.
91641         * m4/physmem.m4: New file.
91642
91643         Module posixver.
91644         * m4/posixver.m4: New file.
91645
91646         Module quotearg.
91647         * m4/quotearg.m4: New file.
91648
91649         Module quote.
91650         * m4/quote.m4: New file.
91651
91652         Module readutmp.
91653         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
91654
91655         Module sig2str.
91656         * m4/sig2str.m4: New file.
91657
91658         Other.
91659         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
91660         ulonglong.m4.
91661         * m4/intmax_t.m4: New file.
91662         * m4/d-type.m4: Indentation.
91663         * m4/jm-macros.m4: Update.
91664         * m4/prereq.m4 (jm_PREREQ): Update.
91665         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
91666         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
91667         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
91668         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
91669         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
91670         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
91671         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
91672         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
91673         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
91674         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
91675         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
91676         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
91677         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
91678         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
91679         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
91680         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
91681         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
91682         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
91683         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
91684
91685 2002-12-24  Bruno Haible  <bruno@clisp.org>
91686
91687         * MODULES.txt: Update according to m4/ changes.
91688
91689         Module gettext.
91690         * config.rpath: New file, from gettext-0.11.5.
91691
91692         * modules/*: New module descriptions.
91693         * gnulib-tool: New file.
91694         * MODULES.html.sh: New file.
91695
91696 2002-12-21  Karl Berry  <karl@gnu.org>
91697
91698         * doc/fdl.texi: update to version 1.2.
91699
91700 2002-12-19  Karl Berry  <karl@gnu.org>
91701
91702         * config/config.guess: update from prep.
91703
91704 2002-12-18  Bruno Haible  <bruno@clisp.org>
91705
91706         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
91707         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
91708
91709 2002-12-17  Bruno Haible  <bruno@clisp.org>
91710
91711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
91712         stdlib.h, string.h.
91713
91714 2002-12-17  Bruno Haible  <bruno@clisp.org>
91715
91716         * lib/canon-host.c (strdup): Remove unused declaration.
91717
91718         * lib/fsusage.c: Include full_read.h.
91719         (get_fs_usage): Use full_read instead of safe_read.
91720
91721         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
91722
91723 2002-12-12  Karl Berry  <karl@gnu.org>
91724
91725         * config/config.guess: update from prep.
91726
91727 2002-12-11  Bruno Haible  <bruno@clisp.org>
91728
91729         * m4/setenv.m4: New file, from gettext-0.11.5.
91730
91731 2002-12-11  Bruno Haible  <bruno@clisp.org>
91732
91733         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
91734         not unsetenv().
91735         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
91736         modifications:
91737
91738         2002-12-11  Bruno Haible  <bruno@clisp.org>
91739
91740                 * setenv.c (alloca): Fall back to malloc.
91741                 (freea): New macro.
91742                 (setenv): Use freea() to free memory allocated with alloca().
91743
91744         2002-11-13  Bruno Haible  <bruno@clisp.org>
91745
91746                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
91747                 function declarations.
91748                 * unsetenv.c (unsetenv): Likewise.
91749
91750         2002-03-04  Bruno Haible  <bruno@clisp.org>
91751
91752                 Portability to AIX 4.3.3.
91753                 * unsetenv.c: New file, extracted from setenv.c.
91754                 * setenv.c: Move the unsetenv() function to unsetenv.c.
91755
91756         2001-12-20  Bruno Haible  <bruno@clisp.org>
91757
91758                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
91759                 use malloc instead. For SunOS 4.
91760
91761         2001-12-11  Bruno Haible  <bruno@clisp.org>
91762
91763                 * setenv.c: Declare alloca.
91764                 (compar_fn_t): New typedef.
91765                 (KNOWN_VALUE, STORE_VALUE): Use it.
91766
91767         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
91768         setenv.h.
91769
91770 2002-12-10  Paul Eggert  <eggert@twinsun.com>
91771
91772         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
91773         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
91774         Choose values that are less likely to collide with system fnmatch
91775         options.
91776         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
91777         defined (e.g., a pure POSIX system).
91778         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
91779         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
91780
91781 2002-12-06  Paul Eggert  <eggert@twinsun.com>
91782
91783         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
91784         a pain in practice to deal with generated m4 files.  This change
91785         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
91786
91787         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
91788         and jm-glibc-io.m4, as they are no longer a special case.
91789         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
91790         kludge and the auto-generation stuff.  Check only whether the
91791         functions are declared, not whether they exist, since older hosts
91792         that don't declare the functions can't use the optimization anyway.
91793
91794 2002-12-06  Jim Meyering  <jim@meyering.net>
91795
91796         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
91797
91798         Merge in changes from libc's misc/error.c, in preparation
91799         for the merge of gnulib's changes back into libc.
91800
91801         * lib/error.c (_): Define only if not already defined.
91802         Move definition to follow all #include directives.
91803         Include unlocked-io.h only if !_LIBC.
91804         [_LIBC]: Include <libio/libioP.h>.
91805         [USE_IN_LIBIO]: Include <libio/iolibio.h>
91806         (fflush): Tweak definition to use INTUSE.
91807         (putc): Define.
91808
91809 2002-12-05  Paul Eggert  <eggert@twinsun.com>
91810
91811         * lib/alloca.c [defined emacs]: Include "lisp.h".
91812         (xalloc_die) [defined emacs]: New macro.
91813         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
91814         [! defined emacs]: Include <xalloc.h>.
91815         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
91816         (pointer): Typedef to POINTER_TYPE *.
91817         (malloc): Remove decl; we now always use xmalloc.
91818         (alloca): Use old-style definition, since Emacs needs this.
91819         Check for arithmetic overflow when computing combined size.
91820
91821 2002-12-04  Paul Eggert  <eggert@twinsun.com>
91822
91823         Do not generate unlocked-io.h automatically, since it's easier to
91824         maintain it by hand.
91825
91826         * lib/unlocked-io.h: New file, from GNU diffutils,
91827         but with proper copyright notice and attribution.
91828         * lib/gen-uio: Remove.
91829         * lib/Makefile.am: Add copyright notice.
91830         (libfetish_a_SOURCES): Add unlocked-io.h.
91831         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
91832         (DISTCLEANFILES, io_functions): Remove macros.
91833         (EXTRA_DIST): Remove gen_uio.
91834         (unlocked-io.h): Remove rule.
91835
91836 2002-12-04  Jim Meyering  <jim@meyering.net>
91837
91838         Reflect the fact that stat.c and lstat.c are no longer generated.
91839         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
91840         (DISTCLEANFILES): Likewise.
91841         (EXTRA_DIST): Likewise.
91842         (all_local): Don't depend on stat.c or lstat.c.
91843         (stat.c, lstat.c): Remove rules.
91844         (EXTRA_DIST): Remove xstat.in.
91845
91846         * lib/xstat.in: Remove file.  Contents moved into stat.c.
91847         * lib/stat.c: New file.  Contents mostly from xstat.in.
91848         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
91849         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
91850
91851         * lib/safe-read.c: Rework so that it may serve to define safe_write,
91852         too.
91853         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
91854
91855 2002-12-03  Jim Meyering  <jim@meyering.net>
91856
91857         * lib/safe-read.c, safe-write.c: Change variable names and comments,
91858         but not semantics, to minimize the differences between these two files.
91859         (safe_read): Change comment to mention SAFE_READ_ERROR.
91860
91861         * lib/safe-read.c (IS_EINTR): Define.
91862         (safe_read): Use IS_EINTR in place of in-function cpp directives.
91863
91864 2002-12-02  Jim Meyering  <jim@meyering.net>
91865
91866         * lib/safe-read.c (EINTR): Define.
91867         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91868         (INT_MAX): Provide fallback.
91869         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
91870
91871         * lib/safe-read.h (SAFE_READ_ERROR): Define.
91872
91873 2002-12-02  Bruno Haible  <bruno@clisp.org>
91874
91875         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
91876         Define, taken from safe-read.c.
91877         (INT_MAX): Provide fallback.
91878         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
91879         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
91880
91881         * lib/safe-read.c (EINTR): Remove definition.
91882         (safe_read): Don't use EINTR if it is absent.
91883
91884 2002-12-01  Jim Meyering  <jim@meyering.net>
91885
91886         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
91887         zero.
91888         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
91889
91890 2002-11-27  Paul Eggert  <eggert@twinsun.com>
91891
91892         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
91893         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
91894         with `if (! (value < limit)) abort ();', for readability.
91895
91896 2002-11-26  Karl Berry  <karl@gnu.org>
91897
91898         * lib/strdup.c: copy from libc again, with jim's ok.
91899         * lib/.cppi-disable: re-add strdup.c
91900
91901 2002-11-25  Karl Berry  <karl@gnu.org>
91902
91903         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
91904         instead of "strtol.c".
91905
91906 2002-11-25  Karl Berry  <karl@gnu.org>
91907
91908         * config/install-sh: update from automake for variable quoting, $0 in
91909         error msgs, etc.
91910
91911         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
91912         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
91913         entry.
91914
91915 2002-11-25  Jim Meyering  <jim@meyering.net>
91916
91917         * lib/mktime.c: Sync from libc, now that it has the latest fix.
91918
91919 2002-11-24  Karl Berry  <karl@gnu.org>
91920
91921         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
91922         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
91923
91924 2002-11-24  Jim Meyering  <jim@meyering.net>
91925
91926         Update from coreutils:
91927
91928         * lib/mktime.c: Merge in changes from libc.
91929
91930         Avoid a link-time failure on some Linux systems.
91931         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
91932         (otherwise).
91933         (__mon_yday): Declare with the STATIC attribute.
91934         (__mktime_internal): Likewise.
91935         Based on a report from Greg Schafer.
91936
91937 2002-11-23  Jim Meyering  <jim@meyering.net>
91938
91939         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
91940         Use `unsigned', not `int', as type of index.
91941
91942         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
91943
91944         * lib/fsusage.c: Remove unneeded parentheses around operands of
91945         `defined'.
91946
91947 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91948
91949         * lib/quotearg.h: Allow multiple inclusion by surrounding with
91950         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
91951         so that we can be included first.
91952         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
91953         * lib/quotearg.c: Include quotearg.h immediately after config.h.
91954         No need to include stddef.h or sys/types.h any more.
91955         Surround local include files with "", not "<>".
91956         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
91957         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
91958         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
91959         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
91960         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
91961         (ISPRINT): Remove; no longer needed now that we assume C89.
91962
91963         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
91964         Preserve errno.
91965
91966         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
91967         quotearg_char): Use SIZE_MAX rather than
91968         (size_t) -1 when we are talking about "infinity".
91969
91970         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
91971
91972 2002-11-22  Paul Eggert  <eggert@twinsun.com>
91973
91974         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
91975         hint that one should use `if (! x) abort ();' rather than `assert
91976         (x);', and anyway it's one less thing to worry about configuring.
91977         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
91978         hash_rehash, hash_insert): Use abort rather than assert.
91979
91980 2002-11-22  Bruno Haible  <bruno@clisp.org>
91981
91982         * lib/safe-read.h: Assume C89. Add comments.
91983         (safe_read): Change return type to size_t.
91984         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
91985         byte counts > SSIZE_MAX correctly.
91986         * lib/safe-write.h: New file.
91987         * lib/safe-write.c: New file.
91988         * lib/full-read.h: New file.
91989         * lib/full-read.c: New file.
91990         * lib/full-write.h: Assume C89. Add comments.
91991         * lib/full-write.c: Include safe-write.h.
91992         (full_write): Rewritten to use safe_write.
91993         Suggested by Jim Meyering and Paul Eggert.
91994
91995 2002-11-21  Jim Meyering  <jim@meyering.net>
91996
91997         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
91998
91999         Merge in changes from the coreutils.
92000
92001         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92002         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92003         <stdint.h>.
92004         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92005         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92006         int.  Work more efficiently if X is the same width as uintmax_t.
92007         Do not compare X to -1, to avoid bogus compiler warning.
92008         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92009         Don't assume that f_frsize and f_bsize are the same type.
92010
92011         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92012         warning on FreeBSD.
92013
92014         * lib/makepath.c (make_path): Restore umask *before* creating the final
92015         component.
92016         (make_path): Minor reformatting.
92017
92018         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92019         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92020         HAVE_MALLOC/HAVE_REALLOC.
92021
92022         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92023         dummy ones.  At least on GNU/Linux systems, `auto' means something
92024         else.
92025         From Michael Stone.
92026
92027 2002-11-21  Bruno Haible  <bruno@clisp.org>
92028
92029         Remove case insensitive option matching.
92030         * lib/argmatch.h (argcasematch): Remove declaration.
92031         (ARGCASEMATCH): Remove macro.
92032         (__xargmatch_internal): Remove case_sensitive argument.
92033         (XARGMATCH): Update.
92034         (XARGCASEMATCH): Remove macro.
92035         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92036         case_sensitive argument.
92037         (argcasematch): Remove function.
92038         (__xargmatch_internal): Remove case_sensitive argument.
92039         (main): Use XARGMATCH instead of XARGCASEMATCH.
92040
92041         * lib/xmalloc.c: Change compile-time error message. Add comment about
92042         required autoconf version.
92043
92044 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92045
92046         Merge argmatch cleanups from Bison.  Assume C89.
92047
92048         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92049         Include stdlib.h, for EXIT_FAILURE.
92050         Always include <string.h>, since we assume C89.
92051         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92052         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92053         Include <stddef.h> instead, since it's all we need for size_t.
92054         (PARAMS): Remove.  All uses removed.
92055         (ARRAY_CARDINALITY): Do not bother to #undef.
92056         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92057         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92058         Remove unnecessary parentheses.
92059         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92060         Insert necessary parentheses.
92061         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92062         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92063
92064 2002-11-19  Bruno Haible  <bruno@clisp.org>
92065
92066         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92067         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92068
92069         * lib/mbswidth.h (PARAMS): Remove macro.
92070         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92071         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92072
92073         * lib/gcd.h (PARAMS): Remove macro.
92074         (gcd): Use ANSI C function declarations.
92075         * lib/gcd.c (gcd): Likewise.
92076
92077 2002-11-15  Bruno Haible  <bruno@clisp.org>
92078
92079         * lib/strcspn.c: Include <stddef.h>.
92080         (strcspn): Use ANSI C function declaration. Change return type to
92081         size_t. Use NULL.
92082         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92083         (strpbrk): Use NULL.
92084         * lib/strpbrk.h (PARAMS): Remove macro.
92085         (strpbrk): Use ANSI C function declaration.
92086         * lib/strstr.c: Don't include <sys/types.h>.
92087         * lib/strstr.h (PARAMS): Remove macro.
92088         (strstr): Use ANSI C function declarations.
92089
92090 2002-11-14  Karl Berry  <karl@gnu.org>
92091
92092         * config/mkinstalldirs: `do' on separate line, instead of
92093         `for var; do'.
92094
92095 2002-11-06  Bruno Haible  <bruno@clisp.org>
92096
92097         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92098         * lib/gcd.c (gcd): Likewise.
92099
92100 2002-11-05  Bruno Haible  <bruno@clisp.org>
92101
92102         * lib/gcd.h: New file, from gettext-0.11.5.
92103         * lib/gcd.c: New file, from gettext-0.11.5.
92104
92105 2002-11-05  Bruno Haible  <bruno@clisp.org>
92106
92107         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92108         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92109         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92110         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92111
92112         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92113         <libintl.h>.
92114         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92115         <libintl.h>.
92116
92117         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92118         * lib/human.c: Include gettext.h instead of <libintl.h>.
92119         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92120         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92121         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92122         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92123         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92124         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92125         (textdomain): Remove definition.
92126         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92127
92128         * lib/long-options.c: Remove include of <libintl.h> and definition of
92129         _.
92130         * lib/same.c: Remove include of <libintl.h> and definition of _.
92131
92132 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92133
92134         * lib/config.charset: A few additions for Solaris.
92135
92136 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92137
92138         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92139         * lib/localcharset.c (locale_charset): Declare as extern "C".
92140
92141 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92142
92143         * lib/config.charset: msdos in uk_UA uses CP1125.
92144
92145 2002-11-04  Bruno Haible  <bruno@clisp.org>
92146
92147         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92148         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92149         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92150         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92151         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92152
92153 2002-11-04  Bruno Haible  <bruno@clisp.org>
92154
92155         * lib/localcharset.c (locale_charset): Don't return an empty string.
92156
92157 2002-11-04  Bruno Haible  <bruno@clisp.org>
92158
92159         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92160         aliases.
92161
92162 2002-11-04  Bruno Haible  <bruno@clisp.org>
92163
92164         * lib/config.charset: Update for newest glibc. Add canonical names
92165         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92166
92167 2002-11-04  Bruno Haible  <bruno@clisp.org>
92168
92169         * lib/config.charset: Add support for NetBSD.
92170
92171 2002-11-04  Bruno Haible  <bruno@clisp.org>
92172
92173         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
92174
92175 2002-11-01  Bruno Haible  <bruno@clisp.org>
92176
92177         * configure.in: Add AC_CONFIG_AUX_DIR call.
92178         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
92179         test/Makefile.
92180         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
92181
92182 2002-09-28  Karl Berry  <karl@gnu.org>
92183
92184         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
92185         installed automake until the next release, since changes have been
92186         made.
92187
92188 2002-09-25  Karl Berry  <karl@gnu.org>
92189
92190         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
92191         * lib/getopt*: copy from libc/posix.
92192         * lib/gettext.h: copy from gettext.
92193         * lib/.cppi-disable: add strdup.c, gettext.h.
92194
92195 2002-09-25  Karl Berry  <karl@gnu.org>
92196
92197         * config/srclist.txt: enable gettext.h check.
92198         * config/config.{guess,sub}: update from prep.
92199         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
92200                 from automake 1.6.3.
92201         See srclist*.
92202
92203 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
92204
92205         * regex.c (PATFETCH): Remove the translating fetch.
92206         (PATFETCH_RAW): Rename to PATFETCH.
92207         (set_image_of_range): New fun.
92208         (SET_RANGE_TABLE_WORK_AREA): Use it.
92209         (regex_compile): Don't translate the pattern chars so eagerly.
92210         Only do it when inserting an `exactn' bytecode or when handling
92211         a char-range.
92212         (mutually_exclusive_p): Avoid empty statement.
92213
92214 2002-07-06  Jim Meyering  <meyering@lucent.com>
92215
92216         * m4/README: Don't mention Makefile.am.in.
92217         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
92218
92219 2002-07-01  Jim Meyering  <meyering@lucent.com>
92220
92221         * lib/c-stack.c: Include sys/time.h.
92222         From Volker Borchert.
92223
92224 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92225
92226         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
92227
92228 2002-06-26  Paul Eggert  <eggert@twinsun.com>
92229
92230         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
92231         New macro.  Use it uniformly instead of
92232         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
92233         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
92234         reported by Vin Shelton.
92235
92236 2002-06-22  Paul Eggert  <eggert@twinsun.com>
92237
92238         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
92239         Do not assume SA_SIGINFO behavior.
92240         Bug reported by Jim Meyering on NetBSD 1.5.2.
92241
92242 2002-06-22  Jim Meyering  <meyering@lucent.com>
92243
92244         * m4/c-stack.m4: New file, from diffutils-2.8.2.
92245         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
92246
92247         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
92248         now that configure.ac uses AC_GNU_SOURCE.
92249         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
92250         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
92251
92252         Update to latest tools.  Suggestions from Paul Eggert.
92253         * m4/stdbool.m4: New file, from diffutils-2.8.2.
92254         * m4/gnu-source.m4: Update from diffutils-2.8.2.
92255         * m4/fnmatch.m4: Likewise.
92256         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
92257         to AC_HEADER_STDBOOL
92258
92259 2002-06-22  Jim Meyering  <meyering@lucent.com>
92260
92261         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
92262         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
92263
92264 2002-06-22  Jim Meyering  <meyering@lucent.com>
92265
92266         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
92267
92268         * lib/exitfail.c, exitfail.h: Likewise.
92269         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
92270
92271         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
92272         of fnmatch.h.
92273         (EXTRA_DIST): Add fnmatch_loop.c.
92274         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
92275
92276         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
92277         * lib/fnmatch.c: Update from diffutils-2.8.2.
92278         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
92279         * lib/fnmatch.h: Remove file.
92280
92281 2002-06-21  Jim Meyering  <meyering@lucent.com>
92282
92283         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
92284         * m4/mbrtowc.m4: Likewise.
92285
92286         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
92287         * m4/mbswidth.m4: Reflect name change:
92288         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
92289         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
92290
92291         * m4/lib-link.m4: Update from gettext-0.11.2.
92292         * m4/gettext.m4: Likewise.
92293
92294         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
92295         From Alfred M. Szmidt.
92296
92297 2002-06-18  Paul Eggert  <eggert@twinsun.com>
92298
92299         * lib/file-type.h: Report an error if neither S_ISREG nor
92300         S_IFREG is defined, instead of using a test specific to glibc
92301         2.2.  This should be safe, since POSIX requires S_ISREG and
92302         Unix Version 7 had S_IFREG.  We don't need to check for
92303         <sys/types.h> since we don't use any symbols that it defines.
92304
92305 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
92306
92307         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
92308         $@-t, so that each temporary file name is unique and valid in the first
92309         8 characters, for operation under DOS.
92310
92311 2002-06-15  Paul Eggert  <eggert@twinsun.com>
92312
92313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
92314
92315 2002-06-15  Jim Meyering  <meyering@lucent.com>
92316
92317         Work even with DJGPP 2.03, which lacks support for symlinks.
92318         From Richard Dawe.
92319         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
92320         is defined.
92321         * lib/lchown.c (S_ISLNK): Likewise.
92322
92323 2002-06-15  Jim Meyering  <meyering@lucent.com>
92324
92325         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
92326         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
92327         have been included before this file.
92328
92329 2002-06-14  Jim Meyering  <meyering@lucent.com>
92330
92331         * lib/file-type.h: Use the version from diffutils-2.8.2.
92332         * lib/file-type.c: Likewise.
92333
92334 2002-06-07  Jim Meyering  <meyering@lucent.com>
92335
92336         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
92337         They're needed at least for NetBSD 1.5.2.
92338         ($statxfs_includes): Include those same headers.
92339         ($statxfs_includes): Include sys/vfs.h if available.
92340         ($statxfs_includes): Likewise for sys/statvfs.h.
92341         Check for the following members in both structs statfs and statvfs:
92342         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
92343
92344 2002-06-01  Jim Meyering  <meyering@lucent.com>
92345
92346         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
92347         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
92348
92349 2002-05-28  Jim Meyering  <meyering@lucent.com>
92350
92351         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
92352         Reported by Volker Borchert.
92353
92354 2002-05-27  Jim Meyering  <meyering@lucent.com>
92355
92356         Fix a problem seen only on nonconforming systems whereby ls.c's
92357         use of localtime, and then of gettimeofday would cause trouble:
92358         the localtime call used to initialize rpl_gettimeofday's save
92359         mechanism would clobber ls's current local time information so
92360         that in any long listing the first file would always be listed
92361         with date 1970-01-01.  Analysis by Volker Borchert.
92362
92363         * lib/gettimeofday.c (localtime): Undefine.
92364         (rpl_localtime): New function.
92365
92366 2002-05-27  Jim Meyering  <meyering@lucent.com>
92367
92368         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
92369         localtime.
92370
92371         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
92372         use the replacement function; it wouldn't resolve at link time.
92373         Reported by Volker Borchert.
92374
92375 2002-05-22  Jim Meyering  <meyering@lucent.com>
92376
92377         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
92378         file-type.h.
92379         * lib/file-type.h: New file.
92380         * lib/file-type.c (file_type): New file/function.  Extracted from
92381         diffutils.
92382
92383 2002-04-30  Jim Meyering  <meyering@lucent.com>
92384
92385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
92386
92387 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92388
92389         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
92390
92391 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92392
92393         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
92394         Do not check for alloca.h (no longer used) or stdbool.h (was never
92395         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
92396
92397 2002-04-29  Paul Eggert  <eggert@twinsun.com>
92398
92399         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
92400
92401 2002-04-29  Jim Meyering  <meyering@lucent.com>
92402
92403         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
92404         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
92405         Use AC_FUNC_STRNLEN here instead.
92406
92407         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
92408         With autoconf-2.53a, it's part of AC_PROG_CC.
92409
92410 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92411
92412         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
92413         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
92414
92415 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92416
92417         * lib/sig2str.h, lib/sig2str.c: New files.
92418         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
92419
92420 2002-04-28  Paul Eggert  <eggert@twinsun.com>
92421
92422         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
92423         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
92424         of 127, since 64 is the largest conceivable number for ancient
92425         nonstandard hosts.
92426         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
92427
92428 2002-04-28  Jim Meyering  <meyering@lucent.com>
92429
92430         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
92431
92432 2002-04-24  Jim Meyering  <meyering@lucent.com>
92433
92434         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
92435         (jm_PREREQ): Use it.
92436
92437         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
92438         mach/mach.h fcntl.h.
92439         Check for this function: setlocale.
92440
92441 2002-04-24  Jim Meyering  <meyering@lucent.com>
92442
92443         * lib/gettext.h: New file, from Gettext.
92444         * lib/Makefile.am (INCLUDES): Remove -I../intl.
92445         (libfetish_a_SOURCES): Add gettext.h.
92446
92447 2002-04-16  Jim Meyering  <meyering@lucent.com>
92448
92449         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
92450         ut_pid, ut_id, ut_exit.
92451
92452 2002-04-16  Jim Meyering  <meyering@lucent.com>
92453
92454         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
92455         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
92456         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
92457
92458 2002-04-12  Jim Meyering  <meyering@lucent.com>
92459
92460         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
92461         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
92462         existence of the getmntinfo function.  Needed for Darwin 5.3.
92463
92464         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
92465         This is necessary at least on Darwin 5.3.
92466
92467         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
92468         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
92469         strnlen.o in the library, and that makes some versions of ranlib
92470         object.
92471
92472 2002-04-12  Jim Meyering  <meyering@lucent.com>
92473
92474         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
92475
92476 2002-04-09  Jim Meyering  <meyering@lucent.com>
92477
92478         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
92479         to be more precise.  Rather than saying we're checking whether the
92480         function `works', say what we're testing.
92481         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
92482         Reported by Bruno Haible.
92483
92484 2002-03-10  Jim Meyering  <meyering@lucent.com>
92485
92486         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
92487         Suggestion from Santiago Vila.
92488
92489 2002-03-08  Jim Meyering  <meyering@lucent.com>
92490
92491         * lib/rename.c: Mention that this wrapper is needed also on
92492         mips-dec-ultrix4.4 systems.
92493
92494 2002-03-02  Jim Meyering  <meyering@lucent.com>
92495
92496         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
92497         not HAVE_CLOCK_SETTIME.
92498
92499 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92500
92501         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
92502         Check for clock_settime.
92503
92504 2002-02-27  Paul Eggert  <eggert@twinsun.com>
92505
92506         * lib/nanosleep.h: Rename to....
92507         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
92508
92509         * lib/gettime.c: New file.
92510         * lib/settime.c: New file.
92511         * lib/stime.c: Remove.
92512
92513         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
92514         timespec.h.  Remove nanosleep.h.
92515
92516 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92517
92518         * m4/acl.m4: New file.
92519         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
92520         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
92521
92522 2002-02-25  Paul Eggert  <eggert@twinsun.com>
92523
92524         * lib/acl.c, lib/acl.h: New files.
92525         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
92526
92527 2002-02-24  Jim Meyering  <meyering@lucent.com>
92528
92529         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
92530         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
92531         cause trouble.  Reported by Nelson Beebe.
92532
92533 2002-02-23  Paul Eggert  <eggert@twinsun.com>
92534
92535         * lib/path-concat.c (xpath_concat): Reorder code to pacify
92536         compilers that don't know that xalloc_die never returns.
92537
92538 2002-02-20  Jim Meyering  <meyering@lucent.com>
92539
92540         * lib/getdate.c: Regenerate using bison-1.33.
92541
92542 2002-02-17  Jim Meyering  <meyering@lucent.com>
92543
92544         * config/config.guess (main): Don't use `head -1'; it's no longer
92545         portable. Use `sed 1q' instead.
92546
92547 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
92548
92549         * m4/codeset.m4: Upgrade to gettext-0.11.
92550         * m4/gettext.m4: Upgrade to gettext-0.11.
92551         * m4/glibc21.m4: Upgrade to gettext-0.11.
92552         * m4/iconv.m4: Upgrade to gettext-0.11.
92553         * m4/isc-posix.m4: Upgrade to gettext-0.11.
92554         * m4/lcmessage.m4: Upgrade to gettext-0.11.
92555         * m4/lib-ld.m4: New file, from gettext-0.11.
92556         * m4/lib-link.m4: New file, from gettext-0.11.
92557         * m4/lib-prefix.m4: New file, from gettext-0.11.
92558         * m4/progtest.m4: Upgrade to gettext-0.11.
92559
92560 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92561
92562         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
92563         (jm_PREREQ): Use it.
92564
92565 2002-02-15  Paul Eggert  <eggert@twinsun.com>
92566
92567         * lib/posixver.c, lib/posixver.h: New files.
92568         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92569
92570 2002-02-02  Paul Eggert  <eggert@twinsun.com>
92571             Bruno Haible  <bruno@clisp.org>
92572
92573         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
92574         (fwrite_success_callback): New declaration.
92575         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
92576         print_unicode_char. Call failure callback instead of error.
92577         (fwrite_success_callback): New function.
92578         (exit_failure_callback): New function.
92579         (fallback_failure_callback): New function.
92580         (print_unicode_char): Call unicode_to_mb.
92581
92582 2002-01-26  Jim Meyering  <meyering@lucent.com>
92583
92584         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
92585         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
92586
92587 2002-01-26  Jim Meyering  <meyering@lucent.com>
92588
92589         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
92590
92591 2002-01-22  Paul Eggert  <eggert@twinsun.com>
92592
92593         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
92594
92595 2002-01-22  Jim Meyering  <meyering@lucent.com>
92596
92597         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
92598         Otherwise, some versions of automake would omit the rule that makes
92599         Makefile from Makefile.in.
92600
92601 2002-01-21  Paul Eggert  <eggert@twinsun.com>
92602
92603         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
92604         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
92605         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
92606         (memcoll): Set errno to zero if there is no error.
92607
92608         * lib/quotearg.c (quotearg_buffer_restyled):
92609         Fix bug with quoting buffers containing NUL when backslashing escapes.
92610         This bug was exposed by the other changes in this patch.
92611         (quotearg_n_options): New arg ARGSIZE.
92612         All callers changed.
92613         (quoting_options_from_style): New function.
92614         (quotearg_n_style): Use it.
92615         (quotearg_n_style_mem): New function.
92616
92617         * lib/quotearg.h (quotearg_n_style_mem): New function.
92618
92619 2002-01-19  Jim Meyering  <meyering@lucent.com>
92620
92621         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
92622         Remove useless quotes: DF_PROG="df".
92623         * m4/strnlen.m4: New file.
92624
92625 2002-01-16  Paul Eggert  <eggert@twinsun.com>
92626
92627         * lib/backupfile.c (ISDIGIT): Comment fix.
92628         * lib/getdate.y (ISDIGIT): Likewise.
92629         * lib/posixtm.c (ISDIGIT, year): Likewise.
92630         * lib/strverscmp.c (ISDIGIT): Likewise.
92631         * lib/userspec.c (ISDIGIT): Likewise.
92632
92633 2002-01-16  Jim Meyering  <meyering@lucent.com>
92634
92635         * lib/getdate.y: Add three semicolons, each just before a closing
92636         brace. Bison (as of version 1.31) no longer papers over that mistake.
92637
92638 2002-01-05  Jim Meyering  <meyering@lucent.com>
92639
92640         * lib/version-etc.c (version_etc_copyright): Update copyright year.
92641
92642 2001-12-19  Paul Eggert  <eggert@twinsun.com>
92643
92644         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
92645         not silently exit merely because the output buffer happens to
92646         have nothing pending.
92647
92648 2001-12-18  Paul Eggert  <eggert@twinsun.com>
92649
92650         See the big note in ../ChangeLog.
92651         * lib/human.c (suffixes): Prefer K to k for 1024.
92652         (generate_suffix_backwards): New function.
92653         (human_readable_inexact): Use it.
92654         * lib/xstrtol.c (__xstrtol): If there is no number but there
92655         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
92656         Accept 'K' as well as 'k'.
92657
92658 2001-12-15  Jim Meyering  <meyering@lucent.com>
92659
92660         * lib/regex.h (__restrict_arr): Update from libc.
92661
92662         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
92663         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
92664         (STREQ): Define.
92665
92666 2001-12-14  Jim Meyering  <meyering@lucent.com>
92667
92668         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
92669         Suggestion from Bruno Haible.
92670
92671 2001-12-10  Jim Meyering  <meyering@lucent.com>
92672
92673         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
92674         xrealloc, Instead, include "xalloc.h".
92675         (initbuffer): Don't cast xmalloc return value to char*.
92676         (readline): Reword comment.
92677         Don't cast xrealloc return value to char*
92678         Return NULL, not 0.
92679
92680 2001-12-09  Jim Meyering  <meyering@lucent.com>
92681
92682         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
92683         about `signed and unsigned type in conditional expression'.
92684         * lib/posixtm.c (posix_time_parse): Likewise.
92685
92686         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
92687
92688         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
92689         to avoid a pedantic warning.
92690
92691         * lib/getstr.c: Don't include assert.h.
92692         (getstr): Remove warning-evoking assertions.
92693         Return -1 if offset parameter is out of bounds.
92694         Change the type of a local from int to size_t.
92695
92696         * lib/strftime.c (my_strftime_localtime_r): Include this function
92697         definition in the `#if ! HAVE_TM_GMTOFF' block.
92698
92699         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
92700         Include xalloc.h instead.
92701
92702 2001-12-02  Jim Meyering  <meyering@lucent.com>
92703
92704         * lib/tempname.c: Don't declare getenv, thus reverting the change of
92705         2001-11-18.  It's no longer necessary, now that stdlib.h is always
92706         included.
92707
92708         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
92709         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
92710
92711 2001-11-30  Akim Demaille  <akim@epita.fr>
92712
92713         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
92714         before being defined.
92715
92716 2001-11-27  Paul Eggert  <eggert@twinsun.com>
92717
92718         * lib/quotearg.h (quotearg_n, quotearg_n_style):
92719         First arg is int, not unsigned.
92720         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
92721         (SIZE_MAX, UINT_MAX): New macros.
92722         (quotearg_n_options): Abort if N is negative.
92723         Avoid overflow check on hosts where size_t is 64 bits and int
92724         is 32 bits, as overflow is impossible there.
92725         Fix off-by-one typo that caused unnecessary reallocation.
92726
92727 2001-11-27  Jim Meyering  <meyering@lucent.com>
92728
92729         * lib/tempname.c: Merge with version from libc.
92730         * lib/regex.c: Likewise.
92731
92732         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
92733         systems for which STDC_HEADERS is 0, it was not included, resulting in
92734         a warning about an integer-to-pointer conversion problem with getenv.
92735         Reported by Volker Borchert.
92736
92737 2001-11-26  Jim Meyering  <meyering@lucent.com>
92738
92739         * lib/gtod.h: Remove file.
92740         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
92741         * lib/gettimeofday.c: Don't include gtod.h.
92742         (GTOD_init): Remove function.
92743         (rpl_gettimeofday): Do its job here instead, rather than aborting.
92744         Suggestion from Volker Borchert.
92745
92746 2001-11-23  Jim Meyering  <meyering@lucent.com>
92747
92748         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
92749         it.
92750         * lib/hash.c (struct hash_table): Define it here instead.
92751
92752 2001-11-22  Jim Meyering  <meyering@lucent.com>
92753
92754         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
92755
92756 2001-11-20  Jim Meyering  <meyering@lucent.com>
92757
92758         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
92759         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
92760
92761 2001-11-19  Jim Meyering  <meyering@lucent.com>
92762
92763         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
92764         directory.  Use "conftestXXXXXX" as the template.
92765         Suggestion from Paul Eggert.
92766
92767         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
92768         immediately, so the test doesn't mistakenly hit the max-open-files
92769         limit.
92770
92771 2001-11-18  Paul Eggert  <eggert@twinsun.com>
92772
92773         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
92774         (TEMPORARIES): New macro.
92775         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
92776         removes an artificial limitation (e.g. HP-UX 10.20, where
92777         TMP_MAX is 17576).
92778
92779 2001-11-18  Jim Meyering  <meyering@lucent.com>
92780
92781         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
92782
92783 2001-11-18  Jim Meyering  <meyering@lucent.com>
92784
92785         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
92786         on SunOS 4.
92787
92788         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
92789         files will be created before anything else.
92790
92791 2001-11-17  Paul Eggert  <eggert@twinsun.com>
92792
92793         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
92794         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
92795
92796 2001-11-17  Jim Meyering  <meyering@lucent.com>
92797
92798         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
92799         Prompted by a report from Bob Proulx.
92800
92801         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
92802         Instead, require UTILS_FUNC_MKSTEMP.
92803
92804 2001-11-17  Jim Meyering  <meyering@lucent.com>
92805
92806         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
92807         Now, that's done as part of AC_FUNC_STRTOD.
92808
92809 2001-11-17  Jim Meyering  <meyering@lucent.com>
92810
92811         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
92812         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
92813         rather than group writable.  Patch by Juan F. Codagnone.
92814
92815         * lib/readtokens.c: Remove explicit declarations of xmalloc and
92816         xrealloc, Instead, include "xalloc.h".
92817
92818         * lib/mountlist.c: Include unlocked-io.h after all system headers.
92819         Remove explicit declarations of xmalloc, xrealloc,
92820         and xstrdup.  Instead, include "xalloc.h".
92821
92822         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
92823         unlocked-io.h.
92824         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
92825         Likewise.
92826         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
92827
92828         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
92829         Reported by Padraig Brady.
92830
92831         * lib/mkstemp.c: #undef mkstemp.
92832         Include config.h.
92833         (rpl_mkstemp): Rename from mkstemp.
92834         Protoize.
92835
92836 2001-11-16  Jim Meyering  <meyering@lucent.com>
92837
92838         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
92839         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
92840         determine the amount of total physical memory, use pstat_getstatic.
92841         HPUX-11 doesn't define _SC_PHYS_PAGES.
92842         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
92843         If sysconf couldn't be used to determine the amount of available
92844         physical memory, use both pstat_getstatic and pstat_getdynamic.
92845         Based on a patch from Bob Proulx.
92846
92847 2001-11-10  Jim Meyering  <meyering@lucent.com>
92848
92849         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
92850         (jm_PREREQ): Use it.
92851
92852 2001-11-09  Jim Meyering  <meyering@lucent.com>
92853
92854         * m4/jm-macros.m4: Require autoconf-2.52f.
92855         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
92856         Use these AC_-prefixed names, not the AM_-prefixed ones.
92857
92858         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
92859
92860 2001-11-05  Jim Meyering  <meyering@lucent.com>
92861
92862         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
92863
92864 2001-11-04  Jim Meyering  <meyering@lucent.com>
92865
92866         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
92867         $DEFS.
92868
92869 2001-11-03  Jim Meyering  <meyering@lucent.com>
92870
92871         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
92872         of AC_DEFUN.
92873
92874         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
92875         know the name of the variable in the macro definition.
92876
92877 2001-11-03  Jim Meyering  <meyering@lucent.com>
92878
92879         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
92880         in argmatch_to_argument call.
92881
92882         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
92883         argument.
92884
92885         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
92886         e.g., a fault due to an attempt to free a NULL pointer.
92887
92888 2001-11-01  Jim Meyering  <meyering@lucent.com>
92889
92890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
92891         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
92892
92893 2001-11-01  Jim Meyering  <meyering@lucent.com>
92894
92895         * lib/dirfd.c, lib/dirfd.h: New files.
92896         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
92897
92898         * lib/hash.c (hash_print) [TESTING]: Clean up.
92899
92900 2001-10-22  Paul Eggert  <eggert@twinsun.com>
92901
92902         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
92903         to avoid a warning if -Wall.
92904
92905 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
92906
92907         * README: New file
92908         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
92909         (per RMS's instructions, this is now the canonical source)
92910         * lgpl/, gpl/: New directories.
92911
92912 2001-10-21  Paul Eggert  <eggert@twinsun.com>
92913
92914         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
92915
92916 2001-10-21  Jim Meyering  <meyering@lucent.com>
92917
92918         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
92919         this code would end up calling gettext even in packages built
92920         with --disable-nls.
92921         * lib/getopt.c (_): Likewise.
92922         * lib/regex.c (_): Likewise.
92923
92924 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92925
92926         * m4/error.m4 (jm_PREREQ_ERROR):
92927         Do not invoke AC_CHECK_FUNCS with strerror_r, as
92928         AC_FUNC_STRERROR_R does that.
92929         Check for strerror declaration.
92930
92931         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
92932         are supposed to have them these days.
92933         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
92934         Merge changes from latest Autoconf CVS.
92935         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
92936         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
92937         POSIX decided to standardize on the int flavor of strerror_r.
92938
92939 2001-10-20  Paul Eggert  <eggert@twinsun.com>
92940
92941         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
92942         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
92943         Use strerror_r that is only a macro, even if it is not a function.
92944         (strerror): Check for HAVE_DECL_STRERROR before declaring.
92945         (private_strerror): Use prototypes, not old-style function definition.
92946         (print_errno_message): New function.
92947         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
92948         char*-flavored one.
92949         (error_tail, error, error_at_line): Use it.
92950
92951 2001-10-11  Jim Meyering  <meyering@lucent.com>
92952
92953         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
92954         and quote_n (1, ... to avoid clobbering a buffer.
92955
92956 2001-10-05  Jim Meyering  <meyering@lucent.com>
92957
92958         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
92959         hash-pjw.h.
92960         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
92961         * lib/hash-pjw.h: New file.
92962
92963 2001-09-30  Jim Meyering  <meyering@lucent.com>
92964
92965         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
92966         `struct fsstat' has the `f_fstypename' member.
92967         Use that to define FS_TYPE, which is now used to make
92968         the getfsstat link test tighter.
92969
92970 2001-09-30  Jim Meyering  <meyering@lucent.com>
92971
92972         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
92973         Include <sys/ucred.h>, for Apple Darwin.
92974         Include sys/mount.h and sys/fs_types.h only if available.
92975         (FS_TYPE): Define.
92976         (read_filesystem_list): Use FS_TYPE.
92977
92978 2001-09-29  Paul Eggert  <eggert@twinsun.com>
92979
92980         * lib/exclude.c (excluded_filename): 0 -> false, since it's
92981         a boolean context.
92982
92983 2001-09-29  Jim Meyering  <meyering@lucent.com>
92984
92985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92986         [one-argument getmntent function]): Include stdio.h before mntent.h.
92987         SunOS 4.1.x needs it for the declaration of `FILE'.
92988         Patch by Volker Borchert.
92989
92990         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
92991         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
92992         sys/fs_types.h, and make the link-test for getfsstat guard #include
92993         directives with appropriate #if HAVE_*_H tests so that we can
92994         detect getfsstat on Apple Darwin1.3.7 systems.
92995         Reported by Nelson Beebe.
92996         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
92997
92998 2001-09-28  Paul Eggert  <eggert@twinsun.com>
92999
93000         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93001         #defines strtoimax.  Also treat the other strto* functions
93002         like strtoimax.
93003
93004         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93005         Check for strtoul and strtoumax,
93006         as those declarations are made even in the signed case.
93007         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93008         Likewise, for strtol and strtoimax.
93009
93010 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93011
93012         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93013         #defines strtoimax.  Also treat the other strto* functions
93014         like strtoimax.
93015
93016         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93017         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93018         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93019
93020 2001-09-26  Jim Meyering  <meyering@lucent.com>
93021
93022         Most macros in unlocked-io.h had the wrong number of arguments.
93023         * lib/gen-uio: New script.
93024         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93025         * lib/unlocked-io.hin: Remove file.
93026         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93027         rather than trying to embed it here.
93028         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93029         Reported by Padraig Brady.
93030
93031 2001-09-25  Volker Borchert  <bt@teknon.de>
93032
93033         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93034         `result'.
93035
93036 2001-09-24  Jim Meyering  <meyering@lucent.com>
93037
93038         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93039
93040 2001-09-23  Jim Meyering  <meyering@lucent.com>
93041
93042         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93043         instead of the mere test for existence of mntent.h.  The latter
93044         would get a false-positive on AIX 3.4 systems.
93045         In the outer getmntent if-block, don't die if neither of the getmntent
93046         tests succeeds.  Instead, just fall through and continue with the
93047         remaining tests.
93048
93049 2001-09-23  Jim Meyering  <meyering@lucent.com>
93050
93051         * lib/mountlist.c: Remove useless parentheses in #if directives.
93052         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93053         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93054
93055 2001-09-22  Jim Meyering  <meyering@lucent.com>
93056
93057         * m4/gettext.m4: New file.  From gettext.
93058         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93059         * m4/progtest.m4: Likewise
93060         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93061         * m4/glibc21.m4: Likewise.
93062
93063         * m4/libintl.m4: Remove.  No longer used.
93064
93065 2001-09-22  Jim Meyering  <meyering@lucent.com>
93066
93067         * lib/localcharset.c: Update from latest gettext.
93068         * lib/config.charset: Likewise.
93069
93070 2001-09-20  Jim Meyering  <meyering@lucent.com>
93071
93072         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93073         strtoimax.
93074         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93075         strtoumax.
93076
93077 2001-09-20  Jim Meyering  <meyering@lucent.com>
93078
93079         * lib/xstrtol.c (strtoimax): Guard declaration with
93080         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93081         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93082         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93083         (strtoumax): Likewise, for completeness (it wasn't necessary).
93084
93085 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93086
93087         * lib/strtoimax.c (HAVE_LONG_LONG):
93088         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93089         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93090         to work around bug in IBM C compiler.
93091
93092 2001-09-17  Jim Meyering  <meyering@lucent.com>
93093
93094         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93095         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93096         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93097         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93098         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93099         whenever the right hand side need not be expanded by the shell.
93100
93101 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93102
93103         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93104         library.  It's not correct, as some older glibcs are buggy.
93105         fnmatch wasn't fixed until glibc 2.2.
93106
93107         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93108         special shell magic here.
93109
93110 2001-09-16  Jim Meyering  <meyering@lucent.com>
93111
93112         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93113         * m4/jm-macros.m4: Require it.
93114
93115 2001-09-16  Jim Meyering  <meyering@lucent.com>
93116
93117         * lib/mkdir.c: New file.
93118
93119 2001-09-15  Jim Meyering  <meyering@lucent.com>
93120
93121         * m4/jm-macros.m4: Check for help2man.
93122
93123 2001-09-11  Jim Meyering  <meyering@lucent.com>
93124
93125         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93126         The body, by Paul Eggert, was moved here from configure.in.
93127         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93128
93129 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93130
93131         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93132         (jm_PREREQ): Use it.
93133
93134 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93135
93136         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93137         Use ssize_t, not int, to store result of readlink.
93138         Check for ssize_t overflow as well as size_t overflow,
93139         as POSIX says the result of readlink is implementation-defined
93140         when ssize_t overflows.
93141         Remove unnecessary cast to char*.
93142         Use free+malloc instead of realloc, as the storage doesn't need
93143         to be preserved and it's clearer and can be more efficient that way.
93144         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93145         * lib/xreadlink.h (xreadlink): Update prototype.
93146
93147 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93148
93149         * lib/xgetcwd.c: Revert some of the previous change; intead,
93150         fix the HAVE_GETCWD_NULL code to behave more like the
93151         !HAVE_GETCWD_NULL code used to.
93152
93153         Include "xalloc.h".
93154         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93155         invoke xalloc_die.
93156
93157 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93158
93159         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93160         sys/param.h, as pathmax.h includes them.
93161
93162 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93163
93164         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93165         (jm_PREREQ_XGETCWD): New macro.
93166
93167         * m4/getcwd.m4: New file.
93168
93169 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93170
93171         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
93172         like the HAVE_GETCWD_NULL code.
93173         Include pathmax.h if not HAVE_GETCWD.
93174         Do not include xalloc.h.
93175         (INITIAL_BUFFER_SIZE): New symbol.
93176         Do not use xmalloc / xrealloc, since the caller is responsible for
93177         handling errors.  Preserve errno around `free' during failure.
93178         Do not overrun buffer when using getwd.
93179
93180 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93181
93182         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
93183         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
93184         getcwd (NULL, 0).
93185
93186 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93187
93188         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
93189         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
93190         spotted by Jim Meyering.
93191
93192 2001-09-03  Jim Meyering  <meyering@lucent.com>
93193
93194         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
93195         failure.
93196
93197 2001-09-02  Jim Meyering  <meyering@lucent.com>
93198
93199         * lib/error.c: Update from GNU libc.
93200
93201 2001-09-01  Jim Meyering  <meyering@lucent.com>
93202
93203         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
93204         Used by df.
93205
93206 2001-09-01  Jim Meyering  <meyering@lucent.com>
93207
93208         * lib/xreadlink.c: New file.
93209         * lib/xreadlink.h: New file.
93210         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
93211         xreadlink.h.
93212
93213         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
93214         doesn't conflict with sparc Solaris 7's definition in
93215         /usr/include/sys/int_types.h.
93216
93217         * lib/exclude.c: Use `""', not `<>' to #include non-system header
93218         files.
93219         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
93220         and strncasecmp as r-values.  Unixware didn't have declarations.
93221
93222 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93223
93224         * lib/xstrtol.h: Add copyright notice.
93225         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
93226         LONGINT_INVALID_SUFFIX_CHAR.
93227
93228 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93229
93230         * lib/xstrtol.c (strtoimax): New decl.
93231
93232 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93233
93234         * lib/xgetcwd.c: Don't include pathmax.h.
93235         Include stdlib.h and unistd.h if available.
93236         Include xalloc.h.
93237         (xmalloc, xstrdup, free): Remove decls.
93238         (xgetcwd): Don't assume sizes fit in unsigned.
93239         Check for overflow when computing sizes.
93240         Simplify reallocation code.
93241
93242 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93243
93244         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
93245         a directory's st_size can have an arbitrary value, so the old
93246         usage could waste an arbitrary amount of memory.  All uses
93247         changed.
93248         * lib/savedir.h: Update prototype.
93249
93250 2001-08-31  Paul Eggert  <eggert@twinsun.com>
93251
93252         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
93253
93254         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
93255         old strtoimax.c.
93256
93257         Also, make the following further changes to make this file's
93258         configuration more similar to that of strtol.c:
93259         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
93260         (strtoumax, uintmax_t, strtoull, strtol): Remove.
93261         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
93262         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
93263         changed to signed values.
93264
93265         And make the following changes as well:
93266         Fix copyright notice, as 1999 was missing.
93267         (verify): New macro.
93268         (strtoimax): Check sizes at compile-time, not run-time.
93269         Prefer strtol to strtoll if both work.
93270         (main): Remove; it was not that useful and was a pain to maintain.
93271
93272         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
93273
93274 2001-08-31  Jim Meyering  <meyering@lucent.com>
93275
93276         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
93277         Use an initial, malloc'd, buffer of length 128 rather than
93278         a statically allocated one of length 1024.
93279
93280 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93281
93282         Simplify code, partly by assuming autoconf 2.52 semantics.
93283
93284         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
93285
93286         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
93287         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
93288         All uses removed.
93289         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
93290         Move AC_REQUIRE to next-to-top level, to avoid confusion.
93291         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
93292         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
93293         jm_AC_HEADER_INTTYPES_H.
93294         * m4/jm-macros.m4 (jm_MACROS): Likewise.
93295
93296         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
93297
93298         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93299         Quote first arg of AC_DEFUN.
93300         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
93301         since they are needed to parse the include file even if we need
93302         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
93303         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
93304         but with opposite signedness.
93305
93306 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93307
93308         Merge 'exclude' changes from tar 1.13.22.
93309         This fixes one or two unlikely storage allocation overflow bugs,
93310         but doesn't change user-visible behavior otherwise.
93311
93312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93313
93314         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
93315         (jm_PREREQ_EXCLUDE): New macro.
93316
93317 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93318
93319         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
93320         tm to be declared.
93321
93322 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93323
93324         * lib/hash.c: Remove '2001' from copyright notice.
93325
93326 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93327
93328         * lib/full-write.h: New file.
93329         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
93330         * lib/full-write.c: Correct credits, as cccp.c no longer
93331         exists and anyway it was so heavily changed from the old cccp
93332         code as to be unrecognizable.  Include full-write.h.
93333         (full_write): Return size_t, with short writes meaning failure.
93334         All callers changed.  This fixes a bug with large buffers
93335         on 64-bit hosts.
93336         * lib/utime.c: Include full-write.h.
93337
93338 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93339
93340         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
93341         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
93342         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
93343         Include if available.
93344         (<xalloc.h>): Include
93345         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
93346         (verify): New macro.  Use it to verify that EXCLUDE macros do not
93347         collide with FNM macros.
93348         (struct patopts): New struct.
93349         (struct exclude): Use it, as exclude patterns now come with options.
93350         (new_exclude): Support above changes.
93351         (new_exclude, add_exclude_file):
93352         Initial size must now be a power of two to simplify overflow checking.
93353         (free_exclude, fnmatch_no_wildcards): New function.
93354         (excluded_filename): No longer requires options arg, as the options
93355         are determined by add_exclude.  Now returns bool, not int.
93356         (excluded_filename, add_exclude):
93357         Add support for the fancy new exclusion options.
93358         (add_exclude, add_exclude_file): Now takes int options arg.
93359         Check for arithmetic overflow when computing sizes.
93360         (add_exclude_file): xrealloc might modify errno, so don't
93361         realloc until after errno might be used.
93362
93363         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
93364         New macros.
93365         (free_exclude): New decl.
93366         (add_exclude, add_exclude_file): Now takes int options arg.
93367         (excluded_filename): No longer requires options arg, as the options
93368         are determined by add_exclude.  Now returns bool, not int.
93369
93370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
93371
93372         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
93373
93374 2001-08-27  Jim Meyering  <meyering@lucent.com>
93375
93376         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
93377
93378         * lib/version-etc.c (N_): Remove definition.
93379         Revert most of last change.
93380         Instead, simply don't mark the `Copyright...' string for translation.
93381         Based on advice from Paul Eggert.
93382
93383         * lib/strtoxmax.c: Tweak comment.
93384
93385 2001-08-26  Jim Meyering  <meyering@lucent.com>
93386
93387         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
93388
93389         * m4/xstrtoimax.m4: New file.
93390         * m4/xstrtoumax.m4: Add comments explaining why we
93391         AC_REPLACE_FUNCS(strtol).
93392
93393 2001-08-26  Jim Meyering  <meyering@lucent.com>
93394
93395         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
93396         of copyright with `%s' so translators don't get an untranslated
93397         message in 2002.
93398         (COPYRIGHT_YEAR): Define.
93399         (version_etc): Use fprintf rather than fputs.
93400         Suggestion from Ulrich Drepper.
93401
93402         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
93403
93404         * lib/strtoll.c: New file, from GNU libc.
93405         * lib/xstrtoimax.c: New file.
93406
93407         * lib/xstrtol.h: Add xstrtoimax.
93408         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
93409         * lib/strtoimax.c: New file.  Likewise, but first define
93410         STRTOUXMAX_SIGNED.
93411
93412         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
93413         ...
93414         * lib/strtoxmax.c: ... then renamed to this.
93415
93416 2001-08-18  Paul Eggert  <eggert@twinsun.com>
93417
93418         * m4/inttypes.m4: Add AC_PREREQ(2.13).
93419         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
93420         (jm_AC_TYPE_INTMAX_T): New macro.
93421         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
93422
93423         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
93424
93425         * m4/longlong.m4: Renamed from ulonglong.m4.
93426         * m4/inttypes.m4: Renamed from inttypes_h.m4.
93427         * m4/uintmax_t.m4: Removed.
93428
93429 2001-08-13  Paul Eggert  <eggert@twinsun.com>
93430
93431         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
93432         Port to Solaris 8, where 'sed' requires a space after the 'r'
93433         command, and where sh dislikes "$/".  Clean up the spacing a bit.
93434         Redirect output to $tmp just once.
93435
93436 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
93437
93438         * lib/addext.c (<errno.h>): Include.
93439         (errno): Declare if not defined.
93440         (addext): Work correctly when pathconf returns -1 and leaves
93441         errno alone because there is no limit.  Also, work even if
93442         pathconf returns a value greater than SIZE_MAX.
93443
93444 2001-08-12  Jim Meyering  <meyering@lucent.com>
93445
93446         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
93447         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
93448         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
93449         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
93450         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
93451         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
93452         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
93453         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
93454         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
93455         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
93456         utime.m4, utimes.m4, xstrtoumax.m4:
93457         Quote the first argument in each use of AC_DEFUN.
93458
93459 2001-08-12  Jim Meyering  <meyering@lucent.com>
93460
93461         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
93462         Simply `return getcwd (NULL, 0);'.
93463         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
93464         Use 1300 as initial value for length, not PATH_MAX.
93465
93466         * lib/pathmax.h: Clean up cpp syntax.
93467
93468 2001-08-12  Jim Meyering  <meyering@lucent.com>
93469
93470         * lib/gettimeofday.c: New file.
93471         * lib/gtod.h: New file.
93472         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
93473
93474 2001-08-05  Jim Meyering  <meyering@lucent.com>
93475
93476         * m4/jm-macros.m4: Require autoconf-2.52.
93477
93478 2001-08-04  Jim Meyering  <meyering@lucent.com>
93479
93480         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
93481         stmt, to get in sync with glibc.
93482
93483 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93484
93485         The following changes are from gettext 0.10.39 as maintained by
93486         Bruno Haible.
93487
93488         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
93489         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
93490         with inverted sense.  All uses changed.
93491
93492         * lib/mbswidth.c: Don't include <limits.h>.
93493         Include <stdlib.h> and <string.h> unconditionally.
93494         (iswcntrl, mbsinit, ISCNTRL): New macros.
93495         (mbsnwidth): Use K&R style function declarations.
93496         Don't bother checking for MB_LEN_MAX == 1, since the compiler
93497         can optimize it when MB_CUR_MAX == 1.
93498         The width of control characters is zero, not 1.
93499
93500 2001-08-03  Paul Eggert  <eggert@twinsun.com>
93501
93502         The following changes are from gettext 0.10.39 as maintained by
93503         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
93504
93505         * m4/codeset.m4: Upgrade to serial AM1.
93506         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
93507         all uses changed.  Quote first arg of AC_DEFUN.
93508         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
93509
93510         * m4/iconv.m4: Upgrade to serial AM2.
93511         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
93512         Add --with-libconv-prefix.
93513         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
93514         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
93515         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
93516         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
93517         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
93518
93519         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
93520         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
93521         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
93522         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
93523         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
93524         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
93525         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
93526         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
93527         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
93528
93529         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
93530         string.h any more.
93531
93532         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
93533         not the default value.
93534
93535         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
93536         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
93537         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
93538         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
93539         Also check for iswcntrl, used for wcwidth fallback.
93540         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
93541         to Autoconf 2.13.
93542
93543 2001-08-03  Jim Meyering  <meyering@lucent.com>
93544
93545         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
93546         as it was in the original.  Reported by Paul Eggert.
93547
93548 2001-07-16  Jim Meyering  <meyering@lucent.com>
93549
93550         * m4/gettimeofday.m4: New file.
93551         Prompted by a report from Bernhard Baehr.
93552
93553 2001-07-15  Jim Meyering  <meyering@lucent.com>
93554
93555         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
93556         stuff. Now it's in ../Makefile.cfg.
93557
93558 2001-07-15  Jim Meyering  <meyering@lucent.com>
93559
93560         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
93561         (BUILT_SOURCES): Add unlocked-io.h.
93562         (io_functions): Define.
93563         (unlocked-io.h): New rule.
93564         (DISTCLEANFILES): Add unlocked-io.h.
93565         (all-local): Depend on unlocked-io.h, to ensure it is created.
93566
93567         * lib/unlocked-io.hin: New file
93568
93569         * lib/regex.c: Update from glibc.
93570
93571 2001-07-05  Jim Meyering  <meyering@lucent.com>
93572
93573         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
93574         recommendation.
93575         (libfetish_a_SOURCES): Put all .h files here instead.
93576         Remove a thus-exposed (better checks in automake) duplicate and
93577         two unnecessary .h files.
93578
93579 2001-07-04  Jim Meyering  <meyering@lucent.com>
93580
93581         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
93582         that generates jm-glibc-io.m4 so that it doesn't trigger any make
93583         distcheck failure.
93584
93585 2001-07-02  Jim Meyering  <meyering@lucent.com>
93586
93587         The following changes were prompted by suggestions from Bruno Haible.
93588
93589         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
93590         is now generated.
93591         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
93592         definition of EXTRA_DIST.
93593         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
93594         ensure that the generated file is created/updated whenever the list
93595         of $(unlocked_functions) is changed.
93596         (jm-glibc-io.m4): New rule.
93597         (unlocked-io.h): New rule -- currently unused.
93598
93599 2001-06-24  Jim Meyering  <meyering@lucent.com>
93600
93601         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
93602         unmatched right bracket, rather than kludging it with an extra,
93603         falsely-matching quote in a comment.  Patch by Akim Demaille.
93604
93605 2001-06-11  Jim Meyering  <meyering@lucent.com>
93606
93607         * lib/regex.c: Update from GNU libc.
93608
93609 2001-05-27  Jim Meyering  <meyering@lucent.com>
93610
93611         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
93612         Check for ut_type in struct utmp.
93613
93614 2001-05-27  Jim Meyering  <meyering@lucent.com>
93615
93616         * lib/readutmp.h (UT_TYPE): Define.
93617
93618 2001-05-24  Jim Meyering  <meyering@lucent.com>
93619
93620         * lib/argmatch.c: Include "quote.h".
93621         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
93622         quote function.  Reported by Göran Uddeborg.
93623
93624 2001-05-22  Jim Meyering  <meyering@lucent.com>
93625
93626         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
93627         now that we use the package-supplied version unconditionally.
93628         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
93629
93630 2001-05-21  Jim Meyering  <meyering@lucent.com>
93631
93632         * m4/regex.m4: Change a couple backticks to single quotes to avoid
93633         shell syntax errors.
93634
93635 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93636
93637         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
93638
93639 2001-05-20  Paul Eggert  <eggert@twinsun.com>
93640
93641         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
93642         Don't bother to check library strftime, since
93643         we'll be using our own my_strftime function anyway.
93644         Define my_strftime instead of strftime.
93645
93646 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
93647
93648         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
93649         which is not yet declared.
93650
93651 2001-05-15  Jim Meyering  <meyering@lucent.com>
93652
93653         * m4/regex.m4: Use proper quoting so brackets appear in the test
93654         program.
93655         Reported by, and with help from, Bruno Haible.
93656
93657 2001-05-13  Jim Meyering  <meyering@lucent.com>
93658
93659         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
93660         undefined.
93661
93662 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93663
93664         dirname code cleanup.  base_name now behaves more compatibly
93665         with POSIX basename when given file names that have trailing
93666         slashes, and similarly for dir_name.  Add new primitives
93667         base_len and dir_len.  Put the directory-name-related decls
93668         into dirname.h.
93669
93670         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
93671         * lib/backupfile.c (base_name): Likewise.
93672         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
93673         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
93674         * lib/makepath.c (strip_trailing_slashes): Likewise.
93675         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
93676         ISSLASH): Likewise.
93677         * lib/rename.c (strip_trailing_slashes): Likewise.
93678         * lib/same.c (base_name): Likewise.
93679         * lib/stripslash.c (ISSLASH): Likewise.
93680
93681         * lib/addext.c: Include <dirname.h> after size_t is defined.
93682         * lib/backupfile.c: Likewise.
93683
93684         * lib/addext.c (addext): Use base_len to trim redundant
93685         trailing slashes instead of doing it ourselves.
93686         But do not trim the last slash if it is not redundant.
93687
93688         * lib/backupfile.c (find_backup_file_name,
93689         max_backup_version): Use base_len instead of rolling it ourselves.
93690         Handle the case of "" and (on DOS) "C:" correctly.
93691
93692         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
93693         needed. Include <string.h>, <dirname.h>.
93694         (base_name): Allow file names ending in slashes, other than names
93695         that are all slashes.  In this case, return the basename followed
93696         by the slashes.  This is more general, and can be used in places
93697         where the original base_name purposely had an assertion failure.
93698         (base_len): New function.
93699
93700         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
93701         Do not include <assert.h>; no longer needed.
93702         Include xalloc.h.
93703         (memrchr): Remove decl.
93704         (dir_name_r): Remove.
93705         (dir_len): Renamed from dirlen.  All callers changed.
93706         Rewrite in terms of base_name, for simplicity and consistency.
93707         (dir_name): Never return NULL.  All callers changed.
93708         Do not include <stdlib.h> in test program; no longer needed.
93709         return 0; is fine for test program.
93710
93711         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
93712         New macros.
93713         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
93714
93715         * lib/path-concat.c (path_concat): Use base_len to compute
93716         base length, not strlen; this means we cannot rely on memcpy
93717         to null-terminate.
93718
93719         * lib/same.c (STREQ): Remove.
93720         (same_name): Handle the case where the basename ends in trailing '/'.
93721
93722         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
93723         a slash was stripped.  Do not strip the last slash after a
93724         file system prefix.
93725
93726 2001-05-11  Paul Eggert  <eggert@twinsun.com>
93727
93728         * lib/Makefile.am (libfetish_a_SOURCES):
93729         Add strftime.c, since we now compile it on all hosts.
93730
93731         * lib/strftime.c (my_strftime):
93732         Define to nstrftime if emacs, but only if my_strftime is not defined.
93733         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
93734         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
93735         Add one more extra argument: a nanoseconds value.
93736         All uses changed.
93737         (ns): New macro.
93738         (my_strftime function): Add %N format.
93739         (emacs_strftimeu): Renamed from emacs_strftime,
93740         with extra ut argument.
93741
93742 2001-05-09  Paul Eggert  <eggert@twinsun.com>
93743
93744         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
93745
93746 2001-04-21  Jim Meyering  <meyering@lucent.com>
93747
93748         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
93749         doesn't interfere.
93750
93751 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
93752
93753         * m4/ftruncate.m4: Check for chsize.
93754         Link with ftruncate.o unconditionally if ftruncate is missing.
93755         This was required when cross-compiling to i586-mingw32msvc.
93756
93757 2001-04-08  Jim Meyering  <meyering@lucent.com>
93758
93759         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
93760         recomputed; that's necessary when the offset spans a DST transition.
93761         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
93762
93763 2001-04-02  Jim Meyering  <meyering@lucent.com>
93764
93765         * lib/regex.h, regex.c: Update from GNU libc.
93766
93767 2001-03-24  Jim Meyering  <meyering@lucent.com>
93768
93769         * m4/jm-macros.m4: Require autoconf-2.49d.
93770
93771 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
93772
93773         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
93774
93775 2001-03-19  Paul Eggert  <eggert@twinsun.com>
93776
93777         * lib/version-etc.c (version_etc_copyright): Update to 2001.
93778
93779 2001-03-17  Jim Meyering  <meyering@lucent.com>
93780
93781         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
93782         now that the version in autoconf is equivalent.
93783         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
93784
93785         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
93786         Suggestion from Akim Demaille.
93787
93788         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
93789         (jm_PREREQ_TEMPNAME): New function.
93790
93791 2001-03-16  Paul Eggert  <eggert@twinsun.com>
93792
93793         * lib/tempname.c (uint64_t): Define to uintmax_t if
93794         not defined, and if UINT64_MAX is not defined.
93795         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
93796         Reported by John David Anglin.
93797
93798 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
93799
93800         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
93801         resolve alias if codeset is empty.
93802         * lib/config.charset (BeOS): Use wildcard syntax.
93803
93804 2001-03-13  Jim Meyering  <meyering@lucent.com>
93805
93806         * lib/path-concat.c (path_concat)
93807         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
93808         concatenating e.g., `C:' and `foo'.
93809         From Bruno Haible.
93810
93811 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93812
93813         * lib/localcharset.c (locale_charset): Don't use
93814         setlocale(LC_CTYPE,NULL). Don't return NULL.
93815         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
93816
93817 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
93818
93819         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
93820         support for DOS/DJGPP.
93821
93822 2001-03-01  Paul Eggert  <eggert@twinsun.com>
93823
93824         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
93825         lacks mkstemp.  Compile our own tempname.c if we compile our own
93826         mkstemp.c, as mkstemp relies on tempname.
93827
93828 2001-03-01  Jim Meyering  <meyering@lucent.com>
93829
93830         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
93831         AH_VERBATIM really does output its argument verbatim.
93832
93833 2001-02-28  Paul Eggert  <eggert@twinsun.com>
93834
93835         * lib/Makefile.am (libfetish_a_SOURCES):
93836         Add dup-safer.c, fopen-safer.c.
93837         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
93838
93839         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
93840         * lib/unistd-safer.h: New files.
93841
93842 2001-02-25  Paul Eggert  <eggert@twinsun.com>
93843
93844         The mkstemp replacement is taken from glibc 2.2.2, with some
93845         portability fixes for use outside glibc, as follows:
93846
93847         * lib/tempname.c (struct_stat64): New macro.
93848         (direxists, __gen_tempname): Use it.
93849         This avoids a portability problem with Solaris 8.
93850
93851         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
93852         (<stddef.h>, <stdint.h>, <string.h>):
93853         Include only if STDC_HEADERS || _LIBC.
93854         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
93855         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
93856         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
93857         (__set_errno): Define this macro if <errno.h> doesn't.
93858         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
93859         Define these macros if <stdio.h> doesn't.
93860         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
93861         Define these macros if <sys/stat.h>
93862         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
93863         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
93864         __xstat64): Define if not _LIBC.
93865         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
93866         (__gen_tempname): Invoke gettimeofday only if
93867         HAVE_GETTIMEOFDAY || _LIBC;
93868         otherwise, fall back on plain "time".
93869         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
93870
93871         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
93872
93873         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
93874
93875 2001-02-18  Paul Eggert  <eggert@twinsun.com>
93876
93877         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
93878
93879 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93880
93881         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
93882         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
93883         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
93884         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93885
93886 2001-02-17  Paul Eggert  <eggert@twinsun.com>
93887
93888         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
93889         Remove workaround macros for hosts that have mbrtowc but not
93890         mbstate_t, as we now insist on proper declarations for both
93891         before using mbrtowc.
93892
93893 2001-02-17  Jim Meyering  <meyering@lucent.com>
93894
93895         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
93896         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
93897         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
93898         UnixWare 7.1.1.
93899
93900         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
93901         rather than AC_CACHE_VAL.
93902
93903 2001-02-17  Jim Meyering  <meyering@lucent.com>
93904
93905         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
93906         around included file name.
93907
93908         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
93909
93910         * lib/strftime.c: Update from GNU libc (the only changes were to
93911         comments).
93912
93913 2001-02-17  Jim Meyering  <meyering@lucent.com>
93914
93915         * lib/regex.c: Update from libc.
93916
93917 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
93918
93919         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
93920         clash.
93921
93922 2001-02-16  Paul Eggert  <eggert@twinsun.com>
93923
93924         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
93925         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
93926         Reported by Mark Hounschell via Paul Eggert.
93927
93928 2001-02-07  Jim Meyering  <meyering@lucent.com>
93929
93930         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
93931
93932 2001-02-05  Jim Meyering  <meyering@lucent.com>
93933
93934         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
93935         it includes the patch required for `large file' support with at least
93936         HP-UX's 10.20 /bin/cc.
93937
93938 2001-02-03  Jim Meyering  <meyering@lucent.com>
93939
93940         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
93941         AS_IF, now that it works once again (mysteriously).
93942         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93943
93944 2001-01-30  Jim Meyering  <meyering@lucent.com>
93945
93946         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
93947         * m4/chown.m4: Rename conftestchown to conftest.chown.
93948         * m4/rename.m4: s/conftestdir/conftest.d1/ and
93949         s/conftestdir2/conftest.d2/.
93950         * m4/utimes.m4: s/conftestdata/conftest.data/
93951         Inspired by Pavel Roskin's change in autoconf.
93952
93953 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
93954
93955         * lib/config.charset: Update for FreeBSD 4.2.
93956
93957 2001-01-27  Jim Meyering  <meyering@lucent.com>
93958
93959         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
93960         a use of AS_IF.
93961         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
93962
93963 2001-01-26  Jim Meyering  <meyering@lucent.com>
93964
93965         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
93966         quotearg.c includes it.
93967
93968 2001-01-26  Jim Meyering  <meyering@lucent.com>
93969
93970         * lib/quotearg.c: Include stddef.h.
93971         * lib/quote.c: Include stddef.h.
93972         Reported by Axel Kittenberger.
93973
93974         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
93975         line in double quotes so that it evokes a better diagnostic.
93976         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
93977         Reported by Axel Kittenberger.
93978
93979 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
93980
93981         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
93982         as if it was a `charset'.
93983
93984 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93985
93986         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
93987         has const.
93988
93989 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
93990
93991         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
93992         to avoid a warning.  Add back 'const' to inptr.
93993
93994 2001-01-20  Jim Meyering  <meyering@lucent.com>
93995
93996         Be sure that headers are checked before used in code compiled
93997         for the type checks.
93998         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
93999         In place of that, invoke jm_CHECK_ALL_TYPES.
94000         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94001         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94002         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94003         The check for ssize_t was mistakenly run before the test for unistd.h.
94004
94005         The configure-time check for stdbool.h was missing.
94006         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94007         (jm_PREREQ_HASH): New function.
94008
94009 2001-01-17  Jim Meyering  <meyering@lucent.com>
94010
94011         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94012         for autoconf-2.49c.
94013         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94014
94015 2001-01-16  Jim Meyering  <meyering@lucent.com>
94016
94017         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94018         From Bruno Haible.
94019
94020 2001-01-14  Jim Meyering  <meyering@lucent.com>
94021
94022         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94023         foo and bar.  Create conftestdir/ in the script, not in the C code.
94024         Remove directories in the script, not in the C code.
94025         Remove conftestdir{,2} before trying to create the directory.
94026         Make the entire configure script fail if the mkdir fails.
94027
94028 2001-01-14  Jim Meyering  <meyering@lucent.com>
94029
94030         * lib/rename.c: New file.  From Volker Borchert.
94031         Include stdlib.h, string.h or strings.h, and xalloc.h.
94032         Use strip_trailing_slashes rather than open-coding it.
94033
94034 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94035
94036         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94037
94038 2001-01-03  Jim Meyering  <meyering@lucent.com>
94039
94040         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94041         of local `inptr' to avoid warning with some system declarations of
94042         iconv.
94043
94044 2001-01-02  Volker Borchert  <bt@teknon.de>
94045
94046         * m4/rename.m4: New file.
94047         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94048
94049 2001-01-01  Jim Meyering  <meyering@lucent.com>
94050
94051         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94052         even on systems with utmpx.h.  It's necessary for the declaration of
94053         utmp's ut_user member.  Reported by Andreas Jaeger.
94054
94055         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94056         available. They are required for the declarations of getgrgid and
94057         getpwuid resp.
94058         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94059         Reported by Andreas Jaeger.
94060
94061 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94062
94063         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94064         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94065         so `make install' also works in VPATH builds.
94066
94067 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94068
94069         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94070         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94071         can be used in subdirectories.
94072
94073 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94074
94075         * lib/modechange.c: Do not assume that mode_t uses the
94076         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94077         the other-execute bit of FOO even if S_IXOTH != 1.
94078
94079         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94080         WOTH, XOTH, ALLM): New macros.
94081         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94082          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94083         Use them.
94084         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94085         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94086         (mode_compile):
94087         No need to use uintmax_t; unsigned long is long enough.
94088         Don't bother to get suffix since we don't use it.
94089
94090 2000-12-26  Jim Meyering  <meyering@lucent.com>
94091
94092         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94093         better with autoheader.
94094
94095 2000-12-24  Jim Meyering  <meyering@lucent.com>
94096
94097         * lib/hash.c (is_prime): Return explicit boolean values.
94098         (hash_get_first): Return NULL to appease Irix5.6's 89.
94099         Reported by Nelson Beebe.
94100
94101 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94102
94103         * lib/localcharset.c (locale_charset): Add support for Win32.
94104
94105 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94106
94107         * lib/physmem.h, lib/physmem.c: New files.
94108
94109         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94110         (noinst_HEADERS): Add physmem.h.
94111
94112         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94113         't' for compatibility with Solaris 8 sort.
94114
94115 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94116
94117         * lib/config.charset: Add support for BeOS.
94118
94119 2000-12-17  Jim Meyering  <meyering@lucent.com>
94120
94121         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94122         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94123
94124 2000-12-16  Jim Meyering  <meyering@lucent.com>
94125
94126         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94127         N and M) would have treated it like `chown N:N FILE'.
94128
94129         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94130
94131 2000-12-16  Jim Meyering  <meyering@lucent.com>
94132
94133         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94134         SHELLS_FILE to a file name that's useful on djgpp systems.
94135         Include stdlib.h.
94136         (ADDITIONAL_DEFAULT_SHELLS): Define.
94137         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94138         Based mostly on a patch from Prashant TR.
94139
94140 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94141
94142         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94143         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94144         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94145
94146 2000-12-08  Andreas Schwab  <schwab@suse.de>
94147
94148         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94149         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94150
94151 2000-12-07  Jim Meyering  <meyering@lucent.com>
94152
94153         * lib/stripslash.c (ISSLASH): Define.
94154         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94155         `/'.
94156         From Prashant TR.
94157
94158         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94159         (dir_name_r): Declare this function as static.
94160         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94161         manifest itself on a name containing a mix of slashes and
94162         backslashes.
94163         Make this function work with names starting with a DOS-style
94164         drive letter and colon prefix.
94165         (dir_name): Append `.' if necessary.
94166         Based mostly on patches from Prashant TR and Eli Zaretskii.
94167
94168         * lib/dirname.h (dir_name_r): Remove prototype.
94169
94170 2000-12-06  Paul Eggert  <eggert@twinsun.com>
94171
94172         * m4/off_t-format.m4: Remove this file.
94173         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
94174
94175 2000-12-06  Jim Meyering  <meyering@lucent.com>
94176
94177         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
94178         replacement strtoull, we may well need the replacement strtoul, too.
94179         Check for declarations of strtoul and strtoull.
94180         Check for strtol.  Mainly as a cue to cause automake to include
94181         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
94182         Check for limits.h -- strtol.c needs it.
94183
94184 2000-12-05  Jim Meyering  <meyering@lucent.com>
94185
94186         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
94187
94188 2000-12-04  Jim Meyering  <meyering@lucent.com>
94189
94190         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94191         Also include memory.h, stdlib.h, unistd.h if appropriate.
94192         Reported by Andreas Jaeger (conflicting declaration of malloc).
94193
94194 2000-12-02  Jim Meyering  <meyering@lucent.com>
94195
94196         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
94197         * m4/jm-macros.m4 (jm_MACROS): require it.
94198
94199 2000-12-02  Jim Meyering  <meyering@lucent.com>
94200
94201         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
94202
94203 2000-12-01  Paul Eggert  <eggert@twinsun.com>
94204
94205         * lib/memrchr.c: Include <config.h> before any system include file.
94206
94207 2000-11-30  Jim Meyering  <meyering@lucent.com>
94208
94209         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
94210
94211 2000-11-30  Jim Meyering  <meyering@lucent.com>
94212
94213         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
94214
94215 2000-11-29  Paul Eggert  <eggert@twinsun.com>
94216
94217         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
94218
94219 2000-11-26  Jim Meyering  <meyering@lucent.com>
94220
94221         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
94222
94223 2000-11-22  Paul Eggert  <eggert@twinsun.com>
94224
94225         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
94226         size of (size_t) -1; it's not portable.
94227
94228 2000-11-17  Jim Meyering  <meyering@lucent.com>
94229
94230         * lib/strstr.c: Update from GNU libc.
94231
94232 2000-11-17  Akim Demaille  <akim@epita.fr>
94233
94234         * lib/obstack.h: Formatting changes.
94235         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
94236         prevent type checking.
94237         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
94238         cast the value to (void *): assigning a `foo *' to a `void *'
94239         variable is valid.
94240         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
94241
94242 2000-11-16  Jim Meyering  <meyering@lucent.com>
94243
94244         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
94245
94246 2000-11-11  Jim Meyering  <meyering@lucent.com>
94247
94248         * lib/error.c: Add a couple #includes, merging from GNU libc version.
94249
94250 2000-11-10  Jim Meyering  <meyering@lucent.com>
94251
94252         * lib/obstack.h: Update from GNU libc.
94253         * lib/obstack.c: Likewise.
94254
94255 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
94256
94257         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
94258
94259 2000-11-06  Paul Eggert  <eggert@twinsun.com>
94260
94261         * lib/getusershell.c (setusershell): Use rewind rather than
94262         fseek/fseeko, to avoid configuration hassles with fseeko.
94263         Don't bother opening SHELLS_FILE if shellstream is NULL;
94264         it's not necessary.
94265
94266 2000-11-05  Jim Meyering  <meyering@lucent.com>
94267
94268         * lib/makepath.h (make_dir): Declare.
94269         * lib/makepath.c (make_dir): Remove `static' attribute.
94270         Tweak a comment.
94271
94272 2000-11-04  Jim Meyering  <meyering@lucent.com>
94273
94274         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
94275
94276 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
94277
94278         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
94279         last one in a bucket, advance to the next bucket.
94280
94281 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
94282
94283         * lib/fnmatch.c: Do not comment out all the code if we are using
94284         the GNU C library, because in some cases we are replacing buggy
94285         code in the GNU C library itself.
94286
94287 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
94288
94289         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
94290         (regex_compile): Catch bogus \(\1\).
94291
94292 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94293
94294         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
94295         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
94296         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
94297
94298 2000-10-30  Paul Eggert  <eggert@twinsun.com>
94299
94300         * lib/error.h, getline.h, modechange.h:
94301         Remove "2000" from Copyright line, as the file hasn't been
94302         changed this year other than in the copyright notice.
94303
94304         * lib/xalloc.h: Add "2000" to Copyright line, as this file
94305         was changed this year.
94306
94307 2000-10-29  Jim Meyering  <meyering@lucent.com>
94308
94309         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
94310         renaming.
94311         * m4/ls-mntd-fs.m4: Likewise
94312
94313 2000-10-29  Jim Meyering  <meyering@lucent.com>
94314
94315         * lib/xstat.in: Fix grammar in comment.
94316
94317 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
94318
94319         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
94320         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
94321         doesn't define __restrict_arr.
94322
94323 2000-10-28  Jim Meyering  <meyering@lucent.com>
94324
94325         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
94326         (jm_PREREQ_MEMCHR): New function.
94327
94328 2000-10-28  Jim Meyering  <meyering@lucent.com>
94329
94330         * lib/memchr.c: Update from libc.
94331         Adjust for portability:
94332         [HAVE_STDLIB_H]: Include stdlib.h.
94333         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
94334         Undef __memchr, too.
94335         [!weak_alias]: Define __memchr to memchr.
94336
94337         * lib/regex.c: Update from libc.
94338         * lib/regex.h: Likewise.
94339         * lib/getopt1.c: Likewise.
94340         * lib/memcmp.c: Likewise.
94341
94342         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
94343         Avoid using fseek, when possible -- it's broken by design.
94344         Patch by Ulrich Drepper.
94345
94346 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
94347
94348         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
94349         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
94350         Giving in to popular pressure to shut up the compiler with casts.
94351
94352 2000-10-26  Jim Meyering  <meyering@lucent.com>
94353
94354         * lib/strftime.c: Update from libc.
94355
94356 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
94357
94358         * regex.c: More `unsigned char' -> `re_char' changes.
94359         Also change several `int' into `re_wchar_t'.
94360         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
94361         (PUSH_FAILURE_POINTER): Don't cast any more.
94362         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
94363         We want GCC to complain, since this piece of code makes
94364         re_match non-reentrant, which *should* be fixed.
94365         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
94366         (EXTEND_BUFFER): Use RETALLOC.
94367         (SET_LIST_BIT): Don't cast.
94368         (re_wchar_t): New type.
94369         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
94370         that those two functions will always properly return.
94371         (IMMEDIATE_QUIT_CHECK): Cast to void.
94372         (analyse_first): Use recursion rather than an explicit stack.
94373         (re_compile_fastmap): Can't fail anymore.
94374         (re_search_2): Don't check re_compile_fastmap for failure.
94375         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
94376         Now also sets the new value (passed in a new argument).
94377         (re_match_2_internal): Use it.
94378         Also, use a new var `reg' of type size_t when looping through regs
94379         rather than reuse the inappropriate `mcnt'.
94380
94381 2000-10-25  Jim Meyering  <meyering@lucent.com>
94382
94383         * lib/obstack.c: Update from libc.
94384
94385 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
94386
94387         * regex.c (regex_compile): Change the way of handling a range from
94388         a char less than 256 to a char not less than 256.
94389
94390 2000-10-24  Andrew Innes  <andrewi@gnu.org>
94391
94392         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
94393         NT-Emacs only.
94394         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
94395         so that re_search functions only quit when callers expect them to.
94396
94397 2000-10-23  Jim Meyering  <meyering@lucent.com>
94398
94399         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
94400         wrong.  That set_locale call must not have any side effects.
94401         From Paul Eggert.
94402
94403 2000-10-22  Jim Meyering  <meyering@lucent.com>
94404
94405         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
94406         [CYCLIC]: Remove now-unused definition.
94407
94408         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
94409         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
94410         Suggestion from Ulrich Drepper.
94411
94412 2000-10-21  Jim Meyering  <meyering@lucent.com>
94413
94414         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
94415         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
94416         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
94417
94418 2000-10-21  Jim Meyering  <meyering@lucent.com>
94419
94420         * lib/dirname.c (memrchr): Declare if necessary.
94421         (dir_name): Remove the restriction that there be no
94422         trailing slashes.  Now, this code skips past them, effectively
94423         ignoring them.
94424         [TEST_DIRNAME] (main): New unit tests.
94425
94426         * lib/memrchr.c: New file from GNU libc.
94427         Undef __memrchr, too.
94428         [!weak_alias]: Define __memrchr to memrchr.
94429         Guard weak_alias use with `#ifdef weak_alias'.
94430
94431 2000-10-21  Jim Meyering  <meyering@lucent.com>
94432
94433         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
94434         (dir_name): Use dir_name_r.
94435         * lib/dirname.h (dir_name_r): Declare it.
94436
94437 2000-10-17  Jim Meyering  <meyering@lucent.com>
94438
94439         * lib/quote.h (PARAMS): Define and use.
94440         Reported by Akim Demaille.
94441
94442         * lib/getopt.c: Update from libc.
94443
94444 2000-10-16  Jim Meyering  <meyering@lucent.com>
94445
94446         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
94447         setlocale.
94448         From Jan Fedak.
94449
94450 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
94451
94452         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
94453
94454 2000-09-25  Jim Meyering  <meyering@lucent.com>
94455
94456         * lib/md5.h (rol): Define (from GnuPG).
94457
94458         * lib/sha.c: Give credit (GnuPG) where due.
94459         (M): Use rol rather than open-coding it.
94460         Add a FIXME comment.
94461
94462 2000-09-21  Jim Meyering  <meyering@lucent.com>
94463
94464         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
94465         Reported by Michael Stone.
94466
94467 2000-09-20  Jim Meyering  <meyering@lucent.com>
94468
94469         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
94470         (noinst_HEADERS): Add sha.h.
94471         Based on code from Scott G. Miller and from GnuPG.
94472
94473 2000-09-18  Jim Meyering  <meyering@lucent.com>
94474
94475         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
94476         LIBS. Otherwise, everyone ends up linking with -lelf for some
94477         configurations.
94478         Reported by Mike Stone.
94479
94480 2000-09-15  Jim Meyering  <meyering@lucent.com>
94481
94482         * lib/regex.c: Update from libc.
94483
94484 2000-09-10  Jim Meyering  <meyering@lucent.com>
94485
94486         * lib/getopt.c (_getopt_internal): Update from glibc.
94487
94488 2000-09-09  Jim Meyering  <meyering@lucent.com>
94489
94490         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94491         think it should be used as a general replacement for isascii.
94492         * lib/fnmatch.c: Likewise.
94493         * lib/mbswidth.c: Likewise
94494         * lib/regex.c: Likewise.
94495
94496         Don't use atoi.
94497         * lib/userspec.c: Include sys/param.h and limits.h.
94498         Include xstrtol.h.
94499         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94500         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
94501         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
94502         UID, GID.  Check range.
94503
94504 2000-09-06  Jim Meyering  <meyering@lucent.com>
94505
94506         * lib/getopt.c (_getopt_internal): Update from glibc.
94507
94508 2000-08-30  Jim Meyering  <meyering@lucent.com>
94509
94510         * lib/strftime.c: Merge in changes from GNU libc.
94511
94512 2000-08-26  Jim Meyering  <meyering@lucent.com>
94513
94514         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
94515         * m4/fpending.m4: New file.
94516
94517 2000-08-26  Jim Meyering  <meyering@lucent.com>
94518
94519         * lib/closeout.c: Include "__fpending.h".
94520         (close_stdout_status): Return right away if there's nothing to flush.
94521
94522         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
94523         * lib/__fpending.c: New file.
94524         * lib/__fpending.h: New file.
94525
94526 2000-08-20  Jim Meyering  <meyering@lucent.com>
94527
94528         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
94529         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
94530         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
94531
94532 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
94533
94534         Improve fileutils installation on systems where running
94535         programs (like install) can't be unlinked.
94536         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
94537         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
94538
94539 2000-08-07  Paul Eggert  <eggert@twinsun.com>
94540
94541         Standardize on "memory exhausted" instead of "Memory exhausted"
94542         or "virtual memory exhausted".
94543         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
94544         "virtual memory exhausted".
94545         * lib/same.c (same_name): Invoke xalloc_die instead of printing
94546         our own message.
94547         * lib/userspec.c (parse_user_spec): Likewise.
94548         * lib/bumpalloc.h: comment fix
94549         * lib/same.c, userspec.c: Include xalloc.h.
94550
94551         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
94552         not char *const and pointing to a constant array.
94553         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
94554         (xrealloc): Comment fix.
94555
94556         * lib/userspec.c (parse_user_spec):
94557         Don't translate a message until just before returning,
94558         to avoid unnecessary translation.
94559
94560 2000-08-07  Jim Meyering  <meyering@lucent.com>
94561
94562         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
94563         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
94564         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
94565         getgroups.c, gethostname.c, getopt.h, group-member.c,
94566         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
94567         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
94568         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
94569         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
94570         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
94571         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
94572         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
94573         yesno.c: Back out Copyright date changes for each file with no change
94574         this year.  This eases coordination with other programs using the same
94575         source code modules.  From Paul Eggert.
94576
94577 2000-08-06  Paul Eggert  <eggert@twinsun.com>
94578
94579         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
94580         not char, for compatibility with glibc 2.1.3 strftime.c.
94581
94582 2000-08-03  Greg McGary  <greg@mcgary.org>
94583
94584         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
94585         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
94586         (EXTEND_BUFFER): Use them.
94587
94588 2000-08-01  Jim Meyering  <meyering@lucent.com>
94589
94590         * lib/dirname.c (ISSLASH): Define.
94591         (BACKSLASH_IS_PATH_SEPARATOR): Define.
94592         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
94593         both `\' and `/' may be use as path separators.
94594         Based on a patch from Prashant TR.
94595
94596 2000-07-31  Paul Eggert  <eggert@twinsun.com>
94597
94598         * lib/quotearg.c (quotearg_n_options): Don't make the initial
94599         slot vector a constant, since it might get modified.
94600
94601 2000-07-31  Jim Meyering  <meyering@lucent.com>
94602
94603         * lib/xmalloc.c: Use `virtual memory exhausted', not
94604         `Memory exhausted'.
94605         * lib/obstack.c (print_and_abort): Likewise.
94606
94607 2000-07-30  Paul Eggert  <eggert@twinsun.com>
94608
94609         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
94610         buffer, so that the caller can always quote one small
94611         component of a "memory exhausted" message in slot 0.
94612         From a suggestion by Jim Meyering.
94613
94614 2000-07-30  Jim Meyering  <meyering@lucent.com>
94615
94616         * lib/makepath.c (make_path): Quote the other instance, too.
94617
94618         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
94619         (STATIC_BUF_SIZE): Define.
94620         (quotearg_n_options): Use only statically allocated storage when
94621         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
94622         than STATIC_BUF_SIZE.
94623
94624 2000-07-29  Jim Meyering  <meyering@lucent.com>
94625
94626         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
94627         * lib/dirname.c (dir_name): Likewise.
94628
94629         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
94630         `/'.
94631
94632         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
94633         (dir_name): Assert that there are no trailing slashes.
94634
94635 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
94636
94637         * lib/mbswidth.h (mbswidth): Add a flags argument.
94638         (mbswidth): New declaration.
94639         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
94640         * lib/mbswidth.c (mbswidth): Add a flags argument.
94641         (mbsnwidth): New function.
94642
94643 2000-07-24  Jim Meyering  <meyering@lucent.com>
94644
94645         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
94646
94647 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94648
94649         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
94650
94651 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94652
94653         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
94654         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
94655         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
94656         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
94657         invoke multibyte primitives.
94658
94659 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94660
94661         * lib/quotearg.c:
94662         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
94663         so that mbstate_t is always defined.
94664
94665         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
94666         be 1 in at least one GCC installation, and this configuration
94667         error is likely to be common.  Ignoring MB_LEN_MAX hurts
94668         performance on hosts that have mbrtowc but have only unibyte
94669         locales, but I assume these hosts are rare.
94670
94671 2000-07-23  Paul Eggert  <eggert@twinsun.com>
94672
94673         * lib/mbswidth.c (_XOPEN_SOURCE):
94674         Don't define; this causes problems on Solaris 7.
94675         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
94676
94677 2000-07-23  Jim Meyering  <meyering@lucent.com>
94678
94679         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
94680         too: getgrgid, getpwuid, getuid.
94681
94682 2000-07-23  Jim Meyering  <meyering@lucent.com>
94683
94684         * lib/basename.c (base_name): Add an assertion.
94685
94686 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
94687
94688         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
94689         shadow its mbsinit function.
94690
94691 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94692
94693         * lib/mbswidth.h: New file.
94694         * lib/mbswidth.c: New file.
94695         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
94696         (noinst_HEADERS): Add mbswidth.h.
94697
94698 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
94699
94700         * lib/config.charset: Add support for FreeBSD. Improve support for
94701         HP-UX and IRIX 6.
94702
94703 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
94704
94705         * m4/mbswidth.m4: New file.
94706         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
94707
94708 2000-07-15  Jim Meyering  <meyering@lucent.com>
94709
94710         * lib/makepath.c: Include quote.h.
94711         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
94712         corresponding argument in a `quote (...)' call.
94713         Give better diagnostics.
94714
94715         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
94716         (noinst_HEADERS): Add quote.h.
94717
94718         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
94719         from tar's src/misc.c.
94720         * lib/quote.h: New file.  Prototypes for same.
94721
94722 2000-07-14  Paul Eggert  <eggert@twinsun.com>
94723
94724         From a suggestion by Bruno Haible.
94725         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
94726         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
94727         to decide whether to define the BeOS workaround macro;
94728         this adjusts to the change to AC_MBSTATE_T.
94729
94730 2000-07-14  Jim Meyering  <meyering@lucent.com>
94731
94732         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
94733         jm_AC_TYPE_UINTMAX_T.
94734
94735 2000-07-13  Paul Eggert  <eggert@twinsun.com>
94736
94737         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
94738
94739         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
94740         quotearg_buffer_restyled): Add support for
94741         clocale_quoting_style.  Undo previous change to
94742         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
94743         and "{RIGHT QUOTATION MARK}" msgids.
94744
94745 2000-07-10  Paul Eggert  <eggert@twinsun.com>
94746
94747         From a suggestion by Bruno Haible.
94748         * m4/mbstate_t.m4 (AC_MBSTATE_T):
94749         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
94750         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
94751         and mbstate_t, to a single-part test that simply defines mbstate_t.
94752         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
94753         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
94754
94755 2000-07-10  Jim Meyering  <meyering@lucent.com>
94756
94757         * m4/strerror_r.m4: Mirror the correction made in autoconf.
94758
94759         * m4/gnu-source.m4: Output to confdefs.h directly.
94760         Suggestion from Akim Demaille.
94761
94762 2000-07-09  Paul Eggert  <eggert@twinsun.com>
94763
94764         The old behavior of quoting `like this' doesn't look good with
94765         newer, ISO-style fonts.  See:
94766         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
94767
94768         Instead, quote "like this" by default.  Let the translator
94769         tailor the locale-specific quoting behavior by providing
94770         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
94771
94772         * lib/quotearg.c (N_): New macro.
94773         (gettext_default): New function.
94774         (quotearg_buffer_restyled): Use
94775         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
94776         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
94777
94778 2000-07-09  Jim Meyering  <meyering@lucent.com>
94779
94780         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
94781         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
94782
94783         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
94784         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
94785
94786 2000-07-09  Jim Meyering  <meyering@lucent.com>
94787
94788         * lib/Most files: Update copyright dates to include 2000.
94789
94790 2000-07-08  Jim Meyering  <meyering@lucent.com>
94791
94792         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
94793         if not defined.
94794         (xgethostname): Remove now-unnecessary #ifdef.
94795         Move declaration of `err' into loop where it's used.
94796
94797 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94798         and Bruno Haible  <haible@clisp.cons.org>
94799
94800         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
94801         only if the test for an object-type mbstate_t fails.  This
94802         prevents us from mistakenly reporting that mbstate_t is a
94803         system object type after we "#define mbstate_t int" to work
94804         around its lack.
94805
94806 2000-07-05  Paul Eggert  <eggert@twinsun.com>
94807         and Bruno Haible  <haible@clisp.cons.org>
94808
94809         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
94810
94811 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94812
94813         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
94814         to strerror_r.
94815         Include <ctype.h> for use of isalpha.
94816
94817 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94818
94819         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
94820         by allocating a larger buffer. Test the gethostname return value for
94821         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
94822         returns an error and ENAMETOOLONG isn't defined.
94823
94824 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
94825
94826         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
94827         dimension.
94828
94829 2000-07-04  Jim Meyering  <meyering@lucent.com>
94830
94831         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
94832         of the deprecated AC_CHECKING.
94833
94834 2000-07-04  Jim Meyering  <meyering@lucent.com>
94835
94836         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
94837         Reported by Bruno Haible.
94838
94839 2000-07-04  Jim Meyering  <meyering@lucent.com>
94840
94841         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
94842         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
94843         lacks mbrtowc.
94844
94845 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94846
94847         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
94848         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
94849
94850 2000-07-03  Paul Eggert  <eggert@twinsun.com>
94851         and Bruno Haible  <haible@clisp.cons.org>
94852
94853         * lib/quotearg.c (mbrtowc):
94854         Assign to *pwc, and return 1 only if result is nonzero.
94855         (iswprint): Use ISPRINT when substituting our own mbrtowc.
94856
94857 2000-07-03  Jim Meyering  <meyering@lucent.com>
94858
94859         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
94860
94861 2000-07-03  Jim Meyering  <meyering@lucent.com>
94862
94863         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
94864         This is necessary to get a definition of e.g., UTMP_FILE on
94865         HP-UX 10.20.
94866         From Bob Proulx.
94867
94868 2000-07-02  Jim Meyering  <meyering@lucent.com>
94869
94870         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
94871
94872         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
94873         AC_LIBOBJ(function_name).
94874         * m4/chown.m4: Likewise.
94875         * m4/fnmatch.m4: Likewise.
94876         * m4/ftruncate.m4: Likewise.
94877         * m4/getgroups.m4: Likewise.
94878         * m4/getline.m4: Likewise.
94879         * m4/group-member.m4: Likewise.
94880         * m4/jm-macros.m4: Likewise.
94881         * m4/lstat.m4: Likewise.
94882         * m4/malloc.m4: Likewise.
94883         * m4/memcmp.m4: Likewise.
94884         * m4/nanosleep.m4: Likewise.
94885         * m4/putenv.m4: Likewise.
94886         * m4/realloc.m4: Likewise.
94887         * m4/regex.m4: Likewise.
94888         * m4/stat.m4: Likewise.
94889         * m4/strftime.m4: Likewise.
94890
94891 2000-07-02  Jim Meyering  <meyering@lucent.com>
94892
94893         * lib/quotearg.c (mbstate_t): Don't define here.
94894
94895 2000-07-02  Jim Meyering  <meyering@lucent.com>
94896
94897         * lib/nanosleep.c (SIGCONT): Define if not already defined.
94898
94899 2000-07-01  Jim Meyering  <meyering@lucent.com>
94900
94901         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
94902
94903 2000-07-01  Jim Meyering  <meyering@lucent.com>
94904
94905         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
94906         problem.
94907
94908 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94909
94910         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
94911         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
94912
94913 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
94914
94915         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
94916         per change in ../m4/ls-mntd-fs.m4.
94917         (read_filesystem_list): Ignore symbolic links.
94918
94919 2000-06-29  Jim Meyering  <meyering@lucent.com>
94920
94921         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
94922         for declaration of strcmp.
94923
94924         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
94925
94926         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
94927         Avoid warning by casting result to `char *' to remove `const'.
94928
94929 2000-06-28  Jim Meyering  <meyering@lucent.com>
94930
94931         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
94932         included by quotearg.c, for which we perform this test.  From
94933         Bruno Haible.
94934
94935 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94936
94937         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
94938         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
94939         <utmpx.h> exists, put readutmp.o into LIBOBJS.
94940
94941 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
94942
94943         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
94944
94945 2000-06-26  Paul Eggert  <eggert@twinsun.com>
94946
94947         savedir now sets errno on failure and invokes xmalloc to get memory.
94948         Fix a couple of other minor bugs while we're at it.
94949
94950         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
94951         (NAMLEN): Remove macro.
94952         (malloc, realloc): Remove decls.
94953         (stpcpy): Likewise.
94954         ("xalloc.h"): Include.
94955         (NAME_SIZE_DEFAULT): New macro.
94956         (savedir): Use xmalloc / xrealloc to allocate memory.
94957         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
94958         Skip "" directory entries.
94959         Use strlen to calculate directory entry length, since the old method
94960         is rarely used these days and isn't worth supporting.
94961         Don't use a pointer after freeing it.
94962         Check for integer overflow when calculating allocation size.
94963         Use memcpy to copy entries, instead of stpcpy.
94964         Set errno properly when returning NULL.
94965         Check for readdir error.
94966
94967 2000-06-26  Jim Meyering  <meyering@lucent.com>
94968
94969         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
94970
94971 2000-06-25  Jim Meyering  <meyering@lucent.com>
94972
94973         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
94974         Linux header bug when _XOPEN_SOURCE is defined to 500.
94975
94976 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94977
94978         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
94979         deficiency.
94980
94981 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
94982
94983         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
94984         Include xalloc.h.
94985         Don't include <stdlib.h>.  Don't declare malloc, realloc.
94986
94987 2000-06-24  Jim Meyering  <meyering@lucent.com>
94988
94989         * m4/strerror_r.m4: Revive this file -- to try out an experimental
94990         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
94991         for which strerror does return char*, but which lacks a conveniently
94992         accessible declaration of the function.  If the compile-test says
94993         strerror_r doesn't work, then resort to a `run'-test that works on
94994         BeOS and segfaults on DEC Unix.
94995
94996 2000-06-24  Jim Meyering  <meyering@lucent.com>
94997
94998         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
94999
95000 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95001
95002         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95003         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95004
95005 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95006
95007         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95008         (mbrtowc, mbstate_t): Define substitutes if
95009         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95010         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95011         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95012
95013 2000-06-23  Jim Meyering  <meyering@lucent.com>
95014
95015         * m4/afs.m4: Add missing AC_MSG_RESULT.
95016         Reported by Bruno Haible.
95017
95018         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95019         Suggestion from Bruno Haible.
95020
95021 2000-06-23  Jim Meyering  <meyering@lucent.com>
95022
95023         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95024
95025 2000-06-21  Jim Meyering  <meyering@lucent.com>
95026
95027         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95028
95029 2000-06-21  Jim Meyering  <meyering@lucent.com>
95030
95031         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95032         (noinst_HEADERS): Add getstr.h.
95033
95034         * lib/getline.c (getstr): Move into a separate file.
95035         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95036         the following changes: new parameter, delim2; both delim[12]
95037         parameters have type `int', not `char'.  The latter would lose
95038         with 8-bit delimiters.
95039         * lib/getstr.h: New file.
95040
95041 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95042
95043         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95044         than 1024, return a memory chunk of least possible size, instead
95045         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95046         Use free/xmalloc instead of xrealloc to avoid copying for very long
95047         paths.
95048
95049 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95050
95051         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95052         the empty string.
95053
95054 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95055
95056         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95057         address, not strdup.  Include <stdlib.h> and don't declare free().
95058
95059 2000-06-19  Jim Meyering  <meyering@lucent.com>
95060
95061         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95062
95063 2000-06-18  Jim Meyering  <meyering@lucent.com>
95064
95065         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95066
95067         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95068         `checking whether...' message to be consistent with that of the
95069         lstat test.
95070
95071 2000-06-18  Jim Meyering  <meyering@lucent.com>
95072
95073         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95074         Besides, these days every porting target provides a mkdir function.
95075
95076         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95077         needed. (this snippet comes from src/system.h).
95078
95079 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95080
95081         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95082
95083 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95084
95085         * lib/human.c (adjust_value): New function.
95086         (human_readable_inexact): Apply rounding style even when
95087         printing approximate values.
95088
95089 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95090
95091         * lib/human.c (human_readable_inexact): Allow an input block
95092         size that is not a multiple of the output block size, and vice versa.
95093         Reported by Piergiorgio Sartor.
95094
95095 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95096
95097         * lib/getdate.y (get_date): Apply relative times after time
95098         zone indicator, not before.  Reported by Todd A. Jacobs.
95099
95100 2000-06-13  Jim Meyering  <meyering@lucent.com>
95101
95102         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95103
95104         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95105
95106 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95107
95108         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95109
95110 2000-06-12  Jim Meyering  <meyering@lucent.com>
95111
95112         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95113         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95114         optional argument.
95115         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95116         the optional argument, `lib'.
95117
95118 2000-06-08  Jim Meyering  <meyering@lucent.com>
95119
95120         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95121
95122 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95123
95124         Rewrite largefile configuration so that we don't need to run
95125         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95126         AC_CANONICAL_HOST in configure.in -- jmm]
95127
95128         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95129         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95130         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95131         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95132         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95133         All uses changed.
95134         Instead of inspecting the output of getconf, try to compile the
95135         test program without and with the macro definition.
95136         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95137         for getconf.  Instead, check for the needed flags by compiling
95138         test programs.
95139
95140 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95141
95142         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95143
95144 2000-06-04  Jim Meyering  <meyering@lucent.com>
95145
95146         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95147         SunOS 4.1.4 for which gid_t is an unsigned type.
95148
95149 2000-06-03  Jim Meyering  <meyering@lucent.com>
95150
95151         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95152         now that autoconf requires that.
95153
95154         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95155         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95156         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95157
95158 2000-06-03  Jim Meyering  <meyering@lucent.com>
95159
95160         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95161
95162 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95163
95164         * m4/glibc21.m4: New file.
95165         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95166
95167 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95168
95169         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95170         newer, don't install charset.alias.
95171         * lib/config.charset: Change the Linux/glibc rules so they become empty
95172         on glibc-2.1 or newer.
95173
95174 2000-06-02  Jim Meyering  <meyering@lucent.com>
95175
95176         * lib/mountlist.c: Back out last change.  Instead, do this...
95177         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
95178         me_dummy member using the same `ignore'-testing code.
95179         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
95180         fs_type strings.
95181         From Mark D. Roth.
95182
95183 2000-05-29  Jim Meyering  <meyering@lucent.com>
95184
95185         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
95186         mounts with the `ignore' attribute.  Based on a patch from
95187         Mark D. Roth.
95188
95189 2000-05-28  Jim Meyering  <meyering@lucent.com>
95190
95191         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
95192         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95193         * m4/stat.m4: Likewise.
95194         * m4/lstat.m4: Likewise.
95195         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
95196
95197         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
95198         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
95199
95200 2000-05-26  Jim Meyering  <meyering@lucent.com>
95201
95202         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
95203
95204 2000-05-24  Jim Meyering  <meyering@lucent.com>
95205
95206         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
95207         autoconf requires that.
95208         * m4/lib-check.m4: Likewise.
95209         * m4/jm-macros.m4: Likewise.
95210         * m4/strftime.m4: Likewise.
95211
95212         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
95213         AC_CHECK_DECLS, now that autoconf requires that.
95214
95215 2000-05-22  Jim Meyering  <meyering@lucent.com>
95216
95217         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
95218         * m4/lstat.m4: Likewise.
95219
95220 2000-05-22  Jim Meyering  <meyering@lucent.com>
95221
95222         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
95223
95224 2000-05-20  Jim Meyering  <meyering@lucent.com>
95225
95226         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
95227         (jm_PREREQ): Use it.
95228
95229 2000-05-18  Jim Meyering  <meyering@lucent.com>
95230
95231         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
95232         back, too, since it may have been modified by allocate_entry.
95233         (hash_delete): Rewrite to use neither the assignment operator
95234         nor the comma operator in an if-expression.
95235
95236 2000-05-15  Paul Eggert  <eggert@twinsun.com>
95237
95238         * lib/closeout.c:
95239         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
95240         Remove; no longer needed.
95241         "quotearg.h": Add include.
95242         (file_name): Do not bother to explicitly initialize to NULL; it's less
95243         efficient on some hosts.
95244         (close_stdout_status): Remove test as to whether stdout was already
95245         closed; it breaks for the case "echo x | sort >&-".
95246         Quote file name colons.
95247         Do not assume that _("write error") lacks format strings.
95248
95249 2000-05-15  Jim Meyering  <meyering@lucent.com>
95250
95251         * lib/version-etc.c (version_etc_copyright): Update the copyright
95252         string used in all --version output.
95253
95254 2000-05-14  Jim Meyering  <meyering@lucent.com>
95255
95256         * lib/closeout.c (close_stdout_set_file_name): New function.
95257         (close_stdout_status): Use new file-scoped global.
95258         Return right away if fstat says the stdout file descriptor is invalid.
95259         * lib/closeout.h (close_stdout_set_file_name): Declare.
95260
95261 2000-05-10  Jim Meyering  <meyering@lucent.com>
95262
95263         * lib/closeout.c [default_exit_status]: New file-scoped variable.
95264         (close_stdout_set_status): New function.
95265         * lib/closeout.h (close_stdout_set_status): Declare.
95266
95267 2000-05-09  Jim Meyering  <meyering@lucent.com>
95268
95269         * m4/gettext.m4: Rename this...
95270         * m4/libintl.m4: ...to this.
95271
95272 2000-05-08  Jim Meyering  <meyering@lucent.com>
95273
95274         * lib/long-options.c: Don't include closeout.h.
95275         (parse_long_options): Don't call close_stdout for --version.
95276
95277 2000-05-06  Paul Eggert  <eggert@twinsun.com>
95278
95279         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
95280         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
95281         2.1.3 bug.  This avoids a clash when files like regex.c define
95282         _GNU_SOURCE.
95283
95284 2000-05-06  Jim Meyering  <meyering@lucent.com>
95285
95286         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
95287         (AC_REPLACE_FUNCS): Add strnlen.
95288
95289         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
95290         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
95291
95292         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
95293         AC_SEARCH_LIBS call for nanosleep.
95294         (LIB_NANOSLEEP): Set and AC_SUBST.
95295
95296 2000-05-06  Jim Meyering  <meyering@lucent.com>
95297
95298         * lib/strnlen.c: Undefine __strnlen and strnlen.
95299         [!weak_alias]: Define __strnlen to strnlen.
95300
95301         * lib/atexit.c: New file, from libiberty.
95302
95303 2000-05-06  Jim Meyering  <meyering@lucent.com>
95304
95305         * lib/closeout.c (close_stdout_status): Also check for errors on the
95306         stderr stream.
95307
95308 2000-05-05  Jim Meyering  <meyering@lucent.com>
95309
95310         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
95311         AC_SEARCH_LIBS call for clock_gettime.
95312         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
95313
95314         * m4/search-libs.m4: Update from autoconf.
95315
95316         su doesn't work on Solaris 2.6.
95317         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
95318         <shadow.h>.  Reported by Dragos Harabor.
95319
95320 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
95321
95322         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
95323         memcpy instead of xmalloc, xrealloc, path_concat.
95324         (locale_charset): Treat empty environment variables as absent.
95325         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
95326
95327 2000-05-04  Jim Meyering  <meyering@lucent.com>
95328
95329         * lib/getopt.c: Update from glibc.
95330         * lib/obstack.c: Likewise.
95331         * lib/obstack.h: Likewise.
95332         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
95333         file
95334
95335         * lib/regex.h: Likewise.
95336         * lib/strndup.c: Likewise.
95337         * lib/strnlen.c: New file, from glibc.
95338
95339 2000-05-03  Jim Meyering  <meyering@lucent.com>
95340
95341         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
95342
95343 2000-05-02  Paul Eggert  <eggert@twinsun.com>
95344
95345         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
95346         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
95347         compile-time test, rather than inspecting host and OS, to
95348         decide whether to define _LARGEFILE_SOURCE.
95349
95350 2000-05-01  Jim Meyering  <meyering@lucent.com>
95351
95352         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
95353
95354         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
95355         Based on a patch from Bruno Haible.
95356
95357 2000-05-01  Jim Meyering  <meyering@lucent.com>
95358
95359         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
95360
95361 2000-04-29  Jim Meyering  <meyering@lucent.com>
95362
95363         * lib/path-concat.c: Declare strdup only if it's not defined.
95364         * lib/canon-host.c: Likewise.
95365
95366 2000-04-28  Jim Meyering  <meyering@lucent.com>
95367
95368         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
95369         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
95370         is included first, then limits.h is included by locale.h by libintl.h.
95371         From John David Anglin.
95372
95373 2000-04-25  Jim Meyering  <meyering@lucent.com>
95374
95375         * lib/makepath.c (S_IRWXUGO): Define.
95376         (make_path): Always perform explicit chmod if MODE specifies any
95377         of the `special' permission bits.  Prompted by a bug report against
95378         install from Mate Wierdl and Joost van Baal.
95379
95380 2000-04-18  Jim Meyering  <meyering@lucent.com>
95381
95382         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
95383         (jm_PREREQ): Use it.
95384
95385 2000-04-18  Jim Meyering  <meyering@lucent.com>
95386
95387         * lib/README: New file.
95388
95389         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
95390         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
95391
95392 2000-04-17  Jim Meyering  <meyering@lucent.com>
95393
95394         Get it right :-)
95395         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
95396         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
95397         Suggestion from Akim Demaille.
95398
95399 2000-04-17  Jim Meyering  <meyering@lucent.com>
95400
95401         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
95402         the definition of it to rpl_strftime also defined-away the system's
95403         declaration.
95404
95405 2000-04-15  Jim Meyering  <meyering@lucent.com>
95406
95407         Use `C' to denote so-called `contiguous' files, the same way
95408         that tar does.
95409         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
95410         (ftypelet): Use S_ISCTG.
95411         From Michael Deutschmann.
95412
95413 2000-04-14  Jim Meyering  <meyering@lucent.com>
95414
95415         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
95416         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
95417         clobbered.
95418
95419 2000-04-14  Jim Meyering  <meyering@lucent.com>
95420
95421         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
95422
95423 2000-04-13  Jim Meyering  <meyering@lucent.com>
95424
95425         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
95426         AH_VERBATIM to insert required #ifndef into config.h.in.
95427         Suggestion from Akim Demaille.
95428
95429 2000-04-12  Jim Meyering  <meyering@lucent.com>
95430
95431         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
95432         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
95433         Christian Krackowizer.
95434
95435         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
95436         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
95437         (AC_SYS_LARGEFILE): Require.
95438         (AM_C_PROTOTYPES): Require.
95439
95440 2000-04-08  Jim Meyering  <meyering@lucent.com>
95441
95442         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
95443         names don't conflict.  Reported by Eli Zaretskii.
95444
95445 2000-04-07  Jim Meyering  <meyering@lucent.com>
95446
95447         * lib/putenv.c: Move inclusion of errno.h so it follows that of
95448         sys/types.h, to work around system header problems on AIX 3.2.5.
95449         From Bruno Haible.
95450
95451 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
95452
95453         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
95454         bug.  Deal with the different error behavior of Irix iconv.
95455
95456 2000-04-05  Paul Eggert  <eggert@twinsun.com>
95457
95458         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
95459         IRIX if the installer said otherwise.
95460
95461 2000-04-05  Jim Meyering  <meyering@lucent.com>
95462
95463         Portability tweaks required for ultrix4.3.
95464         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
95465         (jm_CHECK_DECLS): Add getutent to the list of functions.
95466         (_jm_DECL_HEADERS): Add utmpx.h.
95467         From John David Anglin.
95468
95469         * m4/strftime.m4: Back out the 2000-04-02 change.
95470         Instead of that change, simply undefine putenv in the test program.
95471
95472 2000-04-05  Jim Meyering  <meyering@lucent.com>
95473
95474         Portability tweaks required for ultrix4.3.
95475         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
95476         getutent.
95477         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
95478         * lib/canon-host.c: Declare strdup.
95479         * lib/path-concat.c: Likewise.
95480         From John David Anglin.
95481
95482 2000-04-04  Jim Meyering  <meyering@lucent.com>
95483
95484         Be more DOS 8.3-friendly.
95485         * lib/ref-add.sin: Renamed from ref-add.sed.in.
95486         * lib/ref-del.sin: Renamed from ref-del.sed.in.
95487         * lib/Makefile.am: Reflect renaming.
95488         Reported by Eli Zaretskii.
95489
95490         Use a temporary file name that won't clash with `charset.alias'
95491         in the DOS 8.3 name space.
95492         * lib/Makefile.am (charset_tmp): Define.
95493         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
95494         (uninstall-local): Likewise.
95495         Reported by Eli Zaretskii.
95496
95497 2000-04-03  Jim Meyering  <meyering@lucent.com>
95498
95499         * m4/gettext.m4: Fix typo in comment.
95500
95501         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
95502         textutils/configure.in).  Suggestion from Paul Eggert.
95503         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
95504
95505 2000-04-02  Paul Eggert  <eggert@twinsun.com>
95506
95507         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
95508         variable in the shell rather than using putenv, which isn't
95509         portable.  This avoids the configure-time inter-test dependency
95510         on the potentially-renamed putenv function.
95511
95512 2000-03-30  Paul Eggert  <eggert@twinsun.com>
95513
95514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
95515         before checking struct stat.st_blksize, so that
95516         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
95517
95518 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95519
95520         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
95521         since strftime.c uses HAVE_STRFTIME to decide whether to use
95522         the underlying strftime.
95523
95524 2000-03-29  Paul Eggert  <eggert@twinsun.com>
95525
95526         * lib/time/strftime.c (my_strftime): Make sure we call the system
95527         strftime, not ourselves, when invoking the underlying strftime.
95528
95529 2000-03-24  Jim Meyering  <meyering@lucent.com>
95530
95531         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
95532         (charset_alias): Define.
95533         (install-exec-local): Factor out common code.
95534         (uninstall-local): Split lines longer than 80.
95535         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
95536         (SUFFIXES): Define.
95537         (.sed.in.sed): New rule.  Don't redirect directly to $@.
95538         (CLEANFILES): Add ref-add.sed and ref-del.sed.
95539
95540 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
95541
95542         * lib/config.charset: Output a line containing "Packages using this
95543         file".
95544         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
95545         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
95546         ref-del.sed): New rules.
95547
95548 2000-03-17  Jim Meyering  <meyering@lucent.com>
95549
95550         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
95551         Otherwise, include <strings.h>
95552
95553 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
95554
95555         * lib/unicodeio.c (utf8_wctomb): New function.
95556         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
95557         format instead of in UCS-4 with platform dependent endianness.
95558
95559 2000-03-10  Jim Meyering  <meyering@lucent.com>
95560
95561         * m4/lib-check.m4: Look for getspnam in -lgen, too.
95562         From Marco Franzen.
95563
95564 2000-03-07  Paul Eggert  <eggert@twinsun.com>
95565
95566         * lib/savedir.c (savedir): Work even if directory size is
95567         negative; this can happen with some screwy NFS configurations.
95568
95569 2000-03-06  Jim Meyering  <meyering@lucent.com>
95570
95571         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
95572         if it's NULL (because we ran out of memory).  From Bruno Haible.
95573
95574 2000-03-05  Jim Meyering  <meyering@lucent.com>
95575
95576         * lib/localcharset.c ("path-concat.h"): Include.
95577         (get_charset_aliases): Use path_concat instead of ANSI string
95578         concatenation.
95579
95580         * lib/unicodeio.h (PARAMS): Define.
95581         Use it to guard prototype.
95582
95583 2000-03-04  Jim Meyering  <meyering@lucent.com>
95584
95585         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
95586         for lib/localcharset.c.
95587
95588 2000-03-04  Jim Meyering  <meyering@lucent.com>
95589
95590         * lib/Makefile.am (install-exec-local): Create $(libdir) before
95591         installing into it.
95592         (uninstall-local): Uncomment this rule so `make distcheck' works
95593         once again.
95594
95595         * lib/unicodeio.c (<errno.h>): Include it.
95596         (errno): Declare if not defined.
95597
95598         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
95599
95600         * lib/config.charset: New version, incorporating remarks from a linux
95601         i18n mailing list.  From Bruno Haible.
95602
95603 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
95604
95605         * m4/codeset.m4: New file.
95606         * m4/iconv.m4: New file.
95607         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
95608
95609 2000-03-03  Jim Meyering  <meyering@lucent.com>
95610
95611         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
95612
95613 2000-03-02  Jim Meyering  <meyering@lucent.com>
95614
95615         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
95616         the messages come out on separate lines.
95617
95618         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
95619         rather than jm_CHECK_DECLARATIONS.
95620         * m4/decl.m4: Remove now-unused file.
95621
95622         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
95623         geteuid.
95624
95625 2000-03-02  Jim Meyering  <meyering@lucent.com>
95626
95627         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
95628
95629 2000-03-01  Jim Meyering  <meyering@lucent.com>
95630
95631         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
95632         * lib/unicodeio.c: Likewise.
95633
95634 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
95635
95636         * lib/config.charset: New file.
95637         * lib/localcharset.c: New file.
95638         * lib/unicodeio.h, lib/unicodeio.c: New files.
95639         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
95640         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
95641         (noinst_HEADERS): Add unicodeio.h.
95642         (all-local, install-exec-local, charset.alias): New targets.
95643
95644 2000-02-28  Paul Eggert  <eggert@twinsun.com>
95645
95646         * lib/quotearg.c (ALERT_CHAR): New macro.
95647         (quotearg_buffer_restyled): Use it.
95648
95649 2000-02-27  Jim Meyering  <meyering@lucent.com>
95650
95651         * m4/check-decl.m4: Add getenv to the list.
95652
95653 2000-02-27  Jim Meyering  <meyering@lucent.com>
95654
95655         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
95656         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
95657
95658         * lib/backupfile.c: Guard inclusion of stdlib.h with
95659         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
95660         Declare malloc if needed.
95661
95662         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
95663         `#ifndef HAVE_DECL..'
95664         now that autoconf always defines the HAVE_DECL_ symbols.
95665         * lib/human.c: Likewise.
95666         * lib/same.c: Likewise.
95667         * lib/strtoumax.c: Likewise.
95668
95669         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
95670         declaration check was not run.
95671         * lib/hash.c: Likewise.
95672         * lib/human.c: Likewise.
95673         * lib/same.c: Likewise.
95674         * lib/strtoumax.c: Likewise.
95675
95676         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
95677         `.', then first look up the entire `.'-containing string as a login
95678         name.
95679
95680 2000-02-23  Jim Meyering  <meyering@lucent.com>
95681
95682         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
95683         in place of my hack.
95684
95685 2000-02-18  Paul Eggert  <eggert@twinsun.com>
95686
95687         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
95688         (textint): New typedef.
95689         (parser_control): Member year changed from int to textint.
95690         All uses changed.
95691         (YYSTYPE): Removed; replaced by %union with int and textint members.
95692         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
95693         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
95694         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
95695         (tSNUMBER, tUNUMBER): Now of type <textintval>.
95696         (date, number, to_year): Use width of number in digits, not its value,
95697         to determine whether it's a 2-digit year, or a 2-digit time.
95698         (yylex): Store number of digits of numeric tokens.
95699         Reported by John Kendall.
95700
95701         (parser_control): Changed from struct parser_control to typedef (for
95702         consistency).  All uses changed.
95703
95704         (tID): Removed; not used.
95705         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
95706
95707 2000-02-14  Paul Eggert  <eggert@twinsun.com>
95708
95709         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
95710         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
95711
95712 2000-02-12  Jim Meyering  <meyering@lucent.com>
95713
95714         * lib/userspec.c (ISDIGIT): Define it.
95715         (isdigit): Remove definition.
95716         (is_number): Use ISDIGIT, not isdigit.
95717         <libintl.h>: Include.
95718         (_ and N_): Define.
95719         (parse_user_spec): Mark translatable strings.
95720
95721 2000-02-10  Jim Meyering  <meyering@lucent.com>
95722
95723         With these changes, nanosleep.[ch] are finally enough like the other
95724         lib/* replacement files to compile on a few more losing systems.
95725
95726         * lib/nanosleep.h: Don't include config.h.
95727         Remove prototype from declaration of nanosleep.
95728         (PARAMS): Remove now-unneeded definition.
95729         * lib/nanosleep.c: #undef nanosleep.
95730         (rpl_nanosleep): Rename from nanosleep.
95731
95732 2000-02-10  Jim Meyering  <meyering@lucent.com>
95733
95734         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
95735         gnu_nanosleep to rpl_nanosleep.
95736
95737 2000-02-09  Jim Meyering  <meyering@lucent.com>
95738
95739         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
95740         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
95741
95742 2000-02-08  Akim Demaille  <akim@epita.fr>
95743
95744         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
95745         `[' and `]' and remove uses of `changequote'.
95746         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
95747         (AC_SYS_LARGEFILE): Likewise.
95748         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
95749         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
95750         of changequote.
95751         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
95752         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
95753         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
95754         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
95755
95756 2000-02-05  Jim Meyering  <meyering@lucent.com>
95757
95758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
95759         Remove explicit use of AC_HEADER_TIME.  It is required by
95760         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
95761         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
95762         in autoconf whereby the expansion of the latter ended up preceding
95763         the expansion of its prerequisite, AC_HEADER_TIME.
95764         Reported by Volker Borchert.
95765
95766 2000-02-03  Jim Meyering  <meyering@lucent.com>
95767
95768         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
95769
95770 2000-02-03  Jim Meyering  <meyering@lucent.com>
95771
95772         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
95773         rather than with `#if HAVE_UTMPNAME'.
95774
95775 2000-02-02  Jim Meyering  <meyering@lucent.com>
95776
95777         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
95778         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
95779         Reported by Eli Zaretskii.
95780
95781 2000-02-01  Jim Meyering  <meyering@lucent.com>
95782
95783         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
95784
95785 2000-01-31  Jim Meyering  <meyering@lucent.com>
95786
95787         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
95788         functions.  Add the time.h and sys/time.h headers along with the
95789         AC_REQUIRE'ment of AC_HEADER_TIME.
95790
95791 2000-01-31  Jim Meyering  <meyering@lucent.com>
95792
95793         * lib/nanosleep.h (nanosleep): Guard declaration with
95794         `#if ! HAVE_DECL_NANOSLEEP'.
95795         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
95796         the declaration in that vendor's sys/timers.h.
95797         Reported by Christian Krackowizer.
95798
95799         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
95800         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
95801         (ISPRINT): Likewise.
95802         Reported by Tom Tromey.
95803
95804 2000-01-30  Jim Meyering  <meyering@lucent.com>
95805
95806         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
95807
95808         * m4/prereq.m4 (utmp_includes): Define.
95809         Check for ut_user and ut_name members in both struct utmpx
95810         and struct utmp.
95811
95812 2000-01-30  Jim Meyering  <meyering@lucent.com>
95813
95814         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
95815         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
95816         header files where only utmpx.ut_user is declared.
95817
95818         * lib/readutmp.h (UT_USER): Define.
95819
95820 2000-01-29  Jim Meyering  <meyering@lucent.com>
95821
95822         * m4/lib-check.m4: New file containing library-related checks from
95823         fileutils and sh-utils (textutils had none).
95824
95825 2000-01-28  Jim Meyering  <meyering@lucent.com>
95826
95827         * m4/perl.m4: Change format of warning message to look more like that
95828         from the missing script.  Suggestion from François Pinard.
95829
95830 2000-01-25  Jim Meyering  <meyering@lucent.com>
95831
95832         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
95833         well as time.h in the compile check.
95834         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
95835         Fix typo in cross-compiling case: s/yes/no/.
95836
95837 2000-01-23  Jim Meyering  <meyering@lucent.com>
95838
95839         * m4/jm-macros.m4: Move df-related tests here from
95840         fileutils/configure.in
95841
95842         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
95843         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
95844
95845         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
95846         s/space/ac_fsusage_space/.
95847         (jm_FILE_SYSTEM_USAGE): Take two parameters.
95848
95849         * m4/ftruncate.m4: New file (derived from part of
95850         fileutils/configure.in).
95851         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
95852         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
95853
95854         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
95855         AC_SUBST these here, rather than just in sh-util/configure.in, so
95856         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
95857         all the same.
95858         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
95859         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
95860         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
95861         (AC_SUBST(POW_LIBM)): Likewise.
95862         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
95863
95864 2000-01-23  Jim Meyering  <meyering@lucent.com>
95865
95866         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
95867         obstack.c.
95868
95869 2000-01-22  Jim Meyering  <meyering@lucent.com>
95870
95871         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
95872
95873         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
95874
95875         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
95876         configure.in
95877         (AC_CHECK_HEADERS): Likewise for sh-utils.
95878         (AC_CHECK_HEADERS): Likewise for textutils.
95879         Merge the three lists of headers.
95880
95881         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
95882         from fileutils' configure.in.
95883
95884         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
95885         code. Moved tests into their own function (_jm_DECL_HEADERS) in
95886         check-decl.m4.
95887
95888         * m4/check-decl.m4: Use #if rather than #ifdef.
95889         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
95890         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
95891         (_jm_DECL_HEADERS): Define new function.
95892         (jm_CHECK_DECLARATIONS): Require it.
95893
95894 2000-01-22  Jim Meyering  <meyering@lucent.com>
95895
95896         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
95897         [! HAVE_DECL_STRTOULL]: Declare strtoull.
95898         Required for some AIX systems.  Reported by Christian Krackowizer.
95899         [TESTING] (main): New function.
95900
95901         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
95902         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
95903         letters.
95904
95905         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
95906         iswprint.
95907
95908         * lib/strverscmp.c (ISDIGIT): Define.
95909         (strverscmp): Use ISDIGIT, not isdigit.
95910
95911 2000-01-19  Jim Meyering  <meyering@lucent.com>
95912
95913         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
95914         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
95915         defines `struct timespec' in <sys/time.h>
95916
95917         * m4/c-bs-a.m4: Remove uses of changequote altogether.
95918         Thanks to Akim for explaining.
95919
95920 2000-01-17  Paul Eggert  <eggert@twinsun.com>
95921
95922         * lib/nanosleep.c (nanosleep):
95923         Don't use SA_INTERRUPT to decide whether to call sigaction, as
95924         POSIX.1 doesn't require SA_INTERRUPT and some systems
95925         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
95926         it's been part of POSIX.1 since day 1 (in 1988).
95927
95928 2000-01-17  Jim Meyering  <meyering@lucent.com>
95929
95930         * lib/interlock: Remove unused file.  Reported by François Pinard.
95931
95932 2000-01-16  Paul Eggert  <eggert@twinsun.com>
95933
95934         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
95935         alert, backslash, formfeed, and vertical tab unnecessarily in
95936         shell quoting style.
95937
95938 2000-01-16  Jim Meyering  <meyering@lucent.com>
95939
95940         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
95941         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
95942         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
95943         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
95944
95945 2000-01-16  Jim Meyering  <meyering@lucent.com>
95946
95947         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
95948         because the latter didn't work.
95949
95950 2000-01-15  Jim Meyering  <meyering@lucent.com>
95951
95952         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
95953         (AC_REPLACE_FUNCS): Add memcpy and memset.
95954         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
95955         Add strpbrk.
95956         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
95957
95958 2000-01-12  Jim Meyering  <meyering@lucent.com>
95959
95960         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
95961         (jm_PREREQ): Use it.
95962         (jm_PREREQ_READUTMP): New macro.
95963         (jm_PREREQ): Use it.
95964
95965 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95966
95967         Quote multibyte characters correctly.
95968         * m4/c-bs-a.m4: New file.
95969         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
95970         (jm_PREREQ): Use it.
95971
95972 2000-01-11  Paul Eggert  <eggert@twinsun.com>
95973
95974         * m4/uintmax_t.m4: Port to autoconf 2.13.
95975
95976 2000-01-08  Jim Meyering  <meyering@ascend.com>
95977
95978         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
95979         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
95980
95981 2000-01-04  Jim Meyering  <meyering@ascend.com>
95982
95983         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
95984         jm_STRUCT_DIRENT_D_TYPE.
95985         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
95986         jm_STRUCT_DIRENT_D_INO.
95987         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
95988         jm_STRUCT_UTIMBUF.
95989         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
95990         renamings.
95991         * m4/utime.m4: Likewise.
95992
95993         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
95994         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
95995
95996 2000-01-03  Paul Eggert  <eggert@twinsun.com>
95997
95998         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
95999         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96000
96001 2000-01-02  Jim Meyering  <meyering@ascend.com>
96002
96003         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96004         remember if this is necessary.
96005
96006 1999-12-26  Jim Meyering  <meyering@ascend.com>
96007
96008         * m4/jm-macros.m4: Use it here.
96009         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96010
96011 1999-12-23  Jim Meyering  <meyering@ascend.com>
96012
96013         * m4/jm-macros.m4: Check for clock_gettime (moved from
96014         fileutils/configure.in)
96015         Check for gettimeofday.
96016
96017 1999-12-20  Jim Meyering  <meyering@ascend.com>
96018
96019         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96020         autoconf-2.14a-1999-12-20.
96021
96022 1999-12-19  Jim Meyering  <meyering@ascend.com>
96023
96024         * m4/lstat-slash.m4: New file.
96025         * m4/jm-macros.m4: Use the new macro:
96026         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96027
96028 1999-12-07  Jim Meyering  <meyering@ascend.com>
96029
96030         * m4/perl.m4: Require that File::Compare be available, too.
96031         Too many systems seem to lack it.
96032
96033         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96034         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96035
96036 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96037
96038         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96039         problem with the QNX 4.25 shell, which doesn't propagate exit
96040         status of failed commands inside shell assignments.
96041
96042 1999-11-17  Jim Meyering  <meyering@ascend.com>
96043
96044         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96045
96046 1999-11-07  Jim Meyering  <meyering@ascend.com>
96047
96048         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96049
96050 1999-11-06  Jim Meyering  <meyering@ascend.com>
96051
96052         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96053         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96054
96055 1999-11-05  Jim Meyering  <meyering@ascend.com>
96056
96057         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96058         configure.in of textutils, fileutils, and sh-utils into this one
96059         (shared between those packages) file.
96060         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96061         AC_STRUCT_ST_BLKSIZE.
96062
96063 1999-11-03  Jim Meyering  <meyering@ascend.com>
96064
96065         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96066         of AC_CHECK_TYPE checks includes unistd.h.
96067         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96068         Suggestion from Akim Demaille.
96069
96070 1999-10-30  Jim Meyering  <meyering@ascend.com>
96071
96072         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96073         m4-quoted string.
96074         * m4/ls-mntd-fs.m4: Likewise.
96075         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96076         * m4/jm-winsz1.m4: Likewise.
96077
96078         * m4/const.m4: Remove file, since the fix made it into the experimental
96079         version of autoconf.
96080         * m4/mktime.m4: Likewise.
96081
96082         * m4/check-type.m4: Remove file, now that the latest version of
96083         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96084
96085         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96086         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96087         AC_CHECK_TYPE.
96088
96089 1999-10-04  Jim Meyering  <meyering@ascend.com>
96090
96091         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96092
96093 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96094
96095         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96096         2.95.1 bug with HP-UX 10.20.
96097
96098 1999-09-17  Jim Meyering  <meyering@ascend.com>
96099
96100         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96101         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96102         due to missing strdup (against sh-utils-2.0).
96103
96104 1999-08-29  Jim Meyering  <meyering@ascend.com>
96105
96106         * m4/jm-macros.m4: Require jm_BISON.
96107         * m4/bison.m4: New file.
96108
96109 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96110
96111         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96112         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96113
96114 1999-08-05  Jim Meyering  <meyering@ascend.com>
96115
96116         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96117         to avoid conflicts with `conftest' on 8+3 filesystems.
96118         Suggestion from Eli Zaretskii.
96119
96120 1999-08-04  Jim Meyering  <meyering@ascend.com>
96121
96122         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96123         fileutils and sh-utils (textutils's getline test was inadequate).
96124         (AM_FUNC_GETLINE): Run this test.
96125         (AC_CHECK_FUNCS): Check for getdelim.
96126         Reported by Bob Proulx.
96127
96128 1999-08-02  Jim Meyering  <meyering@ascend.com>
96129
96130         * m4/jm-macros.m4: Add a comment.
96131
96132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96133
96134         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96135         <inttypes.h> defines strtoumax as a macro (and not as a
96136         function).
96137
96138 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96139
96140         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96141         that we can shift, multiply and divide unsigned long long
96142         values; Ultrix cc can't do it.
96143
96144 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96145
96146         * m4/mktime.m4: New file, which is a preview of what should appear
96147         in the next public autoconf release.
96148
96149 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96150
96151         * m4/lfs.m4: Remove this file.
96152         * m4/largefile.m4: New file.  It contains the old contents of
96153         lfs.m4, except that all names with prefix AC_LFS have been
96154         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96155         compatible with future autoconf versions.  Also, some minor m4
96156         quoting problems have been fixed.
96157
96158 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96159
96160         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96161         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96162         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96163         and simplify the shell code.
96164
96165 1999-08-01  Jim Meyering  <meyering@ascend.com>
96166
96167         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96168         m4.
96169
96170 1999-07-20  Jim Meyering  <meyering@ascend.com>
96171
96172         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
96173
96174 1999-07-15  Jim Meyering  <meyering@ascend.com>
96175
96176         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
96177
96178 1999-05-22  Jim Meyering  <meyering@ascend.com>
96179
96180         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
96181
96182 1999-05-20  Jim Meyering  <meyering@ascend.com>
96183
96184         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
96185         Add a colon after each `then' in case $4 is empty.
96186
96187 1999-05-16  Jim Meyering  <meyering@ascend.com>
96188
96189         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
96190
96191 1999-05-10  Jim Meyering  <meyering@ascend.com>
96192
96193         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
96194
96195         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
96196         AC_FUNC_MKTIME.
96197
96198 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
96199
96200         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
96201
96202 1999-05-04  Paul Eggert  <eggert@twinsun.com>
96203
96204         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
96205         not CPPFLAGS, so that linking works correctly in IRIX.
96206
96207 1999-04-30  Paul Eggert  <eggert@twinsun.com>
96208
96209         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
96210
96211 1999-04-20  Paul Eggert  <eggert@twinsun.com>
96212
96213         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
96214         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
96215         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
96216         jm_AC_TYPE_UNSIGNED_LONG_LONG.
96217         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
96218
96219         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
96220
96221 1999-04-20  Jim Meyering  <meyering@ascend.com>
96222
96223         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
96224         AC_REPLACE xstroull if necessary.  From Paul Eggert.
96225         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
96226
96227 1999-04-18  Jim Meyering  <meyering@ascend.com>
96228
96229         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
96230         * m4/jm-macros.m4: Use it.
96231
96232 1999-04-06  Jim Meyering  <meyering@ascend.com>
96233
96234         * m4/strftime.m4: Remove test for %f.
96235
96236 1999-03-29  Jim Meyering  <meyering@ascend.com>
96237
96238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
96239         superset of the AC_TYPE_* checks in the textutils, fileutils,
96240         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
96241         AC_TYPE_PID_T.
96242
96243 1999-03-28  Jim Meyering  <meyering@ascend.com>
96244
96245         * m4/jm-macros.m4: Define GNU_PACKAGE here.
96246         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
96247         replaced e.g., in the *.sh files of the sh-utils.
96248
96249 1999-03-20  Jim Meyering  <meyering@ascend.com>
96250
96251         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
96252         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
96253         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
96254
96255 1999-03-19  Jim Meyering  <meyering@ascend.com>
96256
96257         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
96258
96259 1999-03-12  Jim Meyering  <meyering@ascend.com>
96260
96261         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
96262
96263 1999-03-07  Jim Meyering  <meyering@ascend.com>
96264
96265         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
96266         declared.
96267
96268 1999-02-17  Jim Meyering  <meyering@ascend.com>
96269
96270         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
96271         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
96272
96273 1999-02-07  Jim Meyering  <meyering@ascend.com>
96274
96275         * m4/group-member.m4: New file -- extracted from sh-utils'
96276         configure.in.
96277
96278         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
96279         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
96280
96281 1999-02-06  Jim Meyering  <meyering@ascend.com>
96282
96283         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
96284         * m4/fnmatch.m4: Likewise.
96285         * m4/getgroups.m4: Likewise.
96286         * m4/lstat.m4: Likewise.
96287         * m4/malloc.m4: Likewise.
96288         * m4/putenv.m4: Likewise.
96289         * m4/realloc.m4: Likewise.
96290         * m4/regex.m4: Likewise.
96291         * m4/stat.m4: Likewise.
96292         * m4/strftime.m4: Likewise.
96293         Suggestion from Alain Magloire.
96294
96295         * m4/chown.m4: Use `.$ac_objext', not `.o'.
96296         * m4/fnmatch.m4: Likewise.
96297         * m4/getgroups.m4: Likewise.
96298         * m4/getline.m4: Likewise.
96299         * m4/lstat.m4: Likewise.
96300         * m4/malloc.m4: Likewise.
96301         * m4/memcmp.m4: Likewise.
96302         * m4/putenv.m4: Likewise.
96303         * m4/realloc.m4: Likewise.
96304         * m4/regex.m4: Likewise.
96305         * m4/stat.m4: Likewise.
96306         * m4/strftime.m4: Likewise.
96307         Suggestion from Alain Magloire.
96308
96309         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
96310         an argument.
96311
96312         * m4/regex.m4: Add a run-time Test for proper operation of
96313         re_compile_pattern.
96314
96315 1999-01-31  Jim Meyering  <meyering@ascend.com>
96316
96317         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
96318
96319 1999-01-30  Jim Meyering  <meyering@ascend.com>
96320
96321         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
96322
96323         * m4/jm-mktime.m4: Make this a wrapper around the official
96324         AM_FUNC_MKTIME rather than my private copy, now that the official one
96325         is up to date.
96326         * m4/mktime.m4: Remove file.
96327
96328         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
96329         * m4/uptime.m4: Likewise.
96330         * m4/uintmax_t.m4: Likewise.
96331
96332 1999-01-28  Jim Meyering  <meyering@ascend.com>
96333
96334         * m4/jm-macros.m4: Use jm_AFS.
96335         * m4/afs.m4: New file (from fileutils' configure.in).
96336
96337         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
96338         * m4/chown.m4: Likewise.
96339         * m4/d-ino.m4: Likewise.
96340         * m4/d-type.m4: Likewise.
96341         * m4/fnmatch.m4: Likewise.
96342         * m4/getgroups.m4: Likewise.
96343         * m4/gettext.m4: Likewise.
96344         * m4/jm-mktime.m4: Likewise.
96345         * m4/jm-winsz2.m4: Likewise.
96346         * m4/lcmessage.m4: Likewise.
96347         * m4/ls-mntd-fs.m4: Likewise.
96348         * m4/malloc.m4: Likewise.
96349         * m4/memcmp.m4: Likewise.
96350         * m4/putenv.m4: Likewise.
96351         * m4/realloc.m4: Likewise.
96352         * m4/st_mtim.m4: Likewise.
96353         * m4/strftime.m4: Likewise.
96354
96355 1999-01-16  Jim Meyering  <meyering@ascend.com>
96356
96357         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
96358         (ARGMATCH_DIE_DECL): Define.
96359
96360 1999-01-12  Jim Meyering  <meyering@ascend.com>
96361
96362         * m4/Makefile.am.in: Rewrite to avoid using fmt.
96363         Reported by Lars Hecking.
96364
96365 1999-01-10  Jim Meyering  <meyering@ascend.com>
96366
96367         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
96368         gross kludge.
96369         * m4/inttypes_h.m4: Likewise.
96370         * m4/lstat.m4: Likewise.
96371         * m4/malloc.m4: Likewise.
96372         * m4/readdir.m4: Likewise.
96373         * m4/realloc.m4: Likewise.
96374         * m4/st_dm_mode.m4: Likewise.
96375         * m4/stat.m4: Likewise.
96376         * m4/utimbuf.m4: Likewise.
96377         * m4/utimes.m4: Likewise.
96378
96379         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
96380         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
96381         comments in config.h.in are meaningful.
96382
96383         * m4/jm-macros.m4: Require autoconf-2.13 here.
96384
96385         * m4/regex.m4: By default, don't use the included regex.c on systems
96386         with glibc 2.  Suggestion from Uli Drepper.
96387
96388 1999-01-02  Jim Meyering  <meyering@ascend.com>
96389
96390         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
96391
96392 1998-12-18  Jim Meyering  <meyering@ascend.com>
96393
96394         * m4/Makefile.am.in (Makefile.am): Simplify rule.
96395         Based on a suggestion from Lars Hecking.
96396
96397 1998-11-16  Paul Eggert  <eggert@twinsun.com>
96398
96399         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
96400
96401 1998-11-16  Jim Meyering  <meyering@ascend.com>
96402
96403         * m4/lfs.m4: Double-quote the `uname...` expression.
96404
96405 1998-11-14  Jim Meyering  <meyering@ascend.com>
96406
96407         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
96408         * m4/stat.m4: Likewise.
96409
96410 1998-11-03  Jim Meyering  <meyering@ascend.com>
96411
96412         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
96413         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
96414
96415 1998-10-18  Jim Meyering  <meyering@ascend.com>
96416
96417         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
96418
96419 1998-10-17  Jim Meyering  <meyering@ascend.com>
96420
96421         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
96422         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
96423         calls for those previously hard-coded headers.  Instead, take a new
96424         parameter.
96425         (jm_CHECK_DECLARATIONS): Reflect interface change.
96426         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
96427         (jm_CHECK_DECL_LOCALTIME_R): New macro.
96428
96429         * m4/mktime.m4: Test for spring-forward gap before long-running test.
96430
96431 1998-10-14  Jim Meyering  <meyering@ascend.com>
96432
96433         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
96434         instead of "TZ=America/Vancouver".  From Paul Eggert.
96435
96436 1998-10-11  Jim Meyering  <meyering@ascend.com>
96437
96438         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
96439         This adds a test for a recently added compatibility fix for mktime.c.
96440         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
96441
96442 1998-09-27  Jim Meyering  <meyering@ascend.com>
96443
96444         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
96445
96446         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
96447         ../configure.in, including a change from Gordon Matzigkeit to allow
96448         cross-compiling for the Hurd.
96449
96450         * m4/glibc.m4: New file/macro to test for the GNU C Library
96451         versions 1 and 2.  From Gordon Matzigkeit.
96452         Indent.
96453
96454 1998-09-21  Jim Meyering  <meyering@ascend.com>
96455
96456         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
96457
96458 1998-08-18  Paul Eggert  <eggert@twinsun.com>
96459
96460         Port nanosecond-resolution times to UnixWare 2.1.2 and
96461         pedantic Solaris 2.6.
96462
96463         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
96464         AC_STRUCT_ST_MTIM.
96465         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
96466         Generate name of ns member, instead of just 1 or undef.
96467         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
96468
96469 1998-08-15  Jim Meyering  <meyering@ascend.com>
96470
96471         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
96472         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
96473         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
96474         instead of jm_TYPE_SSIZE_T.
96475
96476 1998-08-12  Jim Meyering  <meyering@ascend.com>
96477
96478         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
96479
96480 1998-08-02  Jim Meyering  <meyering@ascend.com>
96481
96482         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
96483         in acconfig.h manually.
96484
96485 1998-07-31  Paul Eggert  <eggert@twinsun.com>
96486
96487         * m4/st_mtim.m4: New file.
96488
96489 1998-07-28  Jim Meyering  <meyering@ascend.com>
96490
96491         * m4/utimes.m4: Undef stat.
96492
96493 1998-07-25  Jim Meyering  <meyering@ascend.com>
96494
96495         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
96496         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
96497
96498 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
96499
96500         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
96501         uid and gid actually remain unchanged.
96502
96503 1998-07-07  Jim Meyering  <meyering@ascend.com>
96504
96505         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
96506
96507 1998-07-04  Jim Meyering  <meyering@ascend.com>
96508
96509         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
96510         to prove that this macro can be used in packages without regex.c.
96511
96512 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
96513
96514         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
96515         is to be used.
96516
96517 1998-07-03  Jim Meyering  <meyering@ascend.com>
96518
96519         * m4/gettext.m4: Add -lintl if it's found to be necessary.
96520
96521         * m4/gettext.m4: New file -- from gettext-0.10.35.
96522         * m4/lcmessage.m4: Likewise.
96523         * m4/progtest.m4: Likewise.
96524
96525         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
96526         * m4/jm-macros.m4: Require the new macro.
96527
96528 1998-06-29  Jim Meyering  <meyering@ascend.com>
96529
96530         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
96531         for the definition of NGROUPS (used in a system header included
96532         by sys/mount.h).
96533
96534 1998-06-28  Jim Meyering  <meyering@ascend.com>
96535
96536         * m4/ls-mntd-fs.m4: New file.
96537         * m4/fstypename.m4: New file.
96538
96539         * m4/jm-macros.m4: Require the new macro.
96540         * m4/jm-glibc-io.m4: New file.
96541
96542 1998-05-19  Jim Meyering  <meyering@ascend.com>
96543
96544         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
96545         * m4/lchown.m4: New file.
96546
96547         * m4/Makefile.am.in: New file.
96548         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
96549
96550 1998-05-14  Jim Meyering  <meyering@ascend.com>
96551
96552         * m4/Makefile.am (EXTRA_DIST): Add them.
96553         * m4/jm-macros.m4: New file.
96554         * m4/utimbuf.m4: New file.
96555
96556 1998-05-12  Jim Meyering  <meyering@ascend.com>
96557
96558         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
96559
96560 1998-05-11  Jim Meyering  <meyering@ascend.com>
96561
96562         * m4/isc-posix.m4: New file.
96563
96564 1998-05-10  Jim Meyering  <meyering@ascend.com>
96565
96566         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
96567
96568 1998-05-09  Jim Meyering  <meyering@ascend.com>
96569
96570         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
96571         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
96572         with automake.
96573
96574         * m4/ssize_t.m4: New file.
96575         * m4/mktime.m4: Remove file -- the new automake has this now.
96576
96577 1998-04-26  Jim Meyering  <meyering@ascend.com>
96578
96579         * m4/assert.m4: New file.
96580         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
96581
96582 1998-04-05  Jim Meyering  <meyering@ascend.com>
96583
96584         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
96585         (jm_PREREQ): Use it here.
96586
96587 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
96588
96589         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
96590         in acconfig.h.
96591
96592 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
96593
96594         * m4/prereq.m4: New file.
96595         * m4/error.m4: New file.
96596         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
96597
96598 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
96599
96600         * m4/getline.m4: Don't set am_cv_func_working_getline before the
96601         cache-check for the same variable -- that defeated the purpose of
96602         the test; the test program was never run.  This was a problem only
96603         on systems with losing getline functions -- HP-UX 10.20 is one.
96604         Reported by Bjorn Helgaas.
96605
96606 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
96607
96608         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
96609
96610 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
96611
96612         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
96613
96614         * m4/const.m4: New file.  Use an initializer in this declaration
96615         typedef int charset[2]; const charset x;
96616         Reported by Bob Glickstein.
96617
96618 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
96619
96620         * m4/chown.m4: Fix reversed types on -1 args to chown.
96621         From Kaveh Ghazi.
96622
96623 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
96624
96625         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
96626         Add lseek and memchr.
96627
96628         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
96629         T.E.Dickey <dickey@clark.net> said that some older preprocessors
96630         have a 20-character limit on names.
96631
96632 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
96633
96634         * m4/inttypes_h.m4: New file.
96635         * m4/uintmax_t.m4: New file.
96636         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
96637
96638
96639         -----
96640
96641         Local Variables:
96642         coding: utf-8
96643         End:
96644
96645         Copyright (C) 1997-2012 Free Software Foundation, Inc.
96646
96647         Copying and distribution of this file, with or without
96648         modification, are permitted provided the copyright notice
96649         and this notice are preserved.